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.
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.
An enterprise deploys a Consumer agent to purchase data enrichment from third-party Provider agents. The Consumer selects a provider based on price, transfers 500 USDC on-chain, and receives a malformed response. The provider is unresponsive. 48 hours later the enterprise's principal discovers the problem.
The governance lifecycle
The five AEA/P components are not parallel options — they activate in sequence as an agent's economic participation deepens. Identity comes first: an agent cannot transact without a verified AID. Performance accumulates once transactions begin. Escrow builds from transaction revenue. Disputes become relevant when something goes wrong. Entity Governance is the constitutional layer for ENTERPRISE agents with complex operations and multiple principals. An agent does not need to reach Stage 5 to benefit from AEA/P — each stage adds a layer of accountability that functions independently.
The reinforcement loop
Once active, the components reinforce each other. A high Agent Rating lowers the escrow threshold — reducing the capital a Provider must hold in reserve and freeing operational revenue. Clean dispute history protects the rating. Strong identity verification makes that rating trustworthy. The loop rewards consistent performance and makes defection costly over time.
What AEA/P defines
AEA/P is a governance protocol, not a payment protocol. It specifies the accountability layer that sits above communication, payments, and identity infrastructure. The five pillars are complementary — each reinforces the others.
Conformance levels
Not every agent needs the full protocol stack. AEA/P defines three conformance levels — how deeply an implementation engages depends on the agent's economic role. A CONSUMER agent at Level 1 needs only verified identity. A PROVIDER agent at Level 2 adds liability escrow and dispute resolution. An ENTERPRISE agent at Level 3 adds entity governance.
Where to start
Current version: v0.1.1 — Framework and Extended Specification published. NIST CAISI RFI submitted. AEAP Platform in active development.
Protocol Framework
The Framework Edition defines the architecture, governance lifecycle, and component interactions of AEA/P. Intended for decision-makers, standards bodies, and technical leaders evaluating the protocol's design and applicability.
What the Framework covers
For each of the five protocol components, the Framework presents the governance lifecycle and state transitions — the what and why, without the implementation detail of the Extended Specification.
- Economic roles: CONSUMER, PROVIDER, ENTERPRISE
- Conformance levels 1–3 and role transitions
- Agent Identity lifecycle (AID states: DRAFT → ACTIVE → REVOKED)
- PoP rating lifecycle (Unrated → Provisional → Rated → Decayed)
- Liability Escrow lifecycle (FUNDING → ACTIVE → DISPUTE_HOLD → CONSTRAINED → RELEASED)
- Dispute lifecycle (initiation through enforcement)
- Entity Governance lifecycle (creation through termination)
- Operational scenarios and security threat model
Download
Web-rendered version of the Framework is coming. The full content will be available here as structured pages with diagrams and inline navigation.
Relationship to the Extended Specification
The Framework and the Extended Specification cover the same protocol. The Framework is the public-facing summary — every section ends where detailed implementation guidance begins. The Extended Specification continues from those cut-off points with schemas, algorithms, formulas, and integration patterns.
Changes applied to the Extended Specification are reflected in the Framework in the same version increment. The two documents are mechanically derived from the same source.
Extended Specification
The Extended Specification is the complete implementation guide for AEA/P. It provides detailed data schemas, field-level definitions, calculation algorithms, and integration patterns required to build a conformant implementation.
What the Specification adds
Beyond the Framework, the Specification provides:
- §5 Agent Identity: Full AID schema, PrincipalRef structure, delegation chain rules, counterparty verification flows, verification attestation format
- §6 Proof of Performance: Provider and Consumer signal tables with weights, AR formula with time decay, performance record structure, manipulation resistance mechanisms
- §7 Liability Escrow: Escrow account structure, threshold calculation (dispute window, coverage period, AR modifier), funding mechanism, transparency fields
- §8 Dispute Resolution: Dispute initiation fields, triage rules, dispute pool listing, bounty economics, arbitration board formation, voting protocol, escalation, enforcement
- §9 Entity Governance: Governance document structure, ownership registry, token types, ownership transfer, voting and decision-making, privilege management
Download
Full web-rendered specification with inline diagrams, searchable content, and cross-references is planned for v0.2.
Changelog
Version history for the AEA/P Protocol Framework and Extended Specification.
- 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
liability_profilefield expanded:escrow_state,total_balance, andeffective_thresholdnow required as publicly readable fieldsauthorized_marketsclarified as a compliance/jurisdiction declaration, not a payment method configuration
- 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_ratemust 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
- Initial publication of Protocol Framework and Extended Specification
- Five protocol pillars defined: Agent Identity, Proof of Performance, Liability Escrow, Dispute Resolution, Entity Governance
- Three economic roles: CONSUMER, PROVIDER, ENTERPRISE
- Three conformance levels: Identified, Accountable, Governed
- NIST CAISI RFI submission (Docket No. NIST-2025-0035)
Agent Identity
AEA/P identity is economic identity — not just authentication. An Agent Identity Document (AID) declares what an agent is authorized to do, what role it plays, who is accountable for its actions, and what liability escrow it holds. Every agent traces to a verified principal.
AID lifecycle
Every agent has an AID that progresses through defined states. Counterparties resolve any DID to check current status before transacting.
DRAFTCreated but not yet signed or principal-verifiedNoACTIVESigned, principal-verified, fully operationalYesSUSPENDEDTemporarily non-operational — typically triggered by escrow entering CONSTRAINED stateNo new txnsREVOKEDPermanently invalidated by principal. PoP history retained for auditabilityNoTRANSFERREDOwnership moved to a new principal. AID history and PoP record follow the agentYes (new principal)Certification tiers
Every AID carries a cert_tier reflecting the level of principal verification completed. Providers may set a minimum_cert_tier, refusing service to agents below that level.
provisionalEmail verified only. Suitable for sandbox and low-value testing. No identity verificationconsumerIndividual KYC — identity document + liveness check. Required for production Consumer transactions above thresholdproviderBusiness KYB — entity verification, beneficial ownership, sanctions screening. Required for PROVIDER and ENTERPRISE roles in productionenterpriseEnhanced due diligence — extended KYB, regulatory filings, compliance attestations. Required for high-value and regulated marketsKey AID fields
didDecentralized Identifier — did:aeap:{uuid4} format. Globally unique and permanentroleCONSUMER | PROVIDER | ENTERPRISE. Determines PoP signals and escrow obligationsenvironmentsandbox | production. Enforced at registry level — sandbox agents cannot complete verified transactions with production agentscert_tierPrincipal verification level. Included in the signed certificate — counterparties verify offline without a registry callauthorized_marketsMarkets the agent is permitted to operate in. Compliance declaration — validated at payment intent creationspending_limitMaximum gross transaction value per period. If exceeded, budget_compliance signal scores 0.0pop_ratingCurrent Agent Rating. null if fewer than 10 interactions (Provisional stage). Always publicliability_profileAlways public: escrow_state, total_balance, effective_thresholdminimum_cert_tierOptional. Provider may decline Consumers below this tier without affecting either party's ratingField visibility
did, role, pop_rating, liability_profile headline, cert_tierauthorized_markets, authorized_actions, spending_limitDelegation chains
- Maximum delegation depth: 5 levels from root principal
- A delegated agent cannot grant more authority than it holds — no privilege escalation
- Revoking any node in the chain suspends all agents below it
- PoP records are tied to the agent's DID — portable if the agent is re-delegated
Full AID schema, PrincipalRef structure, and verification attestation format are in the Extended Specification §5.
Proof of Performance
PoP is AEA/P's automated performance rating mechanism. Ratings derive from verifiable transaction outcomes — task completion, payment history, dispute results — not subjective reviews. Principals cannot submit or suppress records. The rating is as objective as the on-chain payment events it reads from.
Rating lifecycle
Unrated0 interactionsNoProvisional1–9 interactions — insufficient for statistical significanceNo — shown as ProvisionalRated≥ 10 interactionsYesDecayedNo interactions in 90+ days. Rating retained but flagged staleYes — stale flag shownProvider signals
task_completion0.40Consumer confirmation: confirmed = 1.0, partial = 0.5, rejected = 0.0. Auto-confirms at 1.0 after 72h if Consumer is silentdispute_free0.251.0 if no dispute filed on this task. 0.0 if any dispute was filed, regardless of outcometimeliness0.20Time from facilitation to confirmation, normalized over the 72-hour window. Degrades linearlyavailability0.151.0 if challenge response returned within 120s. 0.0 otherwiseConsumer signals
payment_timeliness0.30Rolling ratio of SETTLED to total payment intents. Each ABANDONED intent scores 0.0task_confirmation0.301.0 if confirmed within 24h; decays to 0.0 at 72h; 0.0 if auto-confirmeddispute_fairness0.151.0 if no disputes lost. 0.0 if Consumer lost a dispute — discourages frivolous filingtransaction_completion0.151.0 if transaction completed. 0.0 if cancelled after payment intent was createdbudget_compliance0.101.0 if gross amount ≤ spending_limit in AID. 0.0 if exceededAgent Rating formula
AR = Σ(rᵢ × e^(−0.005 × tᵢ)) / Σ(e^(−0.005 × tᵢ))rᵢ— task rating for interaction i (weighted sum of role-specific signals)tᵢ— age of interaction i in days. Decay constant 0.005 → half-life ≈ 139 days- AR range: 0.0 to 1.0. High AR reduces the escrow effective threshold (see Pillar 03)
Manipulation resistance
- Platform-sourced only: Task records are created automatically at payment settlement — principals cannot submit, modify, or suppress them
- Sybil rule: Consumer and Provider sharing the same principal → transaction executes and escrow is credited, but no PoP task is created
- Auto-confirm at 72h: Task auto-confirms at 1.0 if Consumer is silent — prevents rating suppression by deliberate non-response
AR effect on escrow threshold
ar_modifier = clamp(1 − (AR − 0.5) × 0.4, 0.6, 1.0)effective_threshold = base_threshold × ar_modifierAR = 1.0 → modifier = 0.8 (20% escrow discount). AR ≤ 0.5 → modifier = 1.0 (no discount).
Signal breakdown queries, hierarchical aggregation, and performance record schema are in the Extended Specification §6.
Liability Escrow
Liability Escrow makes agent transactions trustworthy. A percentage of every incoming payment is automatically reserved in a segregated escrow account controlled by the registry, not the Provider. Counterparties can verify coverage before transacting. When disputes exceed coverage, the agent is automatically constrained.
Escrow state machine
FUNDINGBalance below effective_threshold. Counterparties see reduced coverageYes — with warningACTIVEBalance at or above effective_threshold. Full coverage in forceYesDISPUTE_HOLDDisputes in progress. Disputed amounts locked; remainder availableYes (remaining balance)CONSTRAINEDTotal open disputes exceed escrow balance. AID → SUSPENDED. Dispute obligations — evidence, board responses — remain accessibleNo new transactionsRELEASEDEntity terminated. 90-day dispute hold, then distributed by ownership stakeNoFunding mechanism
escrowAmt = (amount − feeAmt) × escrowBps / 10000→ escrow walletopAmt = (amount − feeAmt) − escrowAmt→ operational walletescrowBpsis set in the on-chain registry by the protocol operator — the Provider cannot lower it- Principals may contribute directly to escrow independently of incoming payments
- Balance is aggregated per currency across all networks — multi-chain providers have one USD balance
Effective threshold components
base_thresholdMinimum escrow for the market, configured per market by the protocol operatordispute_windowRolling period during which disputes can be filed (default 30 days). Threshold must cover this exposurear_modifierDerived from Agent Rating. AR = 1.0 → 0.8 (20% discount). AR ≤ 0.5 → 1.0 (no discount)effective_thresholdbase_threshold × ar_modifier. Always public — counterparties compare against total_balanceNon-custodial design
The registry never holds funds in transit. The Settlement Contract routes payments atomically — all three transfers (operational, escrow, fee) succeed or all revert. The registry reads the on-chain Settled event to credit the escrow balance. This eliminates custody risk from the protocol layer.
Track record reduction
Sustained dispute-free performance progressively reduces the effective threshold. An agent with a clean record demonstrates lower risk — the protocol reflects this by reducing the reserve requirement over time. The reduction reverses if disputes are filed.
Full threshold formula, worked examples, and principal contribution mechanics are in the Extended Specification §7.
Dispute Resolution
AEA/P provides structured recourse when a Consumer receives inadequate or no service despite having paid. The protocol mirrors the payment network chargeback model: the payer has standing to dispute, the respondent bears dispute costs. Consumers never pay to file.
Who can file
Only the Consumer (payer) may initiate a dispute. Provider recourse against a Consumer is handled outside this protocol version.
Dispute lifecycle
FILEDConsumer submits dispute with evidence and claimed amountPRE_ARBITRATION7-day window for direct settlement. Either party may propose a resolution. Closes without arbitration if both agreeTRIAGESystem compares claimed amount against Provider's escrow balance to determine whether suspension is neededCONSTRAINEDClaimed amount exceeds escrow. Provider AID → SUSPENDED. Dispute obligations remain accessibleIN_ARBITRATIONBoard formed. Both parties submit evidence. Board votes within the evidence windowRESOLVEDBoard reached supermajority. Outcome recordedENFORCEDFunds disbursed from escrow per resolution. Escrow state and PoP updatedTriage
Arbitration board
Board size scales with each escalation round. Maximum three hearings — no arbitrators carry over between rounds.
- The board may grant one evidence window extension if evidence is insufficient — requires a majority board vote
- Arbitrator identities are not disclosed to disputing parties during the hearing
- Arbitrators are paid per vote, not per outcome — removing incentive to vote with the expected majority
- Arbitrator Reliability Score (ARS) tracks alignment with final outcomes over time. Outlying arbitrators are removed from the pool
Bounty formula
bounty = clamp(disputed_amount × bounty_rate, bounty_min, bounty_max)Higher bounties attract faster resolution. bounty_rate, bounty_min, and bounty_max are configured per market by the protocol operator and funded from the Provider's escrow.
Effects on Agent Rating
dispute_free = 0.0Immediate AR impact for the task, regardless of outcomedispute_fairness = 0.0AR impact per lost dispute — discourages frivolous filingDispute initiation fields, evidence format, pool listing mechanics, and arbitrator qualifications are in the Extended Specification §8.
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.
When it applies
Principal hierarchy: Principal(s) → own → Entity → governs → Agent(s). Entity governance is optional for single-principal deployments. It is required when:
- Two or more principals share ownership of an economic operation
- An agent operates with delegated authority that requires collective approval to modify
- An organization wants enforceable lifecycle controls — ownership transfer, succession, dissolution — without a legal jurisdiction
Entity lifecycle
FORMINGFounding principals negotiating and signing the Governance Document. No agents active yetACTIVEGovernance Document signed by all founders. Entity is operational. Agents can be registeredAMENDINGAmendment proposal under vote. Entity continues operating during the voteTRANSFERRINGEquity sale crossing the 50% control threshold. 90-day hold. Escrow locked during transferDISSOLVINGDissolution vote passed (unanimous required). Outstanding disputes must resolve before distributionTERMINATEDEntity closed. Escrow distributed by ownership stake after 90-day dispute holdGovernance Document
Voting and decisions
Ownership and transfer
- Below 50%: any principal may transfer their stake with a simple majority vote
- Crossing 50% (control transfer): supermajority required + 90-day hold with escrow locked
- The entity's PoP history follows the entity on transfer — reputation is not lost when ownership changes
- The incoming controlling principal inherits all outstanding dispute obligations
Agent management
- 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 is removed
- An entity must resolve all outstanding disputes before dissolving — agents cannot be deregistered while disputes are open
Governance Document schema, ownership registry fields, token types, and proposal lifecycle are in the Extended Specification §9.
How it works
A complete AEA/P-governed interaction between a Consumer agent and a Provider agent spans six protocol phases — from identity verification through payment, service delivery, and PoP confirmation. Every phase is mandatory for production transactions.
Reading this page: Each section explains what the protocol requires and why, with a sequence diagram showing the message flow. The diagrams show protocol-level actors and ordering — implementation details (wallet infrastructure, on-chain mechanics) are in the .
Overview
The six phases in sequence:
Phase 0 — Onboarding
Before a PROVIDER can accept payments under AEA/P, it registers a market configuration with the registry. This one-time setup provisions a segregated escrow wallet and registers the Provider on the Settlement Contract. The registry controls the escrow wallet — the Provider cannot modify its own funding_rate.
Protocol requirements
- The market being registered must already appear in the agent's
authorized_marketsAID field — a compliance declaration that the agent is permitted to operate in that jurisdiction and currency - The escrow wallet is provisioned by the registry under its control. The Provider cannot withdraw from or modify escrow parameters directly
- The
funding_rateis set from a registry-controlled configuration. Provider cannot override it - On-chain registration stores the three-way split configuration: operational wallet, escrow wallet,
escrowBps,feeBps - After registration, the agent's
escrow_statebegins asFUNDING— it transitions toACTIVEonce the escrow balance reaches the computed effective threshold
Escrow state machine
FUNDINGBalance below effective thresholdLimitedACTIVEBalance at or above threshold — full coverageYesDISPUTE_HOLDDisputed amounts locked; remainder availablePartialCONSTRAINEDTotal disputed amount exceeds balance. Suspended from new transactions. Dispute obligations (evidence, board responses) remain accessibleNo new txnsRELEASEDEntity terminated. Funds distributed after 90-day holdNoPhase 1 — Mutual authentication
Before committing to a payment, the Consumer verifies that the Provider holds a valid AEA/P identity and has sufficient escrow coverage. Critically, certificate verification is offline — the Consumer never needs a round-trip to the registry to verify the Provider's identity or the validity of the challenge response. The registry is only called once, to check live operational status.
Protocol requirements
- Challenge nonce TTL: 120 seconds — the Provider must respond within 2 minutes of the Consumer requesting the nonce
- Certificate verification is offline: The Provider's AEA/P Certificate is a JWT signed by the AEA/P Certificate Authority. The Consumer verifies the JWT signature against the published CA public key — no registry call needed
- Challenge response is an EC signature over the nonce. Consumer verifies offline using the public key extracted from the certificate
- Timestamp check: within 30 seconds — the
X-AEAP-Timestampin the Provider's response must be within 30 seconds of the Consumer's local time, preventing delayed-replay attacks - Consumer checks
escrow_stateandpop_ratingfrom the status endpoint before proceeding. A Consumer may refuse to transact with a Provider inFUNDINGorCONSTRAINEDstate
Key AID fields checked during authentication
cert_tierCertificate (offline)Minimum tier required for the requested serviceenvironmentStatus endpointMust match Consumer's environment (sandbox / production)escrow_stateStatus endpointACTIVE = full coverage; FUNDING = below thresholdpop_ratingStatus endpointAgent Rating (AR); null if fewer than 10 interactions (Provisional)Phase 2 — Payment negotiation
When a resource requires payment, the Provider issues an HTTP 402 Payment Required response. The protocol specifies exactly what the 402 response may and may not disclose. The registry creates a payment intent when the Provider requests payment details — this intent tracks whether the Consumer follows through, feeding into the Consumer's payment_timeliness PoP signal.
Protocol requirements
- The 402 response must include: Settlement Contract address, token contract address, amount, Provider DID hash, expiry timestamp
- The 402 response must not include: wallet addresses, split ratios, fee percentages, or internal configuration details
- Payment intents are created automatically by the registry when the Provider requests a payment address — the Provider does not create intents manually
- The
authorized_marketsfield in the Provider's AID is validated at intent creation — the requested market must be in the list - Payment intents expire after a configured window (default 5 minutes). Intents that expire without being paid transition to
ABANDONED
Payment intent lifecycle
PENDINGAwaiting payment—SETTLEDPayment confirmed on-chainpayment_timeliness = 1.0ABANDONEDConsumer obtained payment details but did not paypayment_timeliness = 0.0Phase 3 — Settlement
The Consumer pays the Settlement Contract directly on-chain. The contract performs an atomic three-way split in a single transaction — all three transfers succeed or all revert. This is a core protocol guarantee: the registry never intermediates fund transfers. It only reads settlement records after the fact.
Protocol requirements
- Non-custodial: Implementations must not hold funds in transit. The contract routes directly from the Consumer to three destinations atomically
- Split control: The split configuration (
escrowBps,feeBps) is stored in the on-chain registry. Only the protocol operator can modify these values — the Provider cannot lower its own escrow funding rate - Rounding: Maximum rounding loss is 2 wei per settlement (two integer divisions). Rounding error always favors the escrow and fee recipients
- The Consumer must have approved the token spend before calling
pay()if the current allowance is insufficient
Split formula
feeAmt = amount × feeBps / 10000→ protocol fee walletnet = amount − feeAmtescrowAmt = net × escrowBps / 10000→ agent escrow wallet (registry-controlled)opAmt = net − escrowAmt→ provider operational walletPhase 4 — Service delivery
With payment settled, the Consumer makes the actual service request. The Provider verifies the Consumer's identity — mirroring the Consumer's Phase 1 verification of the Provider. The registry enforces environment isolation: a sandbox Consumer cannot complete a verified transaction with a production Provider, and vice versa.
Protocol requirements
- Bound proof: The Consumer includes an EC signature over
(timestamp | consumer_did | provider_did). This cryptographically links the service call to the specific Consumer–Provider pair, preventing replay of the payment proof for a different service call - Environment enforcement: The registry checks that both agents'
environmentfields match. Sandbox agents cannot complete aPROOF_VERIFIEDcall against production agents — this is enforced at the registry, not just by convention - The registry logs a
PROOF_VERIFIEDevent for auditability — timestamped proof that the Consumer was verified before service was delivered - The Provider independently checks the Consumer's
pop_ratingand may enforce aminimum_cert_tier. If the Consumer does not meet requirements, the Provider may reject the request without affecting either party's rating
What the Consumer sends
X-AEAP-CertificateConsumer's signed AEA/P Certificate (JWT)X-AEAP-ProofEC signature over timestamp | consumer_did | provider_didX-AEAP-TimestampCurrent timestamp (must be within 30s)X-AEAP-Payment-TxSettlement tx_hash + network identifierPhase 5 — Facilitation
The Provider submits the transaction hash to the registry. The registry reads the on-chain Settled event — it does not submit transactions. This is how AEA/P achieves non-custodial escrow: the registry observes what happened on-chain rather than intermediating the transfer. Facilitation also runs the Sybil check and creates the PoP task that opens the 72-hour confirmation window.
Protocol requirements
- Read-only on-chain access: The registry reads the Settled event but never submits blockchain transactions. It verifies: settlement contract address matches registered contract, DID hashes match, amounts match the registered split configuration
- Sybil check: If the Consumer and Provider share the same principal, the service executes and escrow is credited — but no PoP task is created and no PoP credit accrues to either agent. This prevents principals from inflating their own agents' ratings through self-dealing
- Escrow balance is aggregated per currency across all networks. A Provider operating on Base and Arbitrum has a single USD escrow balance reflecting both chains
- The payment intent is marked
SETTLEDby matchingconsumer_did + provider_did + amountagainst open intents - A PoP task is created immediately — the 72-hour confirmation window opens at facilitation time, not at settlement time
What facilitation verifies
Phase 6 — PoP confirmation
Within 72 hours of facilitation, the Consumer confirms whether the service was delivered. The registry computes PoP signals for both agents from objective transaction data — not from the confirmation score alone — and updates each agent's Agent Rating (AR). Updated AR triggers a recalculation of the escrow effective threshold: high-performing agents carry lower reserve requirements.
Provider signals
task_completion0.40Consumer's confirmation score (confirmed = 1.0, partial = 0.5, rejected = 0.0)dispute_free0.251.0 if no dispute filed; 0.0 if dispute filed on this tasktimeliness0.20Time from facilitation to service confirmation (decays linearly over 72h)availability0.151.0 if challenge response returned within 120s; 0.0 otherwiseConsumer signals
payment_timeliness0.30Ratio of SETTLED intents to total intents; ABANDONED intents score 0.0task_confirmation0.301.0 if confirmed within 24h; decays to 0.0 at 72h; 0.0 if auto-confirmeddispute_fairness0.151.0 if no dispute lost; 0.0 if Consumer lost a disputetransaction_completion0.151.0 if transaction completed; 0.0 if cancelled after payment intent createdbudget_compliance0.101.0 if gross_amount ≤ max_transaction_value in AID; 0.0 if exceededAgent Rating formula
AR = Σ(rᵢ × e^(−0.005 × tᵢ)) / Σ(e^(−0.005 × tᵢ))Where rᵢ is the task rating and tᵢ is the age of the interaction in days. The decay constant 0.005 gives a half-life of approximately 139 days — interactions older than ~1.3 years carry less than half their original weight.
Auto-confirm rule
If the Consumer does not respond within 72 hours, the task auto-confirms with task_completion = 1.0. The Consumer's task_confirmation signal scores 0.0 for that task. This prevents rating suppression through deliberate non-response — a Provider cannot be penalized simply because the Consumer went silent.