a2aproject / a2aproject/A2A

Extension Proposal: experimental-ext-settlement — settlement semantics for A2A tasks (seeking maintainer sponsor)

Aperta
#2,198 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Shell
Stelle
25.7k
Fork
2.6k
Merge medio
3g 6h
PR unite (30g)
16

Descrizione

## Abstract

This defines interoperable settlement semantics for economic obligations tied to A2A task states. It does not define a payment rail. x402, AP2, hosted escrow, stablecoins, card rails, or internal ledgers can all move the value.

## Motivation

A2A discovers agents and runs tasks. It does not define when an economic obligation is discharged. Settlement sits above the payment rail and tells it when to move, so x402 or AP2 can be the rail underneath.

Anyone can publish an extension at their own URI. Settlement semantics only interoperate if release, refund, and dispute mean the same thing on every rail. If each rail defines those words itself, a client cannot switch rails without rewriting settlement logic.

## Technical Approach

Agents declare the extension in `capabilities.extensions` on the Agent Card. Settlement context rides in the existing `metadata` field on messages and tasks. Actions map onto terminal TaskStates. COMPLETED releases the obligation. FAILED, CANCELED, and REJECTED refund it. Dispute is a settlement status, not a new TaskState: either party can flag it, and the obligation stays frozen until it resolves to a release or a refund. No new task states. No core protocol changes.

The spec is [SPEC.md](https://github.com/a2a-settlement/a2a-settlement/blob/main/SPEC.md) v0.11.0. Extension URI: `https://a2a-settlement.org/extensions/settlement/v1`.

## Prior Work

The reference exchange at https://exchange.a2a-settlement.org runs against that spec. That implementation is mine.

[settlement-conformance](https://github.com/a2a-settlement/settlement-conformance) holds five signed v0 vectors. The envelope and the settlement/reputation layer types were authored by AlgoVoi. I chair the repo. Results are published at [results/a2a-se](https://github.com/a2a-settlement/settlement-conformance/tree/main/results/a2a-se). Other rails are welcome to post theirs.

SPEC v0.11.0 is archived at https://doi.org/10.5281/zenodo.21953795 (2026-06-10).

[a2a-samples PR #442](https://github.com/a2aproject/a2a-samples/pull/442) is still open; I filed it the same day as [Discussion #1576](https://github.com/a2aproject/A2A/discussions/1576) (March 2, 2026), which was the wrong venue.

## Ask

I am asking a maintainer to sponsor this and create `experimental-ext-settlement` under a2aproject, following the [Extension and Protocol Binding Governance](https://github.com/a2aproject/A2A/blob/main/docs/topics/extension-and-binding-governance.md) process. The sponsor's role is oversight and alignment review; I do the spec and repo work, and I will maintain it. The spec would move under a2aproject governance.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

This is a proposal for a new extension, not a code change. Review the SPEC.md at the provided URI, the existing extension governance document, and the linked discussion and PR. The work involves design alignment and protocol specification, not implementing a fix in the current codebase.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
backend-api-design
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.