Verify

Check a receipt yourself

Both signatures checked in your browser · the post-quantum one also by Arc · the receipt is never sent to us

1. The receipt

Paste a signed receipt, or the whole output of cra-agent pay. The sample is signed by keys made for this page and thrown away: there is no wallet and no payment behind it.

What is being checked

A CRA AGENT receipt is a statement signed by the agent's wallet key: what it paid for, how much, to whom, and the spending limits in force when it paid. Anyone can check it without asking us.

The wallet's signature is secp256k1, the kind a large enough quantum computer could forge. So a receipt can be signed a second time with SLH-DSA-SHA2-128s, a post-quantum scheme that Arc verifies on chain. This page checks that second signature here, then asks Arc's precompile the same question with a read-only call from your browser. A receipt that carries both is valid only when both hold.

What it covers. The receipt, not the payment: a payment on Arc is authorised by the wallet key until Arc has post-quantum transaction signing. The signature is the agent vouching for its own statement; the settlement on chain is the independent part.

To sign your agent's receipts twice: cra-agent pq-key ~/.cra-agent/pq.key, then set CRA_PQ_KEY_FILE to that file. From a terminal the same check is cra-agent verify receipt.json --require-pq --on-arc.