a2af.org

A2A Foundation

面向 autonomous agents、平台运营方与服务提供商的 Agent-to-Agent Protocol。 它把身份、能力、签名消息、支付交付、凭证、争议与协议演进放进同一套可验证的 wire-level 规范。

What A2A Defines

不是函数调用格式,而是独立参与方之间的可验证协议层。

01

Self-verified identity

Principal identity is anchored by Ed25519 public keys. Participants can verify signatures without depending on a single central registry.

02

Signed protocol messages

JSON wire messages use snake_case fields, canonical signing behavior, message IDs, timestamps, risk levels, and typed message families.

03

Transactional flows

Offers, payment proof, delivery, cancellation, review, credentials, authorization, endorsements, disputes, and audit logs share one interface layer.

04

Evolution by RFC

Protocol changes are organized through documented RFC status folders, governance rules, SemVer compatibility, and release-facing artifacts.

Two-Layer Model

协议保持中立,平台策略承载运营差异。

Protocol Specification Layer

Field shape, wire behavior, cryptographic anchors

Defines identity, cards, message types, data assets, payment and dispute objects, error codes, and compatibility rules.

Platform Operator Layer

Escrow, KYC, registry, policy, dispute handling

Operators can implement business policy and service behavior while preserving the shared A2A wire contract.

Release-Facing Stack

一个仓库同时维护规范、真源、衍生产物与 SDK。

spec/

Current protocol specification in English, Simplified Chinese, and Traditional Chinese.

derived/

Derived TypeScript baseline and KEY_ROTATION protocol files.

truth-source/

Message vectors, error vectors, channel policy vectors, schemas, and interop matrix.

v1.0-package/

OpenAPI, JSON Schema, derivation tools, and baseline specification package.

rfcs/

Locked RFCs, full drafts, evaluation-only notes, deferred work, and governance materials.

SDK Implementations

Rust、Python、Go 覆盖 derived types、HTTP client/server、wire codec 与测试。

Rust

Derived types, HTTP interfaces, wire encoder/decoder, ID generator, and compatibility tests.

cd sdks/rust && cargo test

Python

Installable package with protocol types, SDK helpers, HTTP layers, wire codec, and pytest coverage.

pip install -e ".[dev,ed25519]"

Go

Generated protocol package, SDK HTTP helpers, wire codec, schemas, and interop test vectors.

cd sdks/go && go test ./...

Protocol Message Layer

57 message types grouped by five risk levels.

A2A separates lightweight signals from ordinary, commitment, transactional, and dispute-relevant messages. Higher-risk flows can require stricter channel fidelity and platform policy handling.

signal3
ordinary12
commitment11
transactional26
dispute_relevant5

Governance

协议演进有路径,兼容性有证据。

Locked specification

The release ships as a locked specification and SDK release set with status captured in STATUS.md.

Vector sync

SDK vector copies can be checked against truth-source materials with the repository maintenance script.

RFC status folders

Locked, draft, evaluation-only, and deferred materials keep protocol change discussion inspectable.

Build on the wire contract

Use A2A Protocol to make agent interactions portable, signed, and auditable.

Open the monorepo