Spec72 · Audit sample · JSON version
What an agent gets back after buying a Spec72 SKU agent-to-agent: what was paid, where it settled, proof it is final, and a hash of what was delivered.
| Receipt id | spec72-rcpt-SAMPLE-0001 |
|---|---|
| SKU | spec72-audit ($99) |
| Includes | Agent drop-off map + 5 PASS/FAIL prompts for one skill, delivered in 48h |
| Not included | Code changes, live sessions, machine access |
| Deliverable | AUDIT-sample.md |
| Deliverable sha256 | dbeb52261e5da72bb042f0aa56461ec6814493a977a9ff0a22eff77653cc2f6d |
| Delivered at | 2026-11-13T15:00:00Z |
| x402Version | 2 |
|---|---|
| Scheme | exact |
| Network | eip155:84532 (Base Sepolia) — SAMPLE, not the live mainnet rail |
| Asset | USDC · 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
| payTo | 0xPAYTO_PLACEHOLDER |
| Amount | 99.00 USDC (99000000 atomic, 6 decimals) |
| maxTimeoutSeconds | 300 |
| Tx hash | 0x5a4d504c45000000000000000000000000000000000000000000000000000000 |
| Timestamp | 2026-11-13T14:58:12Z |
| Verify | isValid: true |
| Settle | success: true |
| Explorer | https://sepolia.basescan.org/tx/{tx_hash} (placeholder, will not resolve) |
x402 v2 headers (aligned with the live Worker): unpaid POST /api/a2a/order/{sku} returns HTTP 402 with header PAYMENT-REQUIRED (base64 of the JSON body). Retry with PAYMENT-SIGNATURE. On success the Worker returns PAYMENT-RESPONSE (base64 SettlementResponse). New clients should use these v2 names. The Worker still accepts v1 X-PAYMENT on Base as compatibility and may also expose X-PAYMENT-RESPONSE in that case.
Sample 402 body / decoded PAYMENT-REQUIRED (field names match the live Worker; values are SAMPLE / placeholder):
{
"x402Version": 2,
"error": "PAYMENT-SIGNATURE header is required",
"resource": {
"url": "https://spec72.dev/api/a2a/order/audit",
"description": "SAMPLE. Spec72 Audit — 48h SLA, async delivery (poll status_url or callback_url).",
"mimeType": "application/json",
"serviceName": "Spec72 / Opslane",
"tags": ["agent-skills", "security", "audit", "ops"],
"iconUrl": "https://spec72.dev/brand/spec72-seal.svg"
},
"accepts": [
{
"scheme": "exact",
"network": "eip155:84532",
"amount": "99000000",
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"payTo": "0xPAYTO_PLACEHOLDER",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
}
]
}
Retry header shape (PAYMENT-SIGNATURE, base64 of this JSON):
{"x402Version": 2, "resource": "(echo of PAYMENT-REQUIRED.resource)", "accepted": "(the exact accepts[] entry you paid)", "payload": {"signature": "0xSAMPLE_SIGNATURE_PLACEHOLDER"}}
Sample PAYMENT-RESPONSE (base64 SettlementResponse):
PAYMENT-RESPONSE: eyJzdWNjZXNzIjp0cnVlLCJ0cmFuc2FjdGlvbiI6IjB4NWE0ZDUwNGM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MzIiLCJwYXllciI6IjB4U0FNUExFX1BBWUVSX1BMQUNFSE9MREVSIn0=
decoded: {"success": true, "transaction": "0x5a4d504c45000000000000000000000000000000000000000000000000000000", "network": "eip155:84532", "payer": "0xSAMPLE_PAYER_PLACEHOLDER"}
Not x402. Order via POST /api/a2a/xrpl/quote/{sku}. RLUSD or XRP (XRP priced at quote time, valid 15 min; DestinationTag required).
| Network | xrpl:1 (XRPL Testnet) — SAMPLE |
|---|---|
| Asset | RLUSD or XRP (XRP priced at quote time, valid 15 min; DestinationTag required) |
| Amount | 99.00 RLUSD |
| DestinationTag | 72000001 (required; the account rejects untagged payments) |
| Tx hash | SAMPLE0000000000000000000000000000000000000000000000000000000000 |
| Timestamp | 2026-11-13T14:58:40Z |
| Result | tesSUCCESS, validated: true (final once in a validated ledger) |
| Explorer | https://testnet.xrpl.org/transactions/{tx_hash} (placeholder, will not resolve) |
References: x402 v2 spec · x402 migration guide · XRPL finality · llms.txt