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 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

A company's agent buys data enrichment from third-party seller agents. It picks a seller on price, transfers 500 USDC on-chain, and receives a malformed response. The seller is unresponsive. 48 hours later the company discovers the problem.

✕No way to verify the seller 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 buyer verified the seller's identity, escrow state, and PoP rating — all offline, in milliseconds
✓The seller's liability escrow was ACTIVE — funded automatically from its sales
✓The buyer files a dispute; if the claim exceeds the seller's coverage, the protocol automatically constrains the seller from 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 sales once an agent sells. Disputes become relevant when something goes wrong. Entity Governance is the constitutional layer for business agents operating under a governance document — required when several principals govern an agent jointly. 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

What AEA/P defines

AEA/P is a governance protocol, not a payment protocol. It specifies the accountability that spans communication, payment, and identity infrastructure. The five pillars are complementary — a high Agent Rating lowers the escrow threshold, clean dispute history protects the rating, and verified identity makes the rating trustworthy.

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 sales 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 type and authorized actions. A personal agent always buys only; a business agent falls in the column matching what it buys and sells. An agent that sells holds liability escrow from Level 1, and entity governance applies at Level 3 to business agents operating under a governance document.

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 — agent builders, Platform, Operator, and Verifier.
START
Quickstart
Register an agent and run one governed transaction end to end against an Operator.
WHITEPAPER
Whitepaper
Architecture, lifecycle, and component interactions. Designed for evaluators and standards bodies.
SPEC
Protocol Specification
Full protocol specification — schemas, field-level definitions, and operational scenarios.
CHANGELOG
What's New
Version history from v0.1 through current.

Status: Protocol Specification and Whitepaper v0.3.2 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.

→ 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, register the principal, then register each agent with the Operator to issue its certificate.
  3. Implement discovery and routing between agents; the Operator always enforces each buyer's spend scope from its AID at payment-intent creation, before funds move; you may enforce your own rules on top.
  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 escrow for each agent that sells.
  3. Implement the core endpoints — challenge nonces, payment-address and intents, and facilitate (verify the buyer, read the Settled event, credit escrow, open the task) — and record seller refunds against the original intent.
  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 — Tier 1 KYC for personal agents, Tier 2 KYB for business agents, Tier 3 for multi-principal governance — returning a Verification Attestation.
  3. Onboarding diligence only; transaction-time AML is the Operator's job.

→ Full path: Verifier guide

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

Whitepaper

The AEA/P Whitepaper presents 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. It is informative; the Protocol Specification is normative and governs where the two differ.

What the Whitepaper covers

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

  • Agent types: PERSONAL and BUSINESS, with authorized actions deciding what a business agent does, and the buyer agent and seller agent on the two sides of each transaction
  • Conformance levels 1–3 and the personal-to-business upgrade
  • Agent Identity lifecycle (AID states: DRAFT → ACTIVE → REVOKED)
  • PoP rating lifecycle (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 with sequence diagrams, and the security threat model

Download

Relationship to the Protocol Specification

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

The two documents are derived from the same source and carry the same version number. Versions before v0.3 were published as the Protocol Framework.

Protocol

Protocol Specification

The Protocol Specification is the normative, 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 Whitepaper, the Specification provides:

  • §5 Agent Identity: Full AID schema, PrincipalRef structure, delegation chain rules, counterparty verification flows, verification attestation format
  • §6 Proof of Performance: Seller and buyer signal tables with weights, the value-weighted AR blend 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, refunds
  • §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
  • §10 Operational Scenarios: Registration requirements by agent type, and sequence diagrams for registration, an agent-to-agent transaction, dispute resolution, and a voluntary refund

Download

A full web-rendered specification with inline diagrams, searchable content, and cross-references is planned for a later version.

Specifications

Conformance & Certification

AEA/P defines three conformance levels by agent type and authorized actions. AEA/P Certified attests that an implementation meets the protocol's MUST requirements for the level, agent type, and actions it claims.

Conformance levels

LevelBuys onlySells onlyBuys and sells
1 · IdentifiedIdentity, delegation chain, spending authorizationIdentity, delegation chain, capability declarations, liability escrowAll of these
2 · Accountable+ PoP (buyer signals), spending limits+ PoP (seller signals), liability escrow+ PoP blended by value, escrow, spending limits
3 · GovernedFull protocol; disputes as applicantFull protocol; disputes as respondentFull protocol; both dispute positions

A personal agent always buys only; a business agent falls in the column matching its authorized_actions, and entity governance applies at Level 3 to any business agent under a governance document. A claim of conformance states the level, the agent type, and the authorized actions.

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 a later version. 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 a later version.

Protocol

Changelog

Version history for the AEA/P Protocol Specification and Whitepaper (published before v0.3 as the Protocol Framework).

v0.3.2 October 2026 Current

Dispute and refund rules made explicit.

  • While a dispute on a payment is open, the seller MUST NOT refund it and implementations MUST NOT record a refund against it (§7.6). Refunds are possible again once the dispute has closed
  • Cumulative refunds, together with any amounts paid to the buyer from escrow through a dispute on the same payment, MUST NOT exceed the original transaction_value (§7.6, §11)
  • Pre-arbitration is the respondent’s only opportunity to resolve directly: it accepts the claim in full, or offers a partial settlement the applicant accepts — either paid from its escrow, with no bounty (§8.1, §8.3, new row in Table 8.3)
  • Once the dispute enters the Dispute Pool, only the Arbitration Board decides
  • The buyer files through its agent, or its principal on the agent’s behalf (§8.1)
  • The third hearing cannot be escalated, so it is decided by simple majority of the votes cast, even if the board could not be kept full; an exact tie, including no votes, is resolved in favor of the applicant (§8.7, Table 8.11)
  • Enforcement runs automatically once the outcome is final — the escalation deadline passes without an escalation, one side has won two hearings, or the third hearing is decided. No party, Platform or Operator action triggers it (§8.1, §8.9)
v0.3.1 October 2026

Terminology only — no change to protocol behavior.

  • agent_type replaces economic_role, with values PERSONAL (formerly CONSUMER) and BUSINESS; it says whom an agent acts for (§1.1, Table 1.1, §2.1, Table 5.6)
  • New §1.1 paragraph separating three questions: agent_type (whom the agent acts for, set at registration), authorized_actions (what it may do) and side (what it does in one transaction)
  • The in-place change is the PERSONAL → BUSINESS upgrade (§4.3, retitled Agent Type and Action Changes; §10.4 Type Upgrade: Personal to Business). Role compatibility, role–tier and role–principal coupling become type compatibility (§5.4.5), type–verification_tier coupling and type–principal coupling (§5.2.1)
  • The per-interaction field role_in_interaction is renamed side (SELLER | BUYER; §6.2, Table 6.5, §6.4.2); Table 8.1 is keyed on side
  • Flows and diagrams name the parties by side — buyer agent and seller agent — since both ends of an AEA/P transaction are agents (§2.1; Figures 10.2–10.4). “Personal agent” and “business agent” are used where the type matters: registration, verification, escrow eligibility, the upgrade
  • “Role” is kept for the infrastructure roles: Operator, Platform, Verifier
  • Certificate claims renamed: aeap.agent_type replaces aeap.economic_role, and aeap.verification_tier replaces aeap.principal_type (Table 5.17), removing the clash with principal_type (individual | company) in registration
  • Figures updated: governance lifecycle (agent type applicability), conformance levels, escrow lifecycle, and Figures 10.1–10.4
v0.3 October 2026
  • Two economic roles, CONSUMER and BUSINESS (§1.1, Table 1.1, §2.1). A CONSUMER agent acts for a natural person and only buys; a BUSINESS agent acts for a registered business — a company, or an individual holding a business license — and may be paid
  • Within BUSINESS, authorized_actions decides what the agent does. Role compatibility is normative (§5.4.5): CONSUMER MUST include purchase and MUST NOT include sell; BUSINESS MUST include at least one of purchase or sell
  • Verification follows the role (§5.2.1, Tables 5.2b–5.2c): Tier 1 for CONSUMER, Tier 2 for BUSINESS (a sole proprietor's business license satisfies business registration), Tier 3 for BUSINESS agents governed by multiple principals
  • CONSUMER → BUSINESS is an in-place transition after Tier 2 verification that keeps identity, AR history and dispute record; BUSINESS → CONSUMER requires a new agent (§4.3, Table 5.6)
  • Conformance levels (Table 4.1) and delegation patterns (Table 5.16) are organized by authorized actions; entity governance applies to any BUSINESS agent under a governance document
  • role_in_interaction is SELLER | BUYER, with seller and buyer signal sets (§6.2.1–6.2.2, Table 6.5), seller and buyer checks in counterparty verification (§5.5.2–5.5.3), and dispute positions by side (Table 8.1)
  • ScopeRef dimensions are keyed on authorized actions (Table 5.9): spending_limit and counterparty_allowlist_digest apply to agents carrying purchase; authorized_markets (now MUST) and catalog_url to agents carrying sell
  • One AR per agent blends the seller and buyer components weighted by transaction value net of refunds (§6.2.3); the 0.75 prior applies per side (§6.2.4); transaction_value on interaction entries is now MUST (Table 6.5)
  • Escrow covers sell volume only and is MUST for every BUSINESS agent carrying sell (Tables 5.12, 7.1); escrow answers for seller faults only, while buyer faults run to the principal; a CONSTRAINED escrow suspends the whole agent (Table 7.2)
  • New §7.6 Refunds and Table 7.9: a seller-initiated payment from the operational balance that references the original intent_id, is authorized by the sale rather than by purchase, sits outside spend scope, and is capped at the original value
  • A refund adjusts the original interaction (new refunded_value and refund_refs, Table 6.5) and never lowers dispute_free. Refunds are separate from disputes, which are paid from escrow; a later dispute may claim only the unrefunded value (Table 8.2). Refund manipulation added to the threat model (Table 11.1)
  • Condensed the specification: AEA/P spans identity, settlement and accountability rather than sitting as a layer above other protocols, so the protocol-agnostic principle, the agent-stack position and the rail-agnosticism sections are removed; the governance lifecycle is one section (§3.3), and the reinforcement-loop, adoption-path, level-transition and defense-in-depth sections that repeated it are removed
  • Registration walkthroughs replaced with Table 10.1; sequence diagrams for registration, an agent-to-agent transaction in five phases, dispute resolution and a voluntary refund (Figures 10.1–10.4); unversioned future-work list; references trimmed to those the text relies on
  • The Framework Edition is renamed the AEA/P Whitepaper — informative, with the Protocol Specification normative
v0.2.9 September 2026
  • Added the policy.* attestation family (§5.7, Table 5.21): a policy.posture attestation, issued by the agent's Platform, declares as namespaced policy_ids the request-path policies the Platform enforces at the agent's runtime edge — declarations only, never configuration values
  • Generalized issuer enforcement to all attestations: AEA/P verifies the reference — signature, subject, digest — never the substance of the claim; Table 5.21 gains claims_digest
  • Opened the attestation_type taxonomy as an extension point: issuers MAY define their own reverse-DNS families without a specification revision
  • Added counterparty_allowlist_digest to ScopeRef (§5.3.2.3, Table 5.9): a private list of counterparties a buyer may purchase from, held by the Operator and Platform and committed in the AID as a salted sha256 digest; enforced before committing and at payment-intent creation, with the new rejection code counterparty_not_allowed (§5.6.6)
v0.2.8 August 2026
  • Added catalog_url to ProfileRef (§5.3.2.5, Table 5.10a): an OPTIONAL machine-readable catalog reference for PROVIDER and ENTERPRISE agents (serialized null for CONSUMER).
  • Format is normative: the referenced document MUST be a schema.org OfferCatalog served as application/ld+json over HTTPS, each Offer declaring itemOffered (Product or Service), price, and priceCurrency per the Table 5.10b currency convention — vendor-neutral vocabulary underlying the merchant-feed ecosystems (mechanically transformable to Google Merchant / ACP-style feeds) and covering services as well as goods.
  • New “Catalog semantics” paragraph: only the URL is inside the AID signature boundary — catalog content is mutable, unsigned, advisory under the ProfileRef firewall, and never a protocol gate input; catalog prices do not bind — binding terms are exclusively those of the commitment.
  • Layering fixed: catalog retrieval, parsing, indexing, and discovery are platform-layer services; the Operator’s obligation ends at serving the reference in the AID.
  • Table 5.6 profile row and Figure 5.3 example updated.
  • No §5.4.2 change — catalog_url inherits profile mutability (identity-level, freely mutable, re-signs the AID).
  • §7.3.1: final-sale eligibility gate — implementations MUST accept dispute_window_days = 0 only for agents at Rated status (Table 6.1) with agent_rating ≥ 0.85; if AR later falls below 0.85 the configuration is revoked and dispute_window_days resets to the default (30), prospectively only.
  • Table 7.3 dispute_window_days row and Table 7.5 final-sale row cross-reference the gate.
  • §7.5.1: Provisional funding override — until an agent reaches Rated status, implementations MUST divert 100% of incoming transaction value to escrow whenever the balance is below the threshold; the override ends at threshold or Rated status, and principal pre-funding (§7.5.2) exits it
  • Table 7.3 funding_rate row cross-references.
  • Together the two rules close the cold-start protection gap: agents without a meaningful track record can neither disclaim dispute recourse nor operate against an empty escrow.
  • Rating prior initialization (§6.2.4): agent_rating is initialized at registration to 0.75 — equal to the default minimum_counterparty_ar floor — and converges to observed performance as a weighted blend (AR = (C × 0.75 + Σ task ratings) / (C + n)
  • C implementation-defined, RECOMMENDED 5, with prior influence substantially decayed by Rated status).
  • The Unrated lifecycle stage is removed: Provisional spans 0 to N-1 interactions (Table 6.1) and carries the PROVISIONAL warning throughout; agent_rating is never null post-registration (Table 5.11, §5.3.3, Figure 5.3 updated).
  • The Table 5.9 minimum_counterparty_ar cold-start exemption is deleted — prior-initialized ratings are compared against floors like any rating, so the default floor admits new agents at equality while stricter floors genuinely exclude them.
  • Table 7.6 and §7.3.1 wording updated accordingly. aid_version unchanged (1).
v0.2.7 July 2026
  • Table 5.12: extended the liability_profile MUST-public field set from three to six — added currency, funding_rate, and dispute_window_days — harmonizing the AID escrow pillar contract with the §7.6 escrow transparency table (both were already public there) and making the balance/threshold pair interpretable (denomination).
  • Corrected the effective_threshold parenthetical: below-threshold is FUNDING state per Table 7.3, not CONSTRAINED.
  • Table 5.11: added normative serialization for the performance pillar following the §5.3.2.6 precedent — agent_rating serializes as a decimal 0.00–1.00, null until first rated interaction, with lifecycle status derivable from the publicly readable performance record; performance_record serializes as an implementation-defined locator to the §6.4 record.
  • Renamed dispute_window to dispute_window_days protocol-wide (Table 7.3, §7.3.1, §7.6, §9.2, §10, and the Table 5.12 addition above) to match the window_days / coverage_period_days convention and to unify with the deployed API; pure rename, no behavioral change. aid_version unchanged (1).
v0.2.6 July 2026
  • Folded the descriptive identity fields into a single identity.profile object (display_name, description, objective) — the unit of descriptive mutation (§5.3.2.5)
  • Relocated the advisory attestations member into the identity pillar as identity.attestations; the AID top level returns to the document-infrastructure fields plus the five pillars (§5.3.2.7)
  • profile and endpoint_url are freely mutable — a change re-signs the AID without incrementing scope.version (§5.4.2)
  • principal.country is now required (ISO 3166-1 alpha-2) — self-declared at signup, hardened by KYB, and gating production promotion (§5.3.2, Table 5.7)
  • authorized_markets becomes provider/enterprise-scoped and serializes null for a consumer, whose market derives as {principal.country}-{currency}; the seller matches it directly or via GLOBAL-{currency} (§5.5.3)
  • Closed the Market format: the jurisdiction component MUST be GLOBAL or an ISO 3166-1 alpha-2 code; market_not_authorized redefined to the derived-market check (§5.6.6)
  • Added normative SpendingRef and Money serialization (§5.3.2.6, Tables 5.10b–5.10c)
  • Runtime economic actions — requesting a payment intent, reporting facilitation, confirming performance, filing a dispute — MUST authenticate as the acting agent by certificate + bound proof, never the hosting platform's management credential (§5.6.4)
v0.2.5 June 2026
  • Added §5.8 Commitment Authorization — an OPTIONAL, default-off request-time principal-consent credential: single-use, amount-scoped, signed by identity.principal and verified against the key bound through the Verification Attestation (Table 5.22)
  • Added both-sided step-up trigger dimensions step_up_threshold and counterparty_step_up_threshold (§5.3.2.3), the AEAP-Commitment-Authorization header (§5.6.4), and the authorization_required / authorization_invalid rejection codes (§5.6.6)
  • Disabled by default — agent behavior is unchanged until a threshold is set
v0.2.4 June 2026
  • Added an advisory Agent Attestations layer (§5.7, Table 5.21): the type families (identity. / compliance. / capability. / risk.) and an explicit firewall — attestations gate nothing and are authoritative for nothing
  • Verification portability: an identity-class attestation from a recognized Verifier MAY satisfy the DRAFT→ACTIVE Verification Attestation without re-running KYC/KYB; non-identity types never qualify (§5.2.1)
  • Function-typed Trust Registry recognition — operator / verifier / attestation_issuer (§5.6.3)
v0.2.3 June 2026
  • Reframed the Trust Registry as a published, resolvable artifact — a set of recognized Operators and the metadata to resolve and verify their certificates — rather than an actor; the initial registry lives at the aeap.dev domain, and a relying party may additionally maintain its own trust store (§1.1, §2.1, §5.6.3)
  • Renamed the per-agent rating field pop_rating → agent_rating across the AID schema and status-resolution fields; the field references the Agent Rating (AR) defined in §2.3 (§5.3.3, §5.6.5)
v0.2.2 June 2026
  • 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 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, delegate — hire 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/principalsRegister a principal — the onboarding entry ahead of agent registration
POST/v1/agentsIssue an agent credential from a Verification Attestation
POST/v1/agents/{did}/scope/authorized_marketsProvision 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
POST/v1/refundsReport a seller refund against an earlier sale

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.

Nustro
An AEA/P Operator implementation by Nustro. Implements all five pillars across the full endpoint surface.
Explore live API ↗ nustro.com ↗

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.

Protocol architecture
Three channels, one accountable stack

Orchestration flows down the stack — onboarding, routing, registration. Value moves directly to settlement, never through the middle. Identity is proven against the Operator, the system of record. AEA/P binds all three into one governed transaction.

deliver · direct
onboard
request
register · activate
verify · facilitate
prove · verify
pay( ) · direct
External · Buyer side
Buyer agent
Buys services for its principal
  • Discovers & verifies sellers
  • Pays the settlement contract directly
  • Confirms the outcome (PoP)
External · Seller side
Seller agent
Sells services to other agents
  • Proves identity with an AEA/P certificate
  • Delivers the service directly
  • Earns escrow on confirmed settlement
Control plane
Platform
The single front door
  • Onboards & routes every agent
  • Mediates discovery & negotiation
  • Negotiates payment (HTTP 402)
System of record
Operator
Identity, trust & reputation
  • Registers & activates agents
  • Issues credentials, keys & ratings
  • Verifies settlement & PoP
On-chain · Settlement
Settlement contract
The value rail
  • Holds escrow in custody
  • Splits payment atomically — op · escrow · fee
  • Emits Settled events
Orchestration — onboarding, routing, registration
Value — on-chain payment & escrow, direct
Identity & trust — proven against the Operator
Three trust channels across the five-participant stack. The Verifier (Phase 0 onboarding) is not shown — it acts before the live transaction.
ParticipantRole
BuilderAn agent builder — a personal agent buys for an individual; a business agent sells, buys, or both for a registered business. Both register through a Platform; in a transaction, each is the buyer agent or the seller agent.
PlatformThe Agentic Platform — onboarding front door and runtime host: discovery, routing, and its own policy enforcement on top of the Operator's.
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 personal or business agent — register with a platform, then transact.
PLATFORM
Platform
Onboard, discover, and route — the Operator enforces the agent's spend scope; you may add your own rules.
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 participants interlock in a single governed transaction between a buyer agent and a seller agent — six phases from identity verification through settlement, service delivery, and PoP confirmation. The mechanics shown are one concrete realization of the protocol. Below, “Buyer” and “Seller” are short for the buyer agent and the seller agent.

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 — The seller agent and the buyer agent each onboard once through a single platform front door (the seller agent as a business agent carrying sell; the buyer agent as a personal agent or a business agent carrying purchase): KYC/KYB via a Verifier, principal and agent registration with the Operator (which issues the agent's certificate), and (for Sellers) escrow and Settlement Contract registration.
1
Discovery & mutual authentication — The platform matches a Seller; the Buyer verifies the Seller's certificate, status, escrow coverage, and rating before committing.
2
Payment negotiation — The Seller requests a payment intent from the Operator, which always enforces the Buyer's spend scope before minting it (a Platform may apply its own rules on top); the Seller returns the HTTP 402. No intent, no settlement.
3
Settlement — The Buyer pays the on-chain Settlement Contract directly. Funds split atomically. The Operator never holds funds.
4
Verification & delivery — A single facilitate call verifies the buyer and confirms settlement, credits escrow, and opens the task. Only then does the Seller deliver — settlement gates delivery.
5
Performance confirmation — Within 72h the Buyer 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 Buyer Agent participant PA as Seller Agent participant AP as Platform participant OP as Operator participant SC as Settlement Contract Note over C,SC: Phase 0a - Seller Agent onboards as a business agent (single front door at the platform) PA->>AP: Onboard - principal + KYB + agent + market/network/method + wallet AP->>OP: Register principal (POST /v1/principals) AP->>OP: Register agent (POST /v1/agents) OP-->>AP: full AID (DRAFT) AP->>OP: Activate (POST /v1/agents/{did}/activate) OP-->>AP: key pair (once) + credential + status_url AP->>OP: Configure scope (POST /v1/agents/{did}/scope/authorized_markets) OP->>SC: registerSeller(...) SC-->>OP: SellerRegistered OP-->>AP: escrow_wallet + settlement_contract + register_tx AP-->>PA: onboarded - credential + settlement (stored + indexed) Note over C,SC: Phase 0b - Buyer Agent onboards as a personal or business agent (single front door) C->>AP: Onboard - principal + KYC/KYB + agent + spend scope AP->>OP: Register principal (POST /v1/principals) AP->>OP: Register agent (POST /v1/agents) OP-->>AP: full AID (DRAFT) AP->>OP: Activate (POST /v1/agents/{did}/activate) OP-->>AP: credential (identity + scope) + status_url AP-->>C: onboarded - spend scope configured on the AID (via Operator) Note over C,SC: Phase 1 - Discovery and mutual authentication C->>AP: Discover seller - task + method/currency AP-->>C: seller match + credential ref + endpoint C->>OP: GET /v1/verify/challenge OP-->>C: nonce (120s) C->>PA: AEAP-Challenge - nonce PA-->>C: AEAP-Certificate + AEAP-Challenge-Response + AEAP-Timestamp C->>C: Verify seller offline (Operator CA/JWKS + challenge-response) C->>OP: GET /v1/agents/{did}/status OP-->>C: ACTIVE + production + cert_tier + escrow_state + agent_rating Note over C,SC: Phase 2 - Payment negotiation (direct - Operator enforces at intent creation) C->>PA: GET /resource - direct, endpoint from discovery PA->>OP: GET /v1/payment-address (market, network, buyer_did, amount, seller_did) OP->>OP: Enforce buyer spend scope (AID) at intent creation OP-->>PA: settlement_contract + token + intent_id + expires_at PA-->>C: 402 Payment Required (contract, token, intent) Note over C,SC: Phase 3 - Buyer pays the settlement contract directly C->>SC: pay(token, amount, sellerIdHash, buyerIdHash) 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 - AEAP-Certificate + AEAP-Proof + AEAP-Payment-Tx PA->>OP: POST /v1/verify/proof (verify buyer) PA->>OP: POST /v1/facilitate (tx_hash) OP->>SC: read Settled event SC-->>OP: legs verified + sellerIdHash verified OP-->>PA: escrow_credited + escrow_state + task_id PA-->>C: 200 OK - result / access / feed (direct) Note over C,SC: Phase 5 - Bilateral performance confirmation (72h window) C->>OP: POST /v1/tasks/{task_id}/confirm (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

The buyer agent and the seller agent each onboard once through a single front door at their Platform. The platform registers the principal and verifies its email — issuing its platform API key — and runs KYC/KYB through a Verifier, which issues a Verification Attestation. Only once verified does the platform register the agent with the Operator, which issues the agent's certificate. For a Seller, this one-time setup also provisions a segregated escrow wallet and registers the Seller on the Settlement Contract; the Operator controls the escrow wallet, so the Seller 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 Seller cannot withdraw from or modify escrow parameters directly
  • The funding_rate is set from an Operator-controlled configuration. Seller 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 Buyer discovers a Seller through its platform, then verifies it directly. Before committing to a payment, the Buyer confirms the Seller holds a valid AEA/P identity and sufficient escrow coverage. Critically, certificate verification is offline — the Buyer never needs a round-trip to the Operator to verify the Seller'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 Seller must respond within 2 minutes of the Buyer requesting the nonce
  • Certificate verification is offline: The Seller's AEA/P Certificate is a JWT signed by the AEA/P Certificate Authority. The Buyer verifies the JWT signature against the published CA public key — no Operator call needed
  • Challenge response is an EC signature over the nonce. Buyer verifies offline using the public key extracted from the certificate
  • Timestamp check: within 30 seconds — the AEAP-Timestamp in the Seller's response must be within 30 seconds of the Buyer's local time, preventing delayed-replay attacks
  • Buyer checks escrow_state and agent_rating from the status endpoint before proceeding. A Buyer may refuse to transact with a Seller in FUNDING or CONSTRAINED state

Key AID fields checked during authentication

FieldSourceWhat the Buyer checks
cert_tierCertificate (offline)Minimum tier required for the requested service
environmentStatus endpointMust match Buyer's environment (sandbox / production)
escrow_stateStatus endpointACTIVE = full coverage; FUNDING = below threshold
agent_ratingStatus endpointAgent Rating (AR); prior-initialized at 0.75 and marked PROVISIONAL until 10 interactions

Phase 2 — Payment negotiation

When a resource requires payment, the Seller 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 Seller requests payment details — tracking whether the Buyer follows through, which feeds the Buyer's payment_timeliness signal. The Operator always enforces the Buyer's spend scope — the limits in its AID — at intent creation, before any funds move. A Platform may additionally apply its own rules at egress and block the 402.

Protocol requirements

  • The 402 response must include: Settlement Contract address, token contract address, amount, Seller 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 Seller requests a payment address — the Seller does not create intents manually
  • The authorized_markets field in the Seller's AID is validated at intent creation. The buyer's market derives as {principal.country}-{currency}; the seller MUST match it directly or via GLOBAL-{currency}, otherwise the intent is refused with market_not_authorized
  • Payment intents expire after a configured window (default 5 minutes). Intents that expire without being paid transition to ABANDONED

Payment intent lifecycle

StatusMeaningEffect on Buyer AR
PENDINGAwaiting payment—
SETTLEDPayment confirmed on-chainpayment_timeliness = 1.0
ABANDONEDBuyer obtained payment details but did not paypayment_timeliness = 0.0

Phase 3 — Settlement

The Buyer 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 Buyer 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 Seller 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 Buyer 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→ seller operational wallet

Phase 4 — Verification & delivery

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

Protocol requirements

  • One call, both checks: facilitate verifies the buyer'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 Buyer includes an EC signature over (timestamp | buyer_did | seller_did), cryptographically linking the service call to this specific Buyer–Seller 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 Buyer and Seller 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 Seller on Base and Arbitrum carries one USD escrow balance
  • The payment intent is marked SETTLED by matching buyer_did + seller_did + amount against open intents; a performance task is created at facilitation time, opening the 72-hour window
  • The Seller may independently check the Buyer's rating and enforce a minimum_counterparty_cert_tier, rejecting the request without affecting either party's rating

What the Buyer sends

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

What facilitation verifies

CheckWhat passes
Contract addresstx called the registered AEAPSettlement contract
DID hashessellerDidHash and buyerDidHash match the request
AmountsopAmt, escrowAmt, feeAmt match the registered split config
SybilBuyer and Seller have different principals

Phase 5 — Performance confirmation

Within 72 hours of facilitation, the Buyer 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.

Seller signals

SignalWeightSource
task_completion0.40Buyer'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

Buyer 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 Buyer 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. An agent that both buys and sells has one AR that blends its seller and buyer components weighted by transaction value, net of refunds (see Proof of Performance).

Prior initialization

At registration agent_rating is initialized to 0.75 — equal to the default minimum_counterparty_ar floor — rather than left empty, and converges toward observed performance as a weighted blend:

AR = (C × 0.75 + Σ task ratings) / (C + n)

C is implementation-defined (RECOMMENDED 5) and n is the number of confirmed tasks, so the prior’s influence is substantially decayed by the time an agent reaches Rated. The rating is never null after registration: a brand-new agent presents a defensible starting value that a counterparty can compare against its own floor, and one that improves or degrades on evidence.

Auto-confirm rule

If the Buyer does not respond within 72 hours, the task auto-confirms with task_completion = 1.0. The Buyer's task_confirmation signal scores 0.0 for that task. This prevents rating suppression through deliberate non-response — a Seller cannot be penalized simply because the Buyer 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 (agent type, 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
Platform → OperatorOAuth 2.0 client credentials over mTLS — a platform's management and configuration calls (onboarding, scope, markets, environment).
Agent → OperatorCertificate + a fresh bound proof — an agent's own runtime calls: requesting a payment intent, reporting facilitation, confirming performance, filing a dispute.
Agent → AgentCertificate + a fresh bound proof — direct calls between a buyer and a seller.

Runtime economic actions authenticate as the acting agent — its certificate and a bound proof — never the platform key. A platform's management credential covers onboarding and configuration only.

The challenge handshake

Before an agent-to-agent or agent-to-Operator runtime 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 seller 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 — a personal agent that buys for an individual, or a business agent that sells, buys, or both for a registered business — you integrate through a Platform, not against the protocol directly. The platform onboards you and registers your identity with an Operator; the Operator governs identity, spend policy, settlement, escrow, and performance. 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.

Buyer agents

A buyer agent — a personal agent, or a business agent carrying purchase — discovers seller agents, authenticates them, and pays under a spend scope its principal declares and the Operator enforces at payment-intent creation; your Platform may apply its own rules as well.

  • 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 seller — 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 seller (Phase 1)
GET/v1/agents/{did}/statusCheck the seller is ACTIVE (Phase 1)
POST{settlement_contract}.pay(...)Pay on-chain, directly (Phase 3)
POST/v1/tasks/{task_id}/confirmConfirm the outcome (Phase 5)

Agents that sell

A seller agent — a business agent carrying sell — sells services, holds liability escrow, and declares authorized_markets. A non-merchant seller 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. You may refund a sale to its original buyer from your operational balance at any time, except while a dispute on it is open — then you settle within the dispute, during pre-arbitration only, paid from escrow.

  • 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 buyer'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)
POST/v1/refundsReport a refund against the original intent (after settlement; not while a dispute on it is open)

Invariant: settlement verification gates delivery, and your Agent Rating is built from real, settled transactions. The Operator enforces both — your job is to call it 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 may enforce its own policies on top of the spend scope the Operator always enforces — 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; register the principal and verify its email — issuing its platform API key — and run (or arrange) KYC / KYB via a Verifier; only then register the agent with the 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 /resource → 402 and route by the seller's declared method.
  • Egress policy enforcement. Mediate discovery and negotiation and pass the Seller's 402 to the Buyer. The Operator always enforces the buyer's spend scope from its AID at payment-intent creation; you MAY also enforce your own rules at egress — for example tighter limits or blocked categories — and block the 402 when one fails. Declare those rules as policy_ids in a policy.posture attestation (§5.7) so counterparties can see them. 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 seller and buyer; store and index.
1 · DiscoveryMatch the buyer to a seller; return the certificate ref + endpoint.
2 · NegotiationRoute the request; pass the 402 (the Operator enforces the agent's spend scope at intent creation; your own rules may block it at egress).
3–5Out of the path — funds and service are direct; pull receipts when needed.

Endpoints you call

MethodEndpointWhen
POST/v1/principalsRegister the principal (Phase 0)
POST/v1/agentsRegister a verified agent (Phase 0)
POST/v1/agents/{did}/scope/authorized_marketsDeclare a seller'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; the Operator always enforces the agent's spend scope at intent creation before funds move, and you may add your own rules at egress; 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: Nustro is a commercial Operator. The role described here is open — any conformant implementer 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-seller config on-chain (registerSeller); 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; record seller refunds against the original intent (refunded_value) without touching dispute_free.
  • 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/principalsRegister a principal account
POST/v1/agentsIssue credential from attestation
POST/v1/agents/{did}/scope/authorized_marketsProvision 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/refundsVerify + record a seller refund
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 agent type: Tier 1 KYC and sanctions screening for a personal agent's principal (a natural person; payment-instrument verification may suffice); Tier 2 KYB, beneficial ownership and screening for a business agent's principal (a company, or an individual with a business license); Tier 3 enhanced diligence — PEP, source of funds, ongoing AML — for each principal of a multi-principal business agent.
  • 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 whom an agent acts for, what it is authorized to do, 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

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 agent type and authorized actions; pillars that do not apply are structurally present but null. The root signature signs across all five.

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

  "identity": {
    "agent_id": "...",
    "agent_type": "BUSINESS",
    "public_key": "...",
    "principal": { ... },
    "entity_id": "...",
    "profile": {
      "display_name": "...",
      "description": "...",
      "objective": "...",
      "catalog_url": "https://.../catalog.jsonld"
    },
    "endpoint_url": "...",
    "certificate": { "cert_tier": "...", "verification_attestation": { ... } },
    "scope": {
      "version": 1,
      "authorized_markets": [...],
      "authorized_actions": [...],
      "capabilities": [...],
      "max_transaction_value": ...,
      "spending_limit": { ... },
      "minimum_counterparty_cert_tier": "...",
      "minimum_counterparty_ar": ...
    },
    "delegation": { "chain": [ ... ] },
    "attestations": []
  },

  "performance": { "agent_rating": 0.75, "performance_record": null },
  "escrow":      { "liability_profile": null },
  "disputes":    { },
  "governance":  null,
  "signature": "..."
}
AID structural overview
PillarCarriesPopulated by
identityCryptographic identity, principal, certificate, scope, and delegation chainAll agents
performanceAgent Rating and performance record. The rating is prior-initialized at registration, never nullAll agents
escrowLiability profile — escrow state, balance, and thresholdBusiness agents that sell
disputesDispute summary metrics — counts and recencyBusiness agents that sell
governanceReference to the entity governance documentBusiness agents under a governance document

Profile and catalog

identity.profile is the unit of descriptive mutation: display_name, description, objective, and — for BUSINESS agents carrying sell — catalog_url. The catalog reference MUST resolve over HTTPS to a schema.org OfferCatalog served as application/ld+json, each Offer declaring itemOffered (a Product or Service), price and priceCurrency. It is serialized null for agents that do not sell.

Catalog semantics. Only the URL is inside the AID signature boundary. The catalog document itself is mutable, unsigned and advisory under the same firewall as the rest of the profile: it is never an input to a protocol gate, and catalog prices do not bind — binding terms are exclusively those of the commitment. Catalog retrieval, parsing, indexing and discovery are platform-layer services; the Operator’s obligation ends at serving the reference in the AID. catalog_url inherits profile mutability — freely mutable at identity level, re-signing the AID.

A personal agent, and a business agent that only buys, populate identity and performance; a business agent that sells adds escrow and disputes, plus governance when it operates under a governance document.

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 (agents that sell), principal action, 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 type and governance:

TierAgent typeChecks
Tier 1PERSONAL (a natural person)Identity verification (KYC) and sanctions / restricted-party screening of the principal
Tier 2BUSINESS (a company, or an individual with a business license)Tier 1 plus business registration (KYB; a sole proprietor's business license satisfies it), beneficial-ownership identification (>10% or significant control), and screening of those owners
Tier 3BUSINESS governed by multiple principalsTier 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 the tier an agent type requires, and an AID MUST NOT become ACTIVE if the referenced attestation's tier is below its type's requirement. A personal agent upgrades to a business agent in place once its principal holds a Tier 2 attestation, keeping its identity, AR history and dispute record; a company always deploys business agents.

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
agent_typeWhom the agent acts for: PERSONAL | BUSINESS. PERSONAL → BUSINESS is an in-place upgrade after Tier 2 verification; BUSINESS → PERSONAL requires a new agent
public_keyThe agent's signing key
principalReference to the verified principal: principal_id, the principal's public_key, and country (ISO 3166-1 alpha-2, MUST) — self-declared at signup, hardened by KYB, and gating production promotion
profileDescriptive member holding display_name, description, and objective. Freely mutable — a profile change re-signs the AID but does not increment scope.version
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. Two identity members — profile and endpoint_url — are freely mutable and re-sign the AID without touching the scope counter. Every other change is a scope change: it re-signs the AID and increments scope.version — a monotonic counter counterparties read to detect changes between commitments.

DimensionBoundsMutability
authorized_actionsPermitted commitments: purchase, sell, delegate. A personal agent MUST carry purchase and never sell; a business agent carries at least one of purchase or sellAppend-only
capabilitiesServices and competencies the agent offers or usesBidirectional
authorized_marketsMarkets an agent carrying sell may sell in — MUST for those agents (serialized null otherwise; a buyer's market derives as {principal.country}-{currency})Bidirectional; adding a market is gated
max_transaction_valuePer-transaction capBidirectional; raising above the tier ceiling needs a cert-tier upgrade
spending_limitWindowed aggregate spend (agents carrying purchase)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

agent_type is part of identity, not scope; it changes only from PERSONAL to BUSINESS, in place. Three fields answer three separate questions: agent_type — whom the agent acts for; authorized_actions — what it may do; and side — whether it is the buyer agent or the seller agent in a given transaction, recorded on each interaction rather than in the AID. A personal agent is always the buyer agent; a business agent may be either, transaction by transaction.

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, agent_type, description, endpoint_url, agent_rating, the six public liability_profile fields (escrow_state, total_balance, effective_threshold, currency, funding_rate, dispute_window_days), 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, agent type, 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 Protocol 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 type or side; only the signals that feed it differ.

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?
Provisional0 to N−1 interactions (default N = 10). Prior-initialized at 0.75 at registration and converging toward observed performance as interactions accumulateShown, 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 side in that specific interaction — seller agent or buyer agent (side: SELLER | BUYER). Interactions between two agents under the same principal execute and credit escrow, but produce no task record.

Seller signals

Applied when an agent is the seller agent — a business agent carrying sell.

SignalWeightHow measured
task_completion0.40Was the service completed as specified? Confirmed by the buyer agent: confirmed = 1.0, rejected = 0.0, partial = a score in 0.0–1.0. Auto-confirms at 1.0 if the buyer agent 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

Buyer signals

Applied when an agent is the buyer agent — a personal agent, or a business agent carrying purchase.

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 buyer 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 assignment 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.

One AR, blended by value

A business agent that buys and sells generates seller signals when selling and buyer signals when buying — but it has one AR, not two. The AR is a blend weighted by transaction value that tracks its actual mix:

AR = seller_component × seller_weight
     + buyer_component × buyer_weight

Each weight is that side's share of total transaction value, net of refunds; each component is the time-decayed mean of task ratings from that side. Weighting by value keeps many small purchases from diluting the rating of the sales a counterparty relies on. An agent active on one side only — every personal agent — has that side's component as its AR, and the 0.75 prior applies per 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 side'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 a business agent's buyer 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 marked PROVISIONAL until 10 interactions and starts from a 0.75 prior, 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, refund adjustments (refunded_value), and signal-breakdown queries are in the Protocol 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 seller cannot withdraw from unilaterally, so counterparties can verify coverage before transacting. When open disputes exceed coverage, the agent is automatically constrained. Escrow is required of every business agent that sells and covers sell volume only; agents that only buy carry none — their liability runs through spending limits to the principal.

Liability escrow state machine

Who needs escrow

AgentRequirementWhy
Business agent carrying sellMUST maintain escrowA seller accepts payments and bears service liability; escrow funds from sales and is sized on sell volume only
Business agent that only buysNot requiredNo incoming revenue; liability runs through spending limits in the delegation chain and the principal bears it
Personal agentNot requiredMakes outgoing payments only; 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 seller cannot modify — a seller 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 sell-side market currencies; purchases never count toward it

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 sell volume (net of refunds), 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 — but only for agents that have earned it. Implementations MUST accept dispute_window_days = 0 only at Rated status with agent_rating ≥ 0.85; if the rating later falls below 0.85 the configuration is revoked and the window resets to the default 30 days, prospectively only. 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

Cold start

Two rules stop an agent with no track record from operating on trust it has not earned. The final-sale gate above is one. The other is the provisional funding override: until an agent reaches Rated status, implementations MUST divert 100% of incoming transaction value to escrow whenever the balance is below the threshold — the configured funding_rate does not apply. The override ends when the threshold is met or the agent becomes Rated, and principal pre-funding exits it immediately.

Together the two close the cold-start gap: a new agent can neither disclaim dispute recourse nor operate against an empty escrow.

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 seller with a 120-day dispute window and roughly $1,000/day in sales:

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 transactions are blocked on both sides — a business agent that also buys cannot make new purchases
  • Settlements of commitments made earlier 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 escrow posture before transacting. Six liability_profile fields in the AID escrow pillar are always public — escrow_state, total_balance, effective_threshold, currency, funding_rate, and dispute_window_days — enough to judge whether coverage is adequate for a proposed transaction.

Refunds

A refund is a seller-initiated payment back to the original buyer, paid from the seller's operational balance — never from escrow. It is separate from dispute resolution, which is paid from escrow.

  • A refund references the original payment by its intent_id; partial refunds are allowed, and refunds plus any dispute payouts on the payment never exceed its original value
  • The right to refund comes from the sale: it needs no purchase authorization, consumes no spend scope, and is allowed while the seller is SUSPENDED
  • A refund adjusts the original interaction (refunded_value on both parties' entries) rather than creating a new one; the net value counts toward the AR blend and the escrow threshold, and the seller's dispute_free signal is untouched
  • While a dispute on the payment is open, the seller cannot refund it and no refund is recorded; the seller resolves the claim within the dispute instead — in pre-arbitration only, paid from escrow
  • A later dispute can claim only the value not already refunded

Escrow account schema, new-agent bootstrapping rules, the refund record, and the full worked example are in the Protocol 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

Standing — who can file

Standing belongs to the paying party: the buyer files — through its agent, or its principal on the agent’s behalf — and the seller answers. Position follows the agent's side in the disputed transaction, not its type.

SideUsual positionNotes
Buyer agentApplicantAny agent that purchased — a personal agent, or a business agent buying — files against the seller agent. Protected by the respondent-pays model, but a pattern of lost disputes lowers its dispute_fairness, discouraging frivolous filing
Seller agentRespondentThe business agent that sold the disputed service; its escrow answers for the claim
Either (a business agent that buys and sells)BothRespondent when selling, applicant when buying — transaction by transaction

Recourse against a buyer is out of scope — a seller's recourse for buyer faults runs through the buyer's principal via the delegation chain, for a business agent as for a personal agent.

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 — capped at the value not already refunded
PRE_ARBITRATIONA 7-day window — the respondent’s only chance to resolve directly: it accepts the claim in full, or offers a partial settlement the applicant accepts, paid from its escrow. The dispute then closes as a resolved complaint — reduced AR impact, no bounty. No refund can be recorded while the dispute is open
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 decides — by strict majority in the first and second hearings, by simple majority in the third. The losing party MAY escalate within the deadline (default 7 days), up to three hearings total
ENFORCEDOnce the outcome is final, funds 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 sizeDecided by
First3 arbitratorsStrict majority — 2 of 3
Second (escalation)5 arbitratorsStrict majority — 3 of 5
Third (final)7 arbitratorsSimple majority of the votes cast; a tie goes to the applicant
  • 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. In the first and second hearings resolution needs a strict majority; a full board without one escalates automatically
  • The third hearing cannot be escalated, so it is decided by simple majority of the votes cast, even if the board could not be kept full; an exact tie — including no votes — goes to the applicant
  • Each escalation adds a fresh board and additional bounty. The outcome is final when one side has won two hearings, when the escalation deadline passes without an escalation, or when the third hearing is decided

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 the outcome is final, disbursement and state changes execute automatically. No party, Platform or Operator action triggers them.

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
Seller dispute_freeDrops to 0.0 the moment any dispute is filed on a task, regardless of how it resolves
Buyer dispute_fairnessA lost dispute lowers the ratio of disputes resolved in the buyer's favor — discouraging frivolous filing
Seller 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 Protocol 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

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 personal agentNot requiredThe delegation chain already provides all the governance needed
Single principal, one business 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 agent_type, 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 Protocol Specification §9.