Documentation

AEA/P Protocol Docs

The Autonomous Economic Agent Protocol defines the governance layer for AI agents operating as accountable economic entities — identity, proof of performance (PoP), liability escrow, dispute resolution, and governance in one open specification.

The problem AEA/P solves

AI agents are becoming autonomous economic actors. They execute transactions, commit resources, and interact with other agents at machine speed — without the oversight structures that govern human commerce. The existing infrastructure handles this incompletely.

Without AEA/P versus with AEA/P — agent transaction comparison
Without AEA/P vs. with AEA/P — the same transaction, two outcomes

Communication protocols like MCP and A2A define how agents connect. Payment protocols like x402, MPP, and AP2 enable agents to transact. Identity standards like ERC-8004 provide on-chain discovery. None of these answer what happens when something goes wrong.

Without AEA/P — today's default

An enterprise deploys a Consumer agent to purchase data enrichment from third-party Provider agents. The Consumer selects a provider based on price, transfers 500 USDC on-chain, and receives a malformed response. The provider is unresponsive. 48 hours later the enterprise's principal discovers the problem.

No way to verify the Provider held any liability coverage before the transaction
No reputation signal that would have surfaced prior failures
No dispute mechanism without legal counsel across multiple jurisdictions
No record of agreed service terms in any auditable system
With AEA/P
Before paying, the Consumer verified the Provider's identity, escrow state, and PoP rating — all offline, in milliseconds
The Provider's liability escrow was ACTIVE — funded automatically from its transaction history
The Consumer files a dispute; the protocol automatically constrains the Provider from accepting new transactions
An incentivized arbitration board resolves the dispute in days. Escrow is disbursed per outcome

The governance lifecycle

The five AEA/P components are not parallel options — they activate in sequence as an agent's economic participation deepens. Identity comes first: an agent cannot transact without a verified AID. Performance accumulates once transactions begin. Escrow builds from transaction revenue. Disputes become relevant when something goes wrong. Entity Governance is the constitutional layer for ENTERPRISE agents with complex operations and multiple principals. An agent does not need to reach Stage 5 to benefit from AEA/P — each stage adds a layer of accountability that functions independently.

AEA/P Governance Lifecycle — five activation stages
AEA/P Governance Lifecycle — five activation stages

The reinforcement loop

Once active, the components reinforce each other. A high Agent Rating lowers the escrow threshold — reducing the capital a Provider must hold in reserve and freeing operational revenue. Clean dispute history protects the rating. Strong identity verification makes that rating trustworthy. The loop rewards consistent performance and makes defection costly over time.

AEA/P Governance Reinforcement Loop
AEA/P Governance Reinforcement Loop

What AEA/P defines

AEA/P is a governance protocol, not a payment protocol. It specifies the accountability layer that sits above communication, payments, and identity infrastructure. The five pillars are complementary — each reinforces the others.

01
Agent Identity
Verifiable economic identity with delegation chains, certification tiers, and principal accountability.
02
Proof of Performance
Automated proof of performance (PoP) — reputation built from verifiable task outcomes, not subjective reviews.
03
Liability Escrow
Automatic reserves from transaction revenue. Publicly verifiable. Agent suspended when coverage is exceeded.
04
Dispute Resolution
Structured arbitration with incentivized reviewers, escalation tiers, and automatic enforcement from escrow.
05
Entity Governance
Ownership, voting, lifecycle controls for autonomous entities with multiple principals.

Conformance levels

Not every agent needs the full protocol stack. AEA/P defines three conformance levels — how deeply an implementation engages depends on the agent's economic role. A CONSUMER agent at Level 1 needs only verified identity. A PROVIDER agent at Level 2 adds liability escrow and dispute resolution. An ENTERPRISE agent at Level 3 adds entity governance.

AEA/P Conformance Levels — three levels mapped to economic roles
AEA/P Conformance Levels — Level 1 (Identified), Level 2 (Accountable), Level 3 (Governed)

Where to start

INTEGRATE
Integration by participant
Focused guides for each participant — Consumer Agent, Provider Agent, Platform, Operator, and Verifier.
START
Quickstart
Register an agent and run one governed transaction end to end against an Operator.
FRAMEWORK
Protocol Framework
Architecture, lifecycle, and component interactions. Designed for evaluators and standards bodies.
SPEC
Extended Specification
Full protocol specification — schemas, field-level definitions, and operational scenarios.
CHANGELOG
What's New
Version history from v0.1 through current.

Status: Framework and Extended Specification published. NIST CAISI RFI submitted.

Getting Started

Quickstart

The fastest path from zero to a working integration. Pick the role you're building — each path is condensed here and links into its full role guide.

The hosted sandbox and issued credentials arrive with the reference Operator. The steps below describe the flow; live keys and a runnable walkthrough land alongside the Operator rollout.

Pick your role

Choose what you're building. The fastest path differs by role — these aren't four equal-weight quickstarts.

You integrate through a Platform — you don't implement the protocol yourself. The fastest path to a working agent:

  1. Pick a Platform and the market you'll transact in — network, currency, and method.
  2. Register your agent through that Platform. You receive a certificate and your declared spend scope (authorized_actions, spending_limit).
  3. Get sandbox credentials from your Platform, and skim Integration concepts for auth and headers.
  4. Run one transaction end to end — discover, authenticate, settle on-chain, facilitate, deliver, confirm. Clone the reference agents below to see every call.

→ Full path: Builder guide

You're the onboarding front door and runtime host — a primary implementer. To stand up a Platform:

  1. Connect to an Operator — register your platform and obtain client credentials (OAuth 2.0 over mTLS).
  2. Build onboarding: run KYC / KYB through a Verifier, then register each agent with the Operator to issue its certificate.
  3. Implement discovery and routing between agents, and enforce each consumer's spend policy at egress, before funds move.
  4. Wire the 402 negotiation path. Stay out of the funds path and the service payload — you mediate the control plane only.

→ Full path: Platform guide

You're the accountable system of record — the heaviest lift, owning four of the five pillars. To stand up an Operator:

  1. Get listed in the Trust Registry as a conformant issuer, and issue agent certificates.
  2. Deploy and register the on-chain Settlement Contract; provision per-provider escrow.
  3. Implement the core endpoints — challenge nonces, payment-address and intents, and facilitate (verify the consumer, read the Settled event, credit escrow, open the task).
  4. Run performance scoring and disputes, and expose the pull-based reporting endpoint.

→ Full path: Operator guide · Conformance

A narrow role — onboarding diligence only. To stand up a Verifier:

  1. Get listed in the Trust Registry as a conformant issuer.
  2. Implement attestation issuance — KYC for consumers, KYB for providers — returning a Verification Attestation.
  3. Onboarding diligence only; transaction-time AML is the Operator's job.

→ Full path: Verifier guide

Reference implementations

Two runnable reference agents demonstrate both sides of a transaction:

  • github.com/aeap-labs/aeap-reference-provider — a Provider Agent (non-merchant, settles on-chain).
  • github.com/aeap-labs/aeap-reference-consumer — a Consumer Agent (discovers, pays, confirms).

Full wire contracts for every endpoint live in the API Reference, which links out to the live API of a running Operator. The role guides point into the slice each role needs.

Protocol

Protocol Framework

The Framework Edition defines the architecture, governance lifecycle, and component interactions of AEA/P. Intended for decision-makers, standards bodies, and technical leaders evaluating the protocol's design and applicability.

What the Framework covers

For each of the five protocol components, the Framework presents the governance lifecycle and state transitions — the what and why, without the implementation detail of the Extended Specification.

  • Economic roles: CONSUMER, PROVIDER, ENTERPRISE
  • Conformance levels 1–3 and role transitions
  • Agent Identity lifecycle (AID states: DRAFT → ACTIVE → REVOKED)
  • PoP rating lifecycle (Unrated → Provisional → Rated → Decayed)
  • Liability Escrow lifecycle (FUNDING → ACTIVE → DISPUTE_HOLD → CONSTRAINED → RELEASED)
  • Dispute lifecycle (initiation through enforcement)
  • Entity Governance lifecycle (creation through termination)
  • Operational scenarios and security threat model

Download

Web-rendered version of the Framework is coming. The full content will be available here as structured pages with diagrams and inline navigation.

Relationship to the Extended Specification

The Framework and the Extended Specification cover the same protocol. The Framework is the public-facing summary — every section ends where detailed implementation guidance begins. The Extended Specification continues from those cut-off points with schemas, algorithms, formulas, and integration patterns.

Changes applied to the Extended Specification are reflected in the Framework in the same version increment. The two documents are mechanically derived from the same source.

Protocol

Extended Specification

The Extended Specification is the complete implementation guide for AEA/P. It provides detailed data schemas, field-level definitions, calculation algorithms, and integration patterns required to build a conformant implementation.

What the Specification adds

Beyond the Framework, the Specification provides:

  • §5 Agent Identity: Full AID schema, PrincipalRef structure, delegation chain rules, counterparty verification flows, verification attestation format
  • §6 Proof of Performance: Provider and Consumer signal tables with weights, AR formula with time decay, performance record structure, manipulation resistance mechanisms
  • §7 Liability Escrow: Escrow account structure, threshold calculation (dispute window, coverage period, AR modifier), funding mechanism, transparency fields
  • §8 Dispute Resolution: Dispute initiation fields, triage rules, dispute pool listing, bounty economics, arbitration board formation, voting protocol, escalation, enforcement
  • §9 Entity Governance: Governance document structure, ownership registry, token types, ownership transfer, voting and decision-making, privilege management

Download

Full web-rendered specification with inline diagrams, searchable content, and cross-references is planned for v0.3.

Specifications

Conformance & Certification

AEA/P defines three conformance levels mapped to economic roles. AEA/P Certified attests that an implementation meets the protocol's MUST requirements for the role it claims.

Conformance levels

LevelAddsFor
1 · IdentifiedVerifiable identity — a resolvable certificate and status.All agents
2 · AccountableIdentity + escrow, settlement verification, and PoP.Paying / settling agents
3 · GovernedAccountability + entity governance — ownership, voting, lifecycle.Multi-principal entities

Per-participant requirements

Each role has a defined set of MUST / SHOULD / MAY requirements — the endpoints it must implement, the checks it must perform, and the invariants it must uphold. The role guides summarize these; the normative checklist is enumerated here.

The full per-participant conformance checklist and the AEA/P Certified process are being finalized for v0.3. The level definitions above are stable.

AEA/P Certified

An implementation that meets the MUST requirements for its role and level may be listed as AEA/P Certified. Certification is per role and per level — a conformant Operator, Platform, or Agent each certifies against its own requirement set.

Conformant products and integrations place the AEA/P Certified mark on their own surfaces to attest implementation of the five pillars. Certification is a property of the protocol, so the badge carries the AEA/P mark — not a product mark — and the green check is the only third color, carrying the same "verified" semantic a padlock does in a browser bar.

AEA/PCertified
For light host surfaces
AEA/PCertified
For dark host surfaces

Trust Registry inclusion

To issue certificates or attestations that other participants will trust, an Operator or Verifier must be listed in the Trust Registry. Inclusion is the operational outcome of certification: an operator certifies as a conformant issuer at the relevant level and is then listed, so its iss resolves for counterparties. Listing and delisting are governed — a delisted issuer's certificates stop being trusted at the next verification, which lets the protocol withdraw trust without coordinating every relying party.

The formal inclusion application, the issuer requirements (operational, security, and governance), and the registry's own governance model are being finalized for v0.3.

Protocol

Changelog

Version history for the AEA/P Protocol Framework and Extended Specification.

v0.2.2 June 2026 Current
  • Introduced the Operator, Platform, and Trust Registry as distinct roles that MAY be operated by the same entity — identity portability, not entity separation, is the requirement (§1.1, §2.1)
  • The Operator (formerly "Trust Provider") scoped to the economic-accountability mechanisms bound to the identities it issues — Proof of Performance, Liability Escrow, and Dispute Resolution — alongside identity issuance, with KYC / KYB delegated to a Verifier
  • Verifier verification tiered by certification tier — payment-instrument verification (e.g. card pre-authorization) permitted at CONSUMER tier
  • Added the accepted_issuers scope dimension (§5.3.2.3) and Trust Registry issuer-recognition resolution (§5.6.3), tied to the per-agent accepted_issuers policy
  • Added the untrusted_issuer rejection code (§5.6.6)
  • Renamed authentication headers from X-AEAP-* to AEAP-* — dropped the deprecated X- prefix per RFC 6648; the AEAP- namespace is retained
v0.2.1 May 2026
  • Added §5.6 — a normative cross-implementation wire surface: the aeap DID method, the certificate JWT format and aeap.* claim set, CA key discovery at {iss}/.well-known/aeap-ca-jwks, the AEAP-* mutual-authentication headers, standardized status-resolution fields, and the aeap_verification_failed rejection-code set
  • Established that identifiers crossing an implementation boundary use the aeap namespace, while implementation-internal identifiers (credential branding, management authentication, contract names, domains) remain implementation-defined
v0.2.0 May 2026
  • Added Escrow → PoP build-time dependency to component interactions (§3.4) — PoP cannot produce rating data before the Escrow settlement mechanism is live
  • Generalized payment protocol narrative (§1.4, §3.3) — AEA/P may be implemented above existing protocols (x402, MPP, AP2) or alongside a native settlement implementation; no specific underlying protocol is required
  • Dispute definition updated: filing restricted to the Consumer (payer) — consistent with payment network chargeback model
  • Arbitration Board definition updated: board sizes specified as exactly 3 / 5 / 7 arbitrators per hearing round
  • §2.2 Scope term generalized — now describes the concept (bounds of an agent’s economic activity) rather than enumerating fields
  • §2.2 Delegation Chain term updated to chain-invariant phrasing — replaces the v0.1.5 "authority can only narrow" wording, which conflated cross-link and cross-time semantics
  • minimum_counterparty_cert_tier terminology corrected (certificate tier of the counterparty agent, not verification tier of its principal); tier-value enumeration removed in favor of implementation-defined ordering
  • §5.3 AID schema reorganized into five pillar objects (identity, performance, escrow, disputes, governance) matching the AEA/P protocol components — role-conditional content is now structurally explicit: ENTERPRISE populates all five, PROVIDER populates identity / performance / escrow / disputes, CONSUMER populates identity and performance only
  • New description field — human-readable description of the service or functionality the agent provides; complements display_name (short identifier), capabilities (structured tags), and objective (machine-readable directive)
  • New endpoint_url field — network endpoint for counterparty discovery
  • New certificate sub-object — holds cert_tier and the verification_attestation reference (relocated from PrincipalRef, reflecting that the attestation is the compliance backing of the agent’s certificate, not a standalone property of the principal)
  • Root version renamed to aid_version; new scope.version mutation counter introduced — increments on every signed scope mutation, lets counterparties detect changes between commitments
  • liability_profile field expanded: escrow_state, total_balance, and effective_threshold now required as publicly readable fields
  • authorized_markets clarified as a compliance/jurisdiction declaration, not a payment method configuration
  • §5 chapter intro rewritten — replaces the v0.1.5 "monotonically decreasing scope" language with explicit chain-invariant phrasing (each link’s scope a subset of the parent’s)
  • Invariant split: the cross-link chain invariant (each link’s scope MUST be a subset of or equal to the preceding link’s — always true) is now separated from the per-AID mutability rules over time (per-dimension: append-only for authorized_actions, bidirectional for most others, with certificate-tier gating for raising max_transaction_value or spending_limit)
  • Replaces v0.1.5’s "asymmetric narrowing" rule, which conflated the chain invariant with cross-time mutation
  • Cascading narrowing clarified: narrowing a parent’s scope cascades to sub-agents at the next scope.version; widening does not cascade
  • Certificate renewal clarified as orthogonal to scope mutation — renewal does not increment scope.version
  • Added platform-sourced-only principle: task records must be created at payment settlement; principals cannot submit or modify records
  • Added Sybil rule: same-principal transactions execute and credit escrow but generate no PoP task record
  • Payment timeliness signal expanded to include Consumer payment abandonment (payment committed but not settled)
  • Confirmation auto-timeout: tasks auto-confirm at score 1.0 after the confirmation window expires, preventing rating suppression
  • Added non-custodial settlement principle: implementations must not hold funds in transit; atomic routing required
  • Added funding rate control principle: funding_rate must be under implementation control; providers cannot modify their own rate
  • Balance field clarified: aggregate across all networks per currency; threshold evaluation uses aggregate
  • Added track record → threshold reduction principle: sustained dispute-free performance may progressively reduce the effective threshold
  • CONSTRAINED state clarified: dispute obligations (evidence submission, arbitrator responses) remain accessible during suspension
  • Consumer-only filing: only the Consumer (payer) may initiate a dispute; Provider-initiated disputes are out of scope for this version
  • TRIAGE formalized as a named lifecycle stage with explicit CONSTRAINED trigger condition
  • Board size specified: exactly 3 arbitrators for first hearing, +2 per escalation round, maximum 3 hearings
  • Bounty calculation structure added: clamp(disputed_amount × bounty_rate, bounty_min, bounty_max)
  • Evidence window extension: board may grant one extension when submitted evidence is insufficient
v0.1.5 May 2026
  • §2.2: added the Scope term; Authorized Actions refocused on payment-bearing commitments (purchase, sell, delegatehire and contract removed); Delegation Chain term extended to in-place (cross-time) narrowing
  • §9 PrivilegeSet permitted_operations: hire and contract removed
  • §12 Future Work: roadmap items added (additional payment action types, spending_limit detail, pre-commitment negotiation flexibility)
v0.1.4 May 2026
  • Revision history relocated from the title page to §14 — no content changes; format aligned with the Framework and Platform specifications
v0.1.3 May 2026
  • §5.3 authorized_actions tightened from string[] to enum[] and raised from SHOULD to MUST, with a fixed enumeration and role-compatibility rules — Consumer MUST include purchase and MUST NOT include sell; Provider MUST include sell and MUST NOT include purchase; Enterprise MAY include either or both
v0.1.2 May 2026
  • §5.2.1 strengthened — added the role / verification-tier matrix and normative rejection semantics; operational scenarios specify the verification tier required for each role
v0.1.1 April 2026
  • Initial published draft — establishes the five pillars (Agent Identity, Proof of Performance, Liability Escrow, Dispute Resolution, Entity Governance), the basic / extended specification split, and the operational scenarios
  • Three economic roles: CONSUMER, PROVIDER, ENTERPRISE
  • Three conformance levels: Identified, Accountable, Governed
  • NIST CAISI RFI submission (Docket No. NIST-2025-0035)
Specifications

API Reference

The API Reference documents the Operator API — the server surface a conformant Operator exposes. Platforms and agents are clients of it. Rather than a static contract, the surface is demonstrated live by running Operator implementations you can explore directly.

The Operator surface

Every endpoint belongs to the Operator. The surface splits into two groups by who calls it.

Control-plane — called by Platforms
MethodEndpointPurpose
POST/v1/agents/registerIssue an agent credential from a Verification Attestation
POST/v1/agents/{did}/market-configsProvision an agent's settlement market
GET/v1/agents/{did}/statusLive identity, escrow, and rating status
GET/v1/agents/{did}/facilitationsSettlement and performance records (pull-based reporting)
Runtime — called by agents
MethodEndpointPurpose
GET/v1/verify/challengeIssue a challenge nonce for mutual authentication
GET/v1/payment-addressReturn payment terms and settlement intent
POST/v1/facilitateVerify the counterparty and confirm settlement
POST/v1/tasks/{task_id}/confirmConfirm task completion and record the rating

Request and response bodies, the AEAP-* authentication headers (§5.6.4), status-resolution fields (§5.6.5), and the rejection-code set (§5.6.6) are exercised live in the implementations below.

Explore a live Operator

Choose an Operator to browse its live API. Each implements the same protocol surface, so the contracts are interchangeable — and because the explorer is the running system, it never drifts from what is deployed.

Troth
Reference Operator implementation by AEA/P Labs. Implements all five pillars across the full endpoint surface.
Explore live API ↗

This is a directory: as more Operators are certified, each appears here with a link to its own live API explorer.

Integration

Integration by participant

AEA/P is implemented primarily by Agentic Platforms and Operators — the infrastructure that gives agents identity, settlement, and accountability. If you are building an agent, you integrate through a platform, not the protocol directly. This section is a focused guide for each participant — what you implement, your path through the flow, and the endpoints you touch.

The participant model

A governed transaction involves five participants: two agents transacting, and three that provide trust, hosting, and settlement around them. The boundary that keeps the system non-custodial and portable is simple — the Platform mediates the control plane (discovery, policy, routing) but never touches funds or the service payload; the Operator verifies and records but never submits a transaction; funds move directly through the Settlement Contract.

ParticipantRole
BuilderAn agent builder — consumer agents pay for services, provider agents sell them. Both register through a Platform.
PlatformThe Agentic Platform — onboarding front door and runtime host: discovery, routing, and spend-policy enforcement.
OperatorThe accountable system of record — issues identity, confirms settlement, holds escrow, runs proof of performance and disputes.
VerifierPerforms KYC / KYB diligence at onboarding and issues a Verification Attestation.

Pick your guide

BUILDER
Builder
Building a consumer or provider agent — register with a platform, then transact.
PLATFORM
Platform
Onboard, discover, route, and enforce spend policy at egress.
OPERATOR
Operator
Issue identity, confirm settlement, run escrow, PoP, and disputes.
VERIFIER
Verifier
Run onboarding diligence and issue Verification Attestations.

Each participant's responsibilities map to the five pillars. The shared integration primitives — auth, certificates, headers, errors — are in Integration concepts.

End-to-end transaction

How the roles interlock in a single governed transaction — six phases from identity verification through settlement, service delivery, and PoP confirmation. The mechanics shown are one concrete realization of the protocol.

Reading this page: This walkthrough is an example implementation, not a normative protocol definition. The sequence diagram and per-phase mechanics illustrate one concrete way an implementation can realize the protocol’s requirements. Other implementations may use different transports, identity formats, settlement mechanisms, or timing parameters and still conform to AEA/P.

Transaction phases

The six phases in sequence:

0
Onboarding — Provider and Consumer each onboard once through a single platform front door: KYC/KYB via a Verifier, a certificate from the Operator, and (for Providers) escrow and Settlement Contract registration.
1
Discovery & mutual authentication — The platform matches a Provider; the Consumer verifies the Provider's certificate, status, escrow coverage, and rating before committing.
2
Payment negotiation — The Provider returns an HTTP 402; the platform enforces the Consumer's spend policy at egress before any funds move.
3
Settlement — The Consumer pays the on-chain Settlement Contract directly. Funds split atomically. The Operator never holds funds.
4
Verification & delivery — A single facilitate call verifies the consumer and confirms settlement, credits escrow, and opens the task. Only then does the Provider deliver — settlement gates delivery.
5
Performance confirmation — Within 72h the Consumer confirms the outcome; both agents' ratings update from the bilateral signals. Silence auto-confirms.
End-to-end sequence 6 phases · all actors
fit
sequenceDiagram autonumber participant C as Consumer Agent participant PA as Provider Agent participant AP as Platform participant OP as Operator participant SC as Settlement Contract Note over C,SC: Phase 0a - Provider onboarding (single front door at the platform) PA->>AP: Onboard - principal + agent + market/network/method + wallet AP->>AP: Run KYC/KYB via Verifier - Verification Attestation AP->>OP: Register agent + attestation (POST /v1/agents/register) OP-->>AP: certificate + status_url AP->>OP: Submit market-config OP->>SC: registerProvider(...) SC-->>OP: ProviderRegistered OP-->>AP: escrow_wallet + settlement_contract AP-->>PA: onboarded - certificate + settlement (stored + indexed) Note over C,SC: Phase 0b - Consumer onboarding (single front door) C->>AP: Onboard - principal + agent + spend scope AP->>AP: Run KYC via Verifier - Verification Attestation AP->>OP: Register agent + attestation (POST /v1/agents/register) OP-->>AP: certificate (identity + scope) + status_url AP-->>C: onboarded - spend-policy profile attached at gateway Note over C,SC: Phase 1 - Discovery and mutual authentication C->>AP: Discover provider - task + method/currency AP-->>C: provider match + certificate ref + endpoint C->>OP: GET /v1/verify/challenge OP-->>C: nonce (120s) C->>PA: AEAP-Challenge - nonce PA-->>C: AEAP-Certificate + challenge-response + AEAP-Timestamp C->>C: Verify provider offline (certificate + challenge-response) C->>OP: GET status(provider) OP-->>C: ACTIVE + production + escrow_state + rating Note over C,SC: Phase 2 - Payment negotiation (routed and governed by the platform) C->>AP: GET /resource - method/currency AP->>PA: forward - gateway routes by method PA->>OP: GET /v1/payment-address OP-->>PA: settlement_contract + token + intent_id PA-->>AP: 402 Payment Required AP->>AP: Enforce spend policy at egress (before funds move) AP-->>C: 402 Payment Required Note over C,SC: Phase 3 - Consumer pays the Settlement Contract directly C->>SC: pay(token, amount, providerIdHash, consumerIdHash) SC->>SC: opAmt to operational wallet SC->>SC: escrowAmt to escrow wallet SC->>SC: feeAmt to fee wallet SC-->>C: Settled - tx_hash Note over C,SC: Phase 4 - Verification and service delivery (direct) C->>PA: POST /resource - certificate + proof + payment_tx PA->>OP: facilitate - verify consumer + confirm settlement (proof + tx_hash) OP->>SC: read Settled event SC-->>OP: legs verified + providerIdHash verified OP-->>PA: verified + escrow_credited + escrow_state + task_id Note over PA: Settlement confirmed - delivery proceeds PA-->>C: 200 OK - result / access / feed (direct) Note over C,SC: Phase 5 - Bilateral performance confirmation (72h window) C->>OP: Confirm task (outcome, score) OP-->>C: CONFIRMED + ratings updated Note over C,SC: Auto-confirm at 72h - task_completion=1.0, task_confirmation=0.0

Phase 0 — Onboarding

Both agents onboard once through a single front door at their Platform. The platform runs KYC/KYB through a Verifier — which issues a Verification Attestation — and registers the agent with an Operator, which issues the agent's certificate. For a Provider, this one-time setup also provisions a segregated escrow wallet and registers the Provider on the Settlement Contract; the Operator controls the escrow wallet, so the Provider cannot modify its own funding_rate.

Protocol requirements

  • The market being registered must already appear in the agent's authorized_markets AID field — a compliance declaration that the agent is permitted to operate in that jurisdiction and currency
  • The escrow wallet is provisioned by the Operator under its control. The Provider cannot withdraw from or modify escrow parameters directly
  • The funding_rate is set from an Operator-controlled configuration. Provider cannot override it
  • On-chain registration stores the three-way split configuration: operational wallet, escrow wallet, escrowBps, feeBps
  • After registration, the agent's escrow_state begins as FUNDING — it transitions to ACTIVE once the escrow balance reaches the computed effective threshold

Escrow state machine

StateMeaningAgent can transact?
FUNDINGBalance below effective thresholdLimited
ACTIVEBalance at or above threshold — full coverageYes
DISPUTE_HOLDDisputed amounts locked; remainder availablePartial
CONSTRAINEDTotal disputed amount exceeds balance. Suspended from new transactions. Dispute obligations (evidence, board responses) remain accessibleNo new txns
RELEASEDEntity terminated. Funds distributed after 90-day holdNo

Phase 1 — Discovery & mutual authentication

The Consumer discovers a Provider through its platform, then verifies it directly. Before committing to a payment, the Consumer confirms the Provider holds a valid AEA/P identity and sufficient escrow coverage. Critically, certificate verification is offline — the Consumer never needs a round-trip to the Operator to verify the Provider's identity or the challenge response. The Operator is called only once, to check live operational status — ACTIVE, escrow_state, and rating.

Protocol requirements

  • Challenge nonce TTL: 120 seconds — the Provider must respond within 2 minutes of the Consumer requesting the nonce
  • Certificate verification is offline: The Provider's AEA/P Certificate is a JWT signed by the AEA/P Certificate Authority. The Consumer verifies the JWT signature against the published CA public key — no Operator call needed
  • Challenge response is an EC signature over the nonce. Consumer verifies offline using the public key extracted from the certificate
  • Timestamp check: within 30 seconds — the X-AEAP-Timestamp in the Provider's response must be within 30 seconds of the Consumer's local time, preventing delayed-replay attacks
  • Consumer checks escrow_state and pop_rating from the status endpoint before proceeding. A Consumer may refuse to transact with a Provider in FUNDING or CONSTRAINED state

Key AID fields checked during authentication

FieldSourceWhat the Consumer checks
cert_tierCertificate (offline)Minimum tier required for the requested service
environmentStatus endpointMust match Consumer's environment (sandbox / production)
escrow_stateStatus endpointACTIVE = full coverage; FUNDING = below threshold
pop_ratingStatus endpointAgent Rating (AR); null if fewer than 10 interactions (Provisional)

Phase 2 — Payment negotiation

When a resource requires payment, the Provider issues an HTTP 402 Payment Required response, routed back through the platform. The protocol specifies exactly what the 402 may and may not disclose. The Operator creates a payment intent when the Provider requests payment details — tracking whether the Consumer follows through, which feeds the Consumer's payment_timeliness signal. The platform enforces the Consumer's spend policy at egress, before any funds move.

Protocol requirements

  • The 402 response must include: Settlement Contract address, token contract address, amount, Provider DID hash, expiry timestamp
  • The 402 response must not include: wallet addresses, split ratios, fee percentages, or internal configuration details
  • Payment intents are created automatically by the Operator when the Provider requests a payment address — the Provider does not create intents manually
  • The authorized_markets field in the Provider's AID is validated at intent creation — the requested market must be in the list
  • Payment intents expire after a configured window (default 5 minutes). Intents that expire without being paid transition to ABANDONED

Payment intent lifecycle

StatusMeaningEffect on Consumer AR
PENDINGAwaiting payment
SETTLEDPayment confirmed on-chainpayment_timeliness = 1.0
ABANDONEDConsumer obtained payment details but did not paypayment_timeliness = 0.0

Phase 3 — Settlement

The Consumer pays the Settlement Contract directly on-chain. The contract performs an atomic three-way split in a single transaction — all three transfers succeed or all revert. This is a core protocol guarantee: the Operator never intermediates fund transfers. It only reads settlement records after the fact.

Protocol requirements

  • Non-custodial: Implementations must not hold funds in transit. The contract routes directly from the Consumer to three destinations atomically
  • Split control: The split configuration (escrowBps, feeBps) is stored on-chain in the Settlement Contract. Only the protocol authority can modify these values — the Provider cannot lower its own escrow funding rate
  • Rounding: Maximum rounding loss is 2 wei per settlement (two integer divisions). Rounding error always favors the escrow and fee recipients
  • The Consumer must have approved the token spend before calling pay() if the current allowance is insufficient

Split formula

feeAmt = amount × feeBps / 10000→ protocol fee wallet
net = amount − feeAmt
escrowAmt = net × escrowBps / 10000→ agent escrow wallet (Operator-controlled)
opAmt = net − escrowAmt→ provider operational wallet

Phase 4 — Verification & delivery

With payment settled, the Consumer makes the service request — presenting its certificate, a bound proof, and the settlement payment_tx. The Provider makes a single facilitate call to the Operator that verifies the consumer and confirms the on-chain settlement in one step, crediting escrow and opening the performance task. Only once that call succeeds does the Provider deliver. Settlement verification gates delivery; it never follows it. Delivery is direct, Provider to Consumer — the platform is not in the service path.

Protocol requirements

  • One call, both checks: facilitate verifies the consumer's bound proof and confirms settlement together. No separate verify step is required ahead of it — the settlement path carries the verification
  • Bound proof: The Consumer includes an EC signature over (timestamp | consumer_did | provider_did), cryptographically linking the service call to this specific Consumer–Provider pair and preventing replay of the payment proof for a different call
  • Read-only on-chain confirmation: The Operator reads the on-chain Settled event — it never submits a transaction. It checks the settlement contract address, the DID hashes, and that amounts match the registered split. This is how escrow stays non-custodial: the Operator observes what happened on-chain rather than intermediating it
  • Sybil check: If the Consumer and Provider share a principal, the service executes and escrow is credited, but no performance task is created and no rating credit accrues — preventing self-dealing
  • Environment enforcement: The Operator checks that both agents' environment fields match — a sandbox agent cannot complete a verified transaction against a production agent
  • Escrow balance is aggregated per currency across all networks — a Provider on Base and Arbitrum carries one USD escrow balance
  • The payment intent is marked SETTLED by matching consumer_did + provider_did + amount against open intents; a performance task is created at facilitation time, opening the 72-hour window
  • The Provider may independently check the Consumer's rating and enforce a minimum_cert_tier, rejecting the request without affecting either party's rating

What the Consumer sends

HeaderContent
X-AEAP-CertificateConsumer's signed AEA/P Certificate (JWT)
X-AEAP-ProofEC signature over timestamp | consumer_did | provider_did
X-AEAP-TimestampCurrent timestamp (must be within 30s)
X-AEAP-Payment-TxSettlement tx_hash + network identifier

What facilitation verifies

CheckWhat passes
Contract addresstx called the registered AEAPSettlement contract
DID hashesproviderDidHash and consumerDidHash match the request
AmountsopAmt, escrowAmt, feeAmt match the registered split config
SybilConsumer and Provider have different principals

Phase 5 — Performance confirmation

Within 72 hours of facilitation, the Consumer confirms whether the service was delivered. The Operator computes PoP signals for both agents from objective transaction data — not from the confirmation score alone — and updates each agent's Agent Rating (AR). Updated AR triggers a recalculation of the escrow effective threshold: high-performing agents carry lower reserve requirements.

Provider signals

SignalWeightSource
task_completion0.40Consumer's confirmation score (confirmed = 1.0, partial = 0.5, rejected = 0.0)
dispute_free0.251.0 if no dispute filed; 0.0 if dispute filed on this task
timeliness0.20Time from facilitation to service confirmation (decays linearly over 72h)
availability0.151.0 if challenge response returned within 120s; 0.0 otherwise

Consumer signals

SignalWeightSource
payment_timeliness0.30Ratio of SETTLED intents to total intents; ABANDONED intents score 0.0
task_confirmation0.301.0 if confirmed within 24h; decays to 0.0 at 72h; 0.0 if auto-confirmed
dispute_fairness0.151.0 if no dispute lost; 0.0 if Consumer lost a dispute
transaction_completion0.151.0 if transaction completed; 0.0 if cancelled after payment intent created
budget_compliance0.101.0 if gross_amount ≤ max_transaction_value in AID; 0.0 if exceeded

Agent Rating formula

AR = Σ(rᵢ × e^(−0.005 × tᵢ)) / Σ(e^(−0.005 × tᵢ))

Where rᵢ is the task rating and tᵢ is the age of the interaction in days. The decay constant 0.005 gives a half-life of approximately 139 days — interactions older than ~1.3 years carry less than half their original weight.

Auto-confirm rule

If the Consumer does not respond within 72 hours, the task auto-confirms with task_completion = 1.0. The Consumer's task_confirmation signal scores 0.0 for that task. This prevents rating suppression through deliberate non-response — a Provider cannot be penalized simply because the Consumer went silent.

Integrators by Role

Integration concepts

The primitives every participant shares — identity, authentication, headers, environments, and the error model. Read this once; the role guides assume it.

Identity & certificates

Every agent holds a certificate — an ES256 JWT issued by an Operator that binds the agent's public key to its stable-identity claims (role, capabilities, principal, issuer). Identity is the subject of Agent Identity; full claim schemas are normative and live in the API Reference.

The Trust Registry

The Trust Registry is the set of issuers — Operators and Verifiers — recognized to issue certificates and attestations. It is what makes AEA/P federated rather than a single walled garden: when a participant verifies a counterparty, it resolves the certificate's issuer (iss) against the registry and trusts the certificate only if the issuer is listed. The registry is the protocol's root of trust — an unrecognized issuer fails verification regardless of an otherwise-valid certificate. Operating as an issuer, and getting listed, is covered in Conformance & Certification.

Two authentication models

ModelWhere it applies
Client → OperatorOAuth 2.0 client credentials over mTLS — HTTP calls a platform or agent makes to an Operator.
Agent → AgentCertificate + a fresh bound proof — direct calls between a consumer and a provider.

The challenge handshake

Before an agent-to-agent call, the caller proves key control: obtain a short-lived nonce from the Operator (GET /v1/verify/challenge), then present a proof — a signature over timestamp | caller_did | callee_did, bound to the callee and valid only within the replay window. The provider half of mutual auth answers a challenge with a signed challenge-response.

Wire headers

HeaderPurpose
AEAP-CertificateThe caller's signed agent certificate (ES256 JWT).
AEAP-ProofFresh signature proving key control, bound to the callee.
AEAP-TimestampProof timestamp; bounds the replay window.
AEAP-Payment-TxSettlement reference presented as the receipt.

Environments

Certificates and status are environment-scoped — sandbox for integration, production for live traffic. A counterparty in the wrong environment fails verification.

Errors & status

Agents carry a mutable status (ACTIVE, SUSPENDED, REVOKED) resolved separately from the certificate. Verification and settlement failures return distinct, enumerated reasons. The canonical error model and status lifecycles live in the API Reference.

Full field-level schemas for certificates, proofs, headers, and errors are normative — see the API Reference for the live Operator surface. This page is the orientation; the reference is the contract.

Integrators by Role

Builder

If you are building an agent — one that pays for services (a Consumer) or sells them (a Provider) — you integrate through a Platform, not against the protocol directly. The platform onboards you, registers your identity with an Operator, and enforces policy. This page is what your agent does within a transaction; the infrastructure is the platform's and the Operator's.

You build on a platform. Agent builders do not implement identity issuance, settlement, escrow, or performance accounting — those belong to the Platform and the Operator. Pick a platform, register your agent, and follow its onboarding. The shared primitives — certificates, headers, the handshake — are in Integration concepts.

Consumer agents

A Consumer Agent discovers providers, authenticates them, and pays under a spend scope its principal declares and the platform enforces at the gateway.

  • Register through your platform with your principal and declared scope (authorized_actions, max_tx, spending_limit); receive a certificate.
  • Carry your AEAP-Certificate and a fresh AEAP-Proof on outbound calls.
  • Before paying, authenticate the provider — obtain a challenge nonce, run the offline certificate checks, then a status check.
  • Pay the registered settlement contract directly; present the payment_tx as your receipt; confirm the task within 72h.
MethodEndpointWhen
GET/v1/verify/challengeNonce to authenticate the provider (Phase 1)
GET/v1/agents/{did}/statusCheck the provider is ACTIVE (Phase 1)
POST{settlement_contract}.pay(...)Pay on-chain, directly (Phase 3)
POST/v1/tasks/{task_id}/confirmConfirm the outcome (Phase 5)

Provider agents

A Provider Agent sells services. A non-merchant provider has no merchant account and is paid by settling a stablecoin on-chain. Your defining obligation: confirm — through the Operator, not the caller's word — that you were paid, before you deliver.

  • Register through your platform and declare your markets (network, currency, method) and an operational wallet; the Operator provisions your escrow and settlement config.
  • Publish your capabilities; answer a consumer's challenge with your certificate and a signed challenge-response.
  • Price a request: return 402 Payment Required with terms drawn from the Operator.
  • On the service call, make a single facilitate call — the Operator verifies the caller and the on-chain settlement together and credits escrow — then deliver directly. Never deliver on a claimed payment_tx alone.
MethodEndpointWhen
GET/v1/payment-addressTerms + settlement intent to price a request (Phase 2)
POST/v1/facilitateVerify caller + confirm settlement, one call (Phase 4)

Invariant: settlement verification gates delivery, and your Agent Rating is built from real, settled transactions. The platform and Operator enforce both — your job is to call them correctly. See Platform and Operator for what they implement.

Integration · Platform

Platform integration

An Agentic Platform is the agent's onboarding front door and runtime host. It discovers and routes between agents and enforces each consumer's spend policy — but it is a control-plane mediator, never a data-plane proxy. Funds settle directly to the contract; the service is delivered directly between agents.

What you implement

  • Single onboarding front door. Accept one submission per agent; run (or arrange) KYC / KYB via a Verifier; register the agent with an Operator. Preserve distributed anchoring — the certificate is Operator-signed, the attestation Verifier-signed; your registry is an operational cache, not the root of trust.
  • Registry + discovery. Index agents by network and currency; verify counterparty certificates against the Trust Registry; expose matching by capability and market.
  • Payment-negotiation brokering. Mediate GET /resource402 and route by the provider's declared method.
  • Egress spend-policy enforcement. Before any funds move: spend limits, velocity, allowlists, authorization, and an egress confirmation gate. Never expose wallet, split, or fee.
  • Stay out of the money and service paths; pull observability from the Operator rather than receiving it in-flow.

Your path through the flow

PhaseWhat you do
0a / 0b · OnboardingVerify + register provider and consumer; store and index.
1 · DiscoveryMatch the consumer to a provider; return the certificate ref + endpoint.
2 · NegotiationRoute the request; enforce spend policy at egress; pass the 402.
3–5Out of the path — funds and service are direct; pull receipts when needed.

Endpoints you call

MethodEndpointWhen
POST/v1/agents/registerRegister a verified agent (Phase 0)
POST/v1/agents/{did}/market-configsDeclare a provider's market (Phase 0)
GET/v1/agents/{did}/statusCounterparty checks during discovery (Phase 1)
GET/v1/agents/{did}/facilitationsPull settlement + performance records (out of band)

Invariant: control-plane only. You mediate discovery and negotiation and enforce egress policy before funds move; you are in neither the funds path (escrow / settlement) nor the service path.

Integration · Operator

Operator integration

An Operator is the accountable system of record — the trust and settlement backbone of a transaction. It issues agent identity, confirms settlement on-chain, holds escrow, and runs proof of performance and disputes, operationally owning four of the five pillars. KYC is delegated to a Verifier.

Reference implementation: Troth is a commercial Operator. The role described here is open — any conformant provider can operate it.

What you implement

  • Identity (Pillar 1). Operate the CA: validate the Verifier's attestation and issue agent certificates (ES256 JWT); maintain the Trust Registry of accepted issuers; serve status and challenge nonces; support revocation and publish JWKS.
  • Settlement. Provision per-provider config on-chain (registerProvider); issue payment addresses + intents; on facilitate, verify caller identity and read-only confirm the on-chain Settled event, then credit escrow and open the performance task. Never submit a transaction.
  • Escrow (Pillar 3) + PoP (Pillar 2). Hold escrow under HSM / KMS; run the escrow_state lifecycle; compute bilateral, time-decayed ratings; apply Sybil suppression.
  • Disputes (Pillar 4) and transaction monitoring — transaction-time sanctions / AML; adverse outcomes drive SUSPENDED.
  • Expose a reporting endpoint so platforms and principals pull receipts and ratings out of band.

Endpoints you expose

MethodEndpointSurface
POST/v1/agents/registerIssue credential from attestation
POST/v1/agents/{did}/market-configsProvision settlement market
GET/v1/agents/{did}/statusLive status
GET/v1/verify/challengeChallenge nonce
GET/v1/payment-addressPayment terms + intent
POST/v1/facilitateVerify + confirm settlement
POST/v1/tasks/{task_id}/confirmTask confirmation + rating
GET/v1/agents/{did}/facilitationsReporting (pull)

The Operator operationally owns Identity, PoP, Escrow, and Disputes. Governance (Pillar 5) stays with the principal.

Integration · Verifier

Verifier integration

A Verifier performs point-in-time identity diligence at onboarding and issues a signed Verification Attestation the Operator relies on to issue a certificate. Verifiers are often operated by the Platform. Ongoing, transaction-time AML is the Operator's responsibility — the Verifier does onboarding diligence only.

What you implement

  • Run onboarding diligence tiered by certification tier: full KYC / KYB (identity, sanctions / PEP, beneficial ownership, source of funds) for Provider and Enterprise tiers; payment-instrument verification may suffice for low-tier Consumers.
  • Issue a signed Verification Attestation — the tier reached, the checks performed, and your signature.
  • Hand the attestation to the registering party (the Platform), which relays it to the Operator. You do not issue certificates and you do not see the transaction stream.

Your path through the flow

PhaseWhat you do
0a / 0b · OnboardingRun diligence on the principal; issue the Verification Attestation.
1–5Not in the runtime path — onboarding only.

Distributed anchoring: your attestation is Verifier-signed and the certificate is Operator-signed — independently resolvable, so identity stays portable and no single party becomes a walled garden. Transaction-time AML belongs to the Operator.

Pillar 1

Agent Identity

AEA/P identity is economic identity — not just authentication. An Agent Identity Document (AID) declares what an agent is authorized to do, what role it plays, who is accountable for its actions, and what liability escrow it holds. Every agent traces to a verified principal, and the AID is a single signed document organized into the five protocol pillars.

AID State Lifecycle
AID State Lifecycle

The five-pillar AID

The AID is one signed document organized into five pillar objects — one per protocol pillar — plus root-level fields (aid_url, aid_version, created_at, signature). Which pillars an agent populates depends on its economic role; pillars that do not apply are structurally present but null. The root signature signs across all five.

{
  "aid_url": "...",
  "aid_version": 2,
  "created_at": "...", "updated_at": "...",
  "visibility": { ... },
  "metadata": { ... },

  "identity": {
    "agent_id": "...",
    "economic_role": "PROVIDER",
    "public_key": "...",
    "principal": { ... },
    "entity_id": "...",
    "display_name": "...",
    "description": "...",
    "objective": "...",
    "endpoint_url": "...",
    "certificate": { "cert_tier": "...", "verification_attestation": { ... } },
    "scope": {
      "version": 1,
      "authorized_actions": [...],
      "capabilities": [...],
      "authorized_markets": [...],
      "max_transaction_value": ...,
      "spending_limit": { ... },
      "minimum_counterparty_cert_tier": "...",
      "minimum_counterparty_ar": ...
    },
    "delegation": { "chain": [ ... ] }
  },

  "performance": { "pop_rating": null, "performance_record": null },
  "escrow":      { "liability_profile": null },
  "disputes":    { },
  "governance":  null,

  "signature": "..."
}
AID structural overview
PillarCarriesPopulated by
identityCryptographic identity, principal, certificate, scope, and delegation chainAll roles
performancePoP rating and performance record (null until the first rated interaction)All roles
escrowLiability profile — escrow state, balance, and thresholdProvider, Enterprise
disputesDispute summary metrics — counts and recencyProvider, Enterprise
governanceReference to the entity governance documentEnterprise (Level 3)

A Consumer agent populates identity and performance; a Provider adds escrow and disputes; an Enterprise adds governance.

AID lifecycle

Every agent has an AID that progresses through defined states. Counterparties resolve any DID to check current status before transacting. The typical path is DRAFT → ACTIVE → REVOKED.

StateMeaningCan transact?
DRAFTCreated but not yet signed or principal-verifiedNo
ACTIVESigned, principal-verified, fully operationalYes
SUSPENDEDTemporarily non-operational — escrow entering CONSTRAINED (Provider/Enterprise), principal action (Consumer), or attestation expiry/revocationNo new txns
REVOKEDPermanently invalidated by principal. Outstanding disputes still resolve; PoP history retained for auditabilityNo
TRANSFERREDOwnership moved to a new principal. Delegation chain re-rooted; AID history, escrow, and PoP record follow the agentYes (new principal)
ABANDONEDDraft never completed within the implementation-defined timeoutNo (terminal)

Principal verification

Every agent begins with principal verification — identity checks (KYC for individuals, KYB for organizations) plus sanctions and restricted-party screening — performed by an independent Verifier before the AID can become ACTIVE. The result is a Verification Attestation, which the AID references. It is time-bound (validity SHOULD NOT exceed 12 months); on expiry or revocation the AID is suspended.

The depth of verification is captured in the attestation's verification_tier, coupled to the agent's economic role:

TierRoleChecks
Tier 1ConsumerIdentity verification (KYC) and sanctions / restricted-party screening of the principal
Tier 2ProviderTier 1 plus business registration (KYB), beneficial-ownership identification (>10% or significant control), and screening of those owners
Tier 3EnterpriseTier 2 for each principal, plus cross-principal ownership screening, PEP screening, source-of-funds verification, and ongoing AML monitoring

The coupling is normative: a Verifier MUST NOT attest below a role's tier, and an AID MUST NOT become ACTIVE if the referenced attestation's tier is below its role's requirement. Raising a role (e.g. Consumer → Provider) requires re-verification at the new tier.

The certificate also carries a cert_tier, but its value set and ordering are implementation-defined — counterparties compare tiers using the issuer's published ordering. minimum_counterparty_cert_tier sets an optional floor on a counterparty's cert tier.

Identity pillar fields

FieldDescription
agent_idPermanent agent DID. Format did:aeap:{uuid4}; opaque and case-sensitive
economic_roleCONSUMER | PROVIDER | ENTERPRISE. Immutable after registration — changing it requires a new agent
public_keyThe agent's signing key
principalReference to the verified principal: principal_id, the principal's public_key, and display name
descriptionHuman-readable description of the service the agent provides
endpoint_urlNetwork endpoint at which counterparties reach the agent
certificateWraps the agent's cert_tier and a reference to the principal's Verification Attestation
scopeThe bounds of the agent's authority — see below
delegationThe delegation chain from the principal to this agent

Scope and mutability

An agent's authority lives in its scope. Every dimension is enforced both down the delegation chain and over the life of the AID. Each signed scope change re-signs the AID and increments scope.version — a monotonic counter counterparties read to detect changes between commitments.

DimensionBoundsMutability
authorized_actionsPermitted commitments: purchase, sell, delegateAppend-only
capabilitiesServices and competencies the agent offers or usesBidirectional
authorized_marketsMarket and currency pairs the agent may operate inBidirectional; adding a market is gated
max_transaction_valuePer-transaction capBidirectional; raising above the tier ceiling needs a cert-tier upgrade
spending_limitWindowed aggregate spend (Consumer / Enterprise)Bidirectional; same tier gating
minimum_counterparty_cert_tierFloor on a counterparty's cert tierBidirectional
minimum_counterparty_arFloor on a counterparty's Agent Rating (default 0.75)Bidirectional
accepted_issuersCertificate issuers this agent will acceptBidirectional

economic_role is part of identity, not scope, and is immutable after registration.

Field visibility

The headline Agent Rating and escrow state MUST always remain public; other fields default to public but the principal MAY restrict them.

VisibilityWho can readExample fields
PublicAnyoneagent_id, economic_role, description, endpoint_url, pop_rating, liability_profile headline, cert_tier
Counterparty-authorizedAgents with a completed verified transactionauthorized_markets, authorized_actions, spending_limit
PrivatePrincipal onlyRaw key material, internal configuration

Delegation chains

A delegation chain traces authority from the principal through any intermediate agents to the acting agent — how principals stay in control of autonomous agents.

  • Chain invariant. Each link's scope is a subset of its parent's — sets narrow, ceilings only lower, floors only rise. Authority cannot be amplified by delegating.
  • Delegation authorization. A delegator must itself hold delegate in its authorized_actions; a link from an agent that lacks it is invalid.
  • Top-of-chain accountability. The root of the chain — the principal, or the topmost agent — is accountable for liability, escrow funding, PoP contribution, and disputes. Intermediate links are relays and do not take on accountability by re-delegating.
  • Cascading narrowing. When a parent narrows a dimension, sub-agents auto-constrain at their next scope.version. Widening does not cascade.
  • Revocation. Revoking any link invalidates every link below it.

Identity on the wire

An agent's economic identity is portable across the ecosystem. The AID is the full, resolvable record, but across an implementation boundary an agent presents a compact certificate — a signed JWT asserting its DID, role, scope, and principal. Because the certificate format and key discovery are fixed by the protocol, any conformant counterparty can verify a certificate issued by any Operator — even one it has never contacted — and an agent acting through one Platform is recognizable to agents on another. Which Operator certified an agent and which Platform hosts it are branding, not barriers to interoperability.

Before committing, two agents mutually authenticate — a challenge-response proving each controls the key bound to its certificate — then each resolves the other's live status (lifecycle state, environment, current rating and escrow) rather than trusting the certificate's snapshot. The wire headers, the challenge handshake, key discovery, and rejection codes are in Integration concepts.

Full AID schema, the five pillar objects, ScopeRef, PrincipalRef, and the Verification Attestation format are in the Extended Specification §5.

Pillar 2

Proof of Performance

PoP is AEA/P's automated performance rating. Ratings derive from verifiable transaction outcomes — task completion, payment history, dispute results — not subjective reviews, and records are created automatically at settlement, so principals cannot submit or suppress them. PoP produces one rating per agent regardless of role; only the signals that feed it differ.

PoP Rating Lifecycle
PoP Rating Lifecycle

Rating lifecycle

An agent's rating evolves as it transacts. The transition between Rated and Decayed is continuous — an agent that resumes activity rebuilds its rating through new interactions that carry full weight.

StageConditionAR shown publicly?
Unrated0 interactions — no track record; trust rests on identity, delegation chain, and escrowNo
Provisional1–9 interactions (default threshold 10) — accumulating but not yet statistically meaningfulShown, marked Provisional
Rated≥ 10 interactions — statistically meaningfulYes
DecayedNo recent interactions — older interactions lose weight under time decayYes — trends toward neutral

Task rating

Each completed interaction produces a task rating between 0.0 and 1.0 — a weighted sum of objective signals whose weights sum to 1.0 (and MAY be adjusted in an entity's governance document). Which signal set applies depends on the agent's role in that specific interaction. Interactions between two agents under the same principal execute and credit escrow, but produce no task record.

Provider signals

Applied when an agent sells a service (Provider, or Enterprise selling).

SignalWeightHow measured
task_completion0.40Was the service completed as specified? Confirmed by the customer: confirmed = 1.0, rejected = 0.0, partial = a score in 0.0–1.0. Auto-confirms at 1.0 if the customer is silent past the window (default 72h)
dispute_free0.251.0 if no dispute was filed on this task; 0.0 if any was filed, regardless of outcome
timeliness0.20Was the task completed within the agreed timeframe? 0.0 (missed entirely) to 1.0 (on time or early)
availability0.15Was the agent operational when the counterparty needed it? Uptime vs. the declared SLA. 0.0 or 1.0

Consumer signals

Applied when an agent buys a service (Consumer, or Enterprise purchasing).

SignalWeightHow measured
task_completion0.30Did the agent fulfill the principal's purchasing assignment? Confirmed by the principal. 0.0 or 1.0
payment_timeliness0.30Did the agent settle on time and follow through on payment commitments it initiated? Late settlement or abandonment lowers the score. 0.0 to 1.0
transaction_completion0.151.0 if the agreed transaction completed; 0.0 if the buyer cancelled after committing
dispute_fairness0.15Ratio of disputes the consumer initiated that resolved in its favor. Frequent losses reduce the score — discourages frivolous filing
budget_compliance0.101.0 if the transaction stayed within the agent's authorized spending parameters; 0.0 if exceeded

task_completion vs transaction_completion. The first is the principal–agent relationship — did the agent fulfill the purchasing mandate its principal gave it (the principal confirms). The second is the agent–counterparty relationship — did the agent follow through on what it committed to without canceling (the counterparty confirms). An agent can score high on one and low on the other.

Enterprise: blended AR

An Enterprise agent buys and sells, generating provider signals when selling and consumer signals when buying — but it has one AR, not two. The AR is a transaction-weighted blend that tracks its actual mix:

AR = provider_component × provider_weight
     + consumer_component × consumer_weight

Each weight is that role's share of total transactions; each component is the time-decayed mean of task ratings from that side. The blend shifts automatically as the business mix evolves — an agent that mostly sells has an AR that mostly reflects service quality, one that mostly buys reflects purchasing reliability — and counterparties still check one number.

Agent Rating (AR)

The AR is the agent's single PoP score: the weighted mean of its task ratings with exponential time decay, so recent performance counts more than old.

AR = Σ(rᵢ × e^(−0.005 × tᵢ)) / Σ(e^(−0.005 × tᵢ))
  • rᵢ — task rating for interaction i (weighted sum of the role's signals)
  • tᵢ — age of interaction i in days. Decay constant λ = 0.005 → half-life ≈ 139 days; λ MAY be configured in governance
  • AR ranges 0.0–1.0. A higher AR lowers the agent's escrow effective threshold — see Pillar 03 (Liability Escrow)

Performance record

The AR is the summary; the evidence behind it is the performance record — an append-only, publicly readable log with one entry per interaction: the signal scores, the computed task rating, how completion was confirmed, and any dispute and its outcome. Entries cannot be modified or deleted, which is what makes the rating verifiable rather than curated.

Because it is queryable, a counterparty can break the AR down — for example, inspect an Enterprise agent's consumer signals to judge payment reliability specifically, or pull its dispute history and transaction mix.

Aggregation

Agent ratings roll up. A Team Rating (TR) is the mean of its members' ARs; an Entity Rating (ER) is the mean of team ratings (or of member ARs for a flat entity). Both are publicly queryable, so a strong agent in a weakly-rated team reads differently from one in a high-performing organization.

Manipulation resistance

MechanismHow it resists gaming
Objective signals onlyRatings come from verifiable outcomes — never reviews or self-reported data
Bilateral confirmation + auto-confirmBoth sides confirm an outcome; silence past the window (default 72h) auto-confirms for the deliverer, so a party cannot suppress a rating by withholding confirmation
Dispute integrationA disputed transaction affects ratings regardless of outcome — discouraging both frivolous disputes and poor service
Minimum interaction thresholdAR is not shown publicly until ~10 interactions, blocking thin-file exploitation
Sybil resistanceInteractions between agents under the same principal are excluded (weight 0) — an agent cannot vouch for itself
Time decayExponential decay prevents coasting on an old record while current performance slips

Full performance-record schema, signal-breakdown queries, and the team / entity aggregate rating records are in the Extended Specification §6.

Pillar 3

Liability Escrow

Liability Escrow makes agent transactions trustworthy. A configured percentage of every incoming payment is automatically reserved in a segregated escrow account the Provider cannot withdraw from unilaterally, so counterparties can verify coverage before transacting. When open disputes exceed coverage, the agent is automatically constrained. Escrow applies to Provider and Enterprise agents; a Consumer's liability is handled by its spending limits, with the principal bearing it.

Liability Escrow State Machine
Liability Escrow State Machine

Who needs escrow

RoleRequirementWhy
ProviderSHOULD maintain escrowProviders accept payments and bear service liability; escrow funds from revenue
EnterpriseMUST maintain escrowBoth service liability and contractual obligations — broader risk requires mandatory coverage
ConsumerNot requiredConsumers only make outgoing payments; liability runs through spending limits and the principal bears it

Escrow state machine

Counterparties resolve the escrow state before transacting. The typical path is FUNDING → ACTIVE, with occasional trips to DISPUTE_HOLD and back.

StateConditionAccept new transactions?
FUNDINGBalance below the threshold — counterparties are warned of low coverage via the AIDYes — with warning
ACTIVEBalance at or above the threshold — full coverage, verifiable before transactingYes
DISPUTE_HOLDOne or more active disputes — disputed amounts plus bounties are locked; the remainder stays availableYes (remaining balance)
CONSTRAINEDOpen disputes (including bounties) exceed the balance — AID → SUSPENDED; dispute obligations stay accessible; resolves back to DISPUTE_HOLD or ACTIVE as disputes close and the balance recoversNo new transactions
RELEASEDEntity terminated or transferred; 90-day hold elapsed and all disputes resolved — funds distributed to owners per the governance documentNo

Funding and custody

For every incoming payment, a configured percentage is reserved in escrow before the remainder reaches the agent's operational account — an atomic split (operational, escrow, fee) that either fully succeeds or reverts. The protocol never holds funds in transit; balances update only from confirmed settlement events, which keeps custody risk out of the protocol layer.

  • The funding rate is set by the Operator (recommended default 5%) and stored in a registry the Provider cannot modify — a Provider that could zero its own rate would carry no coverage
  • Funding continues until the balance reaches the threshold; above it, incoming value is credited in full to the operational account
  • Principals may pre-fund escrow directly at any time, including at creation, for immediate full coverage
  • Balance is aggregated per currency — one balance per currency, not per network — and the escrow is denominated in one of the agent's authorized-market currencies

The threshold

The threshold — the minimum balance an agent needs to operate unconstrained — is dynamic. It scales with three inputs: the dispute window the agent offers, its recent transaction volume, and its Agent Rating.

The dispute_window is the period during which a counterparty may file a dispute — set by the principal, default 30 days, publicly visible. It MAY be 0, meaning final-sale: no dispute recourse and no escrow exposure. From it, the coverage_period sets how many days of average volume the threshold must cover (at least 25% of the window, floored at 30 days), and base_threshold is one coverage period of the agent's average daily incoming volume.

That base is then scaled by an AR modifier — the protocol's link between performance and coverage. Strong agents reserve less; weak agents reserve more:

Agent RatingModifierEffect
≥ 0.90.75×25% reduction — strong record, less coverage needed
0.7 – 0.891.0×No adjustment — standard coverage
0.5 – 0.691.25×25% increase — below-average performance buffered
< 0.51.5×50% increase — poor performers hold substantially more
Provisional (< 10 interactions)1.25×Conservative default until the agent is Rated
coverage_period = max(dispute_window × 0.25, 30)
base_threshold = avg_daily_volume × coverage_period
effective_threshold = base_threshold × ar_modifier

The effective_threshold is always public — counterparties compare it against the current balance. Beyond the AR modifier, implementations MAY further reduce the threshold for agents with long dispute-free records, reversing the reduction if disputes occur.

Worked example

A Provider with a 120-day dispute window and roughly $1,000/day in volume:

coverage_period = max(120 × 0.25, 30) = 30 days
base_threshold = $1,000 × 30 = $30,000
Agent RatingModifierEffective threshold
0.92 (high performer)0.75×$22,500
0.85 (standard)1.0×$30,000
0.60 (below average)1.25×$37,500
0.42 (poor)1.5×$45,000

Crossing the threshold

A transaction larger than the current threshold is never blocked. The threshold rises to the transaction value, the configured rate reserves escrow as usual, and the account simply drops to FUNDING — a soft signal that coverage is rebuilding. FUNDING never restricts operations.

CONSTRAINED is different. It triggers only when open disputes exceed the balance, and it does restrict the agent:

  • New outbound transactions are blocked
  • Inbound transactions continue, with all proceeds routed to escrow to rebuild coverage
  • The AID transitions to SUSPENDED; counterparties see status “escrow constrained”
  • Constraints lift only when all disputes resolve and the balance recovers above the threshold

Transparency

Counterparties can read the full escrow posture before transacting. The following are public: current balance, funding_rate, threshold, current state, dispute_window, coverage_period, principal-contribution history, and dispute history — enough to judge whether coverage is adequate for a proposed transaction.

Escrow account schema, new-agent bootstrapping rules, and the full worked example are in the Extended Specification §7.

Pillar 4

Dispute Resolution

AEA/P provides structured recourse when a buyer receives inadequate or no service despite having paid. It mirrors the payment-network chargeback model: the paying party has standing to dispute, the respondent bears every cost of resolution, and a buyer is never penalized for filing a legitimate claim.

Dispute Resolution Lifecycle
Dispute Resolution Lifecycle

Standing — who can file

Standing belongs to the paying party: the buyer files, the seller answers.

RoleUsual positionNotes
ConsumerApplicantFiles against providers it purchased from. Protected by the respondent-pays model, but a pattern of lost disputes lowers its dispute_fairness, discouraging frivolous filing
ProviderRespondentUsually answers customer claims; MAY also file as a buyer against its own suppliers
EnterpriseBothRespondent when selling, applicant when buying

Recourse against a Consumer is out of scope — because consumers only pay out, a counterparty's recourse runs through the consumer's principal via the delegation chain.

Dispute lifecycle

A dispute moves through a fixed sequence from filing to enforcement.

StageWhat happens
FILEDThe buyer submits the dispute with evidence, the disputed transaction(s), and the amount claimed
PRE_ARBITRATIONA 7-day window for the respondent to resolve directly. If the applicant accepts the offer, the dispute closes as a resolved complaint — reduced AR impact, no bounty
TRIAGEExposure (disputed amount + bounty) is compared to escrow; high exposure constrains the agent (see below)
IN_ARBITRATIONThe dispute enters the pool, a board forms, both parties submit evidence, and arbitrators vote
RESOLVEDThe board reaches a strict majority. The losing party MAY escalate within the deadline (default 7 days), up to three hearings total
ENFORCEDFunds disburse from escrow, bounties pay out, and escrow state and PoP update automatically

The share of disputes settled in pre-arbitration versus those going to a full board is itself a meaningful trust signal.

Triage

Once pre-arbitration fails, the dispute is triaged on total financial exposure — the disputed amount plus the arbitration bounty.

ExposureEscrow impactAgent impact
≤ escrow balanceDisputed amount + bounty locked in DISPUTE_HOLDKeeps operating; proceeds to arbitration
> escrow balanceFull balance locked in DISPUTE_HOLDEnters CONSTRAINED — AID → SUSPENDED; arbitration proceeds in parallel, dispute obligations still accessible

The dispute pool

Unresolved disputes sit in a public pool that registered arbitrators browse and self-select from. Each listing shows the domain, amount, bounty, priority, and escalation round — but never the parties' identities, the evidence, or prior votes.

  • The pool is stratified: new and probationary arbitrators work a remediation pool of low-bounty disputes to build their record, while proven arbitrators handle the rest. A board is drawn entirely from one pool
  • Arbitrators are independent humans or agents with a minimum escrow stake, no open disputes against them, and no relationship or shared principal with either party. An agent-arbitrator needs its own AID and an unrelated principal
  • A board forms once enough eligible arbitrators sign up, and the dispute leaves the pool. If none sign up for 14 days, the bounty auto-increases from the respondent's escrow

Arbitration board

The board grows with each escalation, and no arbitrator carries over between rounds.

HearingBoard sizeStrict majority
First3 arbitrators2 of 3
Second (escalation)5 arbitrators3 of 5
Third (final)7 arbitrators4 of 7
  • Arbitrator identities are anonymous to the parties throughout
  • The board MAY grant one evidence-window extension, by majority vote, if the evidence is insufficient
  • An abstaining arbitrator withdraws and is replaced to keep the board at full size; resolution needs a strict majority of the votes cast
  • Each escalation adds a fresh board and additional bounty; the final outcome is a strict majority across two of the three hearings, or escalation is exhausted

Every arbitrator carries an Arbitrator Reliability Score — the time-decayed ratio of votes that matched the final outcome (ARS = aligned_votes / total_votes). A high ARS earns preferential selection; at or below 0.5 the arbitrator drops to the remediation pool; at or below 0.3 they may forfeit part of their stake. Bounties are split equally among the board regardless of how each member voted.

Bounty

Dispute costs fall entirely on the respondent; the applicant never pays.

bounty = clamp(disputed_amount × bounty_rate, bounty_min, bounty_max)

bounty_rate, bounty_min, and bounty_max are configurable per agent and funded from the respondent's escrow. The floor keeps small disputes worth an arbitrator's time; the ceiling caps the cost on large ones.

Enforcement

Once voting concludes and the escalation deadline passes, disbursement and state changes execute automatically.

OutcomeFundsAfter
For applicantDisputed amount moves from escrow to the applicant; bounty pays the arbitratorsRespondent's AR decreases; the agent returns to ACTIVE only once escrow is restored above threshold
For respondentDISPUTE_HOLD releases back to escrow; bounty still pays the arbitratorsNeutral for the respondent; the applicant's AR may suffer if its filing pattern looks frivolous

Effects on Agent Rating

SignalEffect
Provider dispute_freeDrops to 0.0 the moment any dispute is filed on a task, regardless of how it resolves
Consumer dispute_fairnessA lost dispute lowers the ratio of disputes resolved in the consumer's favor — discouraging frivolous filing
Provider winsEscrow is returned, but the dispute_free hit for that task stands — it is not retroactively undone

Dispute submission fields, evidence format, pool-listing details, and the full ARS thresholds are in the Extended Specification §8.

Pillar 5

Entity Governance

Entity Governance is the coordination layer for autonomous economic entities with more than one principal. It defines ownership, voting, agent management, and lifecycle controls for organizations where no single party has unilateral authority.

Entity Lifecycle
Entity Lifecycle

When it applies

The principal hierarchy is Principal(s) → own → Entity → governs → Agent(s). An entity is an optional layer; how strongly it is needed scales with the number of principals and agents involved.

DeploymentEntity GovernanceWhy
Single principal, one Consumer agentNot requiredThe delegation chain already provides all the governance needed
Single principal, one Provider agentOptionalThe delegation chain suffices; a governance document can still formalize operating parameters
Single principal, multiple agentsRecommendedOne place to set team structure, privileges, shared escrow policy, and coordinated lifecycle
Multiple principalsRequiredCo-owners need a shared agreement defining ownership, voting, and modification rules

The rule underneath the table is simple: entity governance is required the moment more than one principal shares ownership.

Entity lifecycle

StageDescription
FORMINGFounding principals register their public keys, agree on the entity's objective, and sign the Governance Document. Escrow opens in FUNDING; no agents are active yet
ACTIVEThe Governance Document is signed by all founders. The entity is operational and agents can be registered
AMENDINGAn amendment is under vote. The entity continues operating during the vote
TRANSFERRINGAn equity sale is crossing the 50% control threshold. 90-day hold; escrow locked during the transfer
DISSOLVINGA unanimous dissolution vote has passed. Outstanding disputes must resolve before any distribution
TERMINATEDThe entity is closed. Escrow is distributed by ownership stake after the 90-day dispute hold

Objective

Every entity declares an objective — its mission, or optimization directive — in the Governance Document. It is machine-readable where possible (maximize_profit, minimize_cost, maximize_service_quality, balanced) and guides agents whenever operating parameters leave room for discretion.

  • It is public. Counterparties read it as a trust signal — whether the entity's optimization directive aligns with the transaction they are considering
  • Every agent's own objective (in its AID) MUST be consistent with it. An agent may specialize the mission — entity maximize_profit, agent minimize_input_costs — but never contradict it
  • Changing the objective requires a unanimous vote (see below). It defines the purpose the principals collectively committed to, so all of them must agree to redirect it

Governance Document

The Governance Document is the machine-readable constitution of the entity. Every modification creates a new version, preserving a complete audit trail.

ComponentDescription
Entity identitydocument_id, entity_id, name, version, and creation/modification timestamps
ObjectiveThe entity's declared mission or optimization directive — public, and binding on every agent's objective
Ownership registryFounding principals, their public keys, and equity stakes (must sum to 100%)
Voting rulesQuorum and threshold per decision category
Escrow policyFunding rate, dispute_window (default 30 days, which drives the §7 coverage period), and per-principal top-up commitments
Agent registryWhich agents the entity controls, with a privilege set per agent
ProceduresModification and termination procedures, plus optional machine-readable bylaws
Version historyEvery prior version retained — a full signed audit trail

Parameters set here propagate to every agent under the entity; an agent may be stricter via its delegation chain but never exceed the entity's limits. Because the whole document is machine-readable, it can be enforced in a database, on-chain via smart contracts, or a hybrid — with distributed ledgers giving co-owners the strongest guarantee that the agreed rules execute exactly as written.

Ownership and tokens

Ownership is cryptographically grounded — each principal's stake is bound to their public key in the registry, and any owner action is performed by signing with the matching private key. There is no external registrar; ownership is enforced by cryptography, not by trust.

Token typeRightsGovernance control
Equity (voting)Ownership share plus voting weight proportional to holdings; >50% controls the entityYes — bound to a public key in the ownership registry
Non-votingRevenue sharing and service accessNo — participation without governance control
  • Below 50%: a principal may transfer their stake with a simple-majority vote
  • Crossing 50% (a control transfer): supermajority approval plus a 90-day hold with escrow locked
  • The performance record, escrow, and dispute history follow the entity — a new owner inherits the full economic history, including outstanding dispute obligations

Voting and decisions

Decisions are made through cryptographically signed votes. A principal submits a signed proposal; every equity holder casts a signed vote (FOR / AGAINST / ABSTAIN) weighted by their equity; the system tallies against the threshold by the deadline. Approved changes increment the document version, and every proposal, vote, and outcome is recorded with full signature chains — a verifiable audit trail with no trusted intermediary.

Decision categoryThreshold
Operational — escrow rate, bounty levels, PoP weights, adding/removing agentsSimple majority (more than 50% of equity)
Financial — expenditures above a limit, principal contributions, revenue distributionSimple majority (more than 50%)
Governance amendment — structure, voting thresholds, issuing tokensSupermajority (at least two-thirds)
Ownership transfer — sale or transfer of controlling interestSupermajority (at least two-thirds)
Objective change — redirecting the entity's missionUnanimous (all principals)
Entity termination — dissolve and distributeUnanimous (all principals)

Agent management

The Governance Document holds an agent registry — each agent's economic_role, team, supervisor, status, and a privilege set.

  • A privilege set covers transaction limits, the co-signer threshold above which a second signature is required, permitted operations (purchase, sell, delegate, governance_vote), data access, and whether the agent may sub-delegate
  • Privilege changes require a governance vote — no single principal can unilaterally expand an agent's authority
  • Removing an agent from the registry does not revoke its AID; only the entity's authorization for that agent ends
  • An entity must resolve all outstanding disputes before dissolving — agents cannot be deregistered while disputes are open

Transparency

Entity governance is a public trust signal, not an opaque internal matter. Counterparties can inspect the essentials before transacting.

InformationVisibility
Objective, current Governance Document, ownership distributionPublic — operating rules, mission, and concentration risk
Version history and governance activity summaryPublic — proposal counts and outcomes by category, showing governance is active and stable
Agent registry and lifecycle stagePublic — which agents operate under the entity, and whether it is operating, transferring, or terminating
Full proposal and vote detailsPrincipals only — individual signed votes and detailed change specifications

The Governance Document schema, the full proposal and vote structures, privilege fields, and bylaw enforcement are in the Extended Specification §9.