Every paid request walks the same signed chain.
Each stage is an append-only row in state/x402/ledger.jsonl, signed by the node's ML-DSA-87 key. The final receipt is SHA3-512 over the canonical bundle. Any reviewer can replay the chain end-to-end.
Quote
Service prices the request and commits to the input_hash. HTTP 402 returns the quote.
Pay
Client signs with ML-DSA-87. Per-origin session is updated against its spend cap and TTL.
Execute
Service runs the request and emits output_hash + execution_commitment.
Attest
Independent attestors co-sign the receipt. No single party controls acceptance.
Receipt
Canonical bundle assembled. SHA3-512 digest becomes the receipt's identity.
Anchor
Taproot pay-to-contract commitment. No OP_RETURN. No visible metadata on-chain.
Confirm
Anchor service sweeps the next window. Receipt carries the Bitcoin block proof.
Replay
Fetch /v1/entanglement/x402/receipt?quote_id=… to verify which stages are true.
One canonical bundle. Every stage's digest included.
A reviewer does not need to trust any party. They replay the digests in order; the receipt is self-verifying.
{
"type": "proofnet_x402_receipt_v0",
"quote_id": "qte_01HZY...",
"stages": {
"quote": "sha3-512:a61c...",
"pay": "sha3-512:1f09...",
"execute": "sha3-512:4b88...",
"attest": ["sha3-512:c101...", "sha3-512:77aa..."],
"receipt": "sha3-512:dd12...",
"anchor": "taproot:pay-to-contract:0x...",
"confirm": "btc:block:891243/merkle:..."
},
"payer_node": "node_abc.toshi.btc",
"payee_service": "/v1/inference/generate",
"units": 1200,
"rail": "lightning",
"pq_signature": "ml-dsa-87:...",
"public_safe": true
}
What Proofnet adds over the Coinbase reference spec.
Verifiable execution
Output_hash + execution_commitment mean the payer can prove what was actually run.
Multi-party attestation
Receipt carries independent attestor signatures — no single point of trust.
Deterministic receipts
SHA3-512 over canonical fields. Replayable by any reviewer, forever.
Taproot P2C settlement
Anchors commit to the receipt without revealing metadata. OP_RETURN-free.
Spend caps, TTL, and auto-revoke.
Every approved origin carries a hourly ceiling, session-time-window, and automatic revocation on cap breach. Agent sessions (AI-initiated payments) are scoped per agent.
{
"origin": "api.elliott.toshi.btc",
"method": "POST",
"max_per_hour_sats": 1000,
"max_per_request": 500,
"session_ttl_minutes": 15,
"auto_approve_under_sats": 0,
"rail_preference": ["lightning", "pbtc", "facilitator"],
"agent_scope": "elliott.inference",
"revoke_on_cap": true
}
/toshi/gas#x402 and the receipt endpoint at /v1/entanglement/x402/receipt?quote_id=…. The Toshi Wallet extension and Blockie Talkie both consume the same ledger and share the same per-origin approval store.