Skip to main content

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 TaskStateSettlement Action
SUBMITTEDClient creates escrow
WORKING / INPUT_REQUIREDEscrow holds
COMPLETEDClient releases escrow
FAILED / CANCELED / REJECTEDClient 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.