Cryptographic Receipts

Every IO response carries a cryptographic receipt — an Ed25519-signed payload proving exactly what happened inside the inference boundary.

You don't trust us. You verify the signature.


Receipt Format (io_receipt_v1)

{
  "receipt_id": "io-rcpt-a1b2c3d4e5",
  "request_id": "io-req-f6g7h8i9j0",
  "model": "dolphin-mistral-24b-venice",
  "model_version": "v3.1",
  "policy": "io-boundary-0.3",
  "retrieval_sources": 0,
  "worker_binary_hash": "sha256:abc123...",
  "enclave_quote": "...",
  "retained_prompt": false,
  "timestamp": "2026-06-17T12:00:00Z",
  "signature": "ed25519:4f8d2e1a..."
}

Critical field: retained_prompt — must be false for a valid receipt.


How Verification Works

  1. Extract the receipt from any API response (field: .receipt)
  2. Fetch the public key at https://useio.xyz/receipt.pub
  3. Verify the Ed25519 signature against the serialized receipt body (minus signature field)

One-click verify

curl https://api.useio.xyz/v1/verify-receipt \
  -H "Authorization: Bearer *** \
  -d '{"receipt": {"receipt_id": "io-rcpt-...", "signature": "ed25519:..."}}'

Returns:

{"valid": true}

ReceiptChain

Link multiple receipts into a tamper-proof Merkle chain. Each receipt hashes the previous receipt's signature. Break one link, invalidate the entire chain.

ReceiptChain — each receipt's signature feeds the next, creating an unbreakable verification path.

ChainVerify

Validate every link in a receipt chain. Finds broken links and reports where integrity fails.

curl https://api.useio.xyz/v1/chain-verify \
  -H "Authorization: Bearer *** \
  -d '{"chain_id": "io-chain-..."}'

Proof Certificates

Generate a PDF + QR code proof certificate. Any third party can scan the QR code, visit the verify URL, and confirm the inference happened with retained_prompt: false.

curl https://api.useio.xyz/v1/proof \
  -H "Authorization: Bearer *** \
  -d '{"receipt_id": "io-rcpt-a1b2c3d4e5"}'

Returns a downloadable PDF with a verifiable QR code.


Warrant Canary

IO publishes a daily warrant canary at api.useio.xyz/v1/canary:

{"alive": true, "date": "2026-06-17", "signature": "ed25519:..."}
  • alive: true = no NSLs, no gag orders, no secret court requests received
  • Each day's canary is signed and chained from the previous day
  • A missing or unsigned canary is the emergency signal