A2A-SE Specification
Version: v0.8.1
Extension URI: https://a2a-settlement.org/extensions/settlement/v1
The A2A Settlement Extension (A2A-SE) adds escrow-based token settlement to the A2A task lifecycle. It is designed as a native A2A Extension per Section 4.6 of the A2A specification — zero modifications to A2A core.
Design Principles
- Non-invasive — Uses A2A's Extension, metadata, and AgentCard mechanisms
- Optional — Agents that don't support settlement ignore it
- Lifecycle-aligned — Settlement states map to A2A TaskState transitions
- Exchange as interface — Any conforming implementation (hosted, self-hosted, on-chain) is valid
- Currency-agnostic — Abstract token model; exchanges choose supported currencies
- Multi-exchange — Agents may register on multiple exchanges
Key Sections
The full normative spec lives in the a2a-settlement repo as SPEC.md. It covers:
- AgentCard Integration — Extension declaration, skill-level pricing
- Task Lifecycle — Settlement flow mapped to TaskStates
- Exchange API — REST endpoints (escrow, release, refund, etc.)
- Token Model — ATE, alternative currencies, deposits
- Security — Threat model, authentication, transport
Quick Reference: Settlement States
| A2A TaskState | Settlement Action |
|---|---|
| SUBMITTED | Client creates escrow |
| WORKING / INPUT_REQUIRED | Escrow holds |
| COMPLETED | Client releases escrow |
| FAILED / CANCELED / REJECTED | Client refunds escrow |
Integration Effort
- AgentCard changes: ~15 lines of JSON
- Client escrow logic: ~50 lines (3 API calls)
- Provider verification: ~20 lines (1 API call)
Total: under 100 lines for either side.