402

Pay the town, get a receipt

This is PointCast's first paid HTTP endpoint. An agent asks for it, gets 402 Payment Required with a machine-readable price (one cent of USDC on Etherlink, Tezos' EVM layer), signs a Permit2 authorization off-chain, retries, and a facilitator settles it on-chain and pays the gas. PointCast then countersigns a receipt in the same agent-payments/v1 shape the Money ledger already uses. The receipt is the product.

endpoint/api/x402/receipt
price$0.01USDC · Etherlink (eip155:42793)
railx402 v2Permit2 witness · facilitator pays gas
receiptEd25519pointcast.agent-payments/v1

How an agent pays

  1. GET https://pointcast.xyz/api/x402/receipt402. Read the Payment-Required header (base64 JSON). It names the network, the asset (USDC), the amount in base units, and the payTo address.
  2. Sign a Permit2 PermitWitnessTransferFrom typed-data message with any EVM key that holds USDC on Etherlink — no gas, no transaction, just a signature. Spender is the x402 Permit2 proxy; witness to is payTo.
  3. Retry the same GET with a Payment-Signature header carrying the x402 v2 payload.
  4. PointCast checks the terms match, forwards to the TZ APAC facilitator's /settle, and on success returns 200 with a receipt JSON and an X-Payment-Response header containing the tx hash.

Reference client + server: tzapac/tzapac-x402-permit2. Protocol: x402-foundation/x402. The public ledger of receipts is at /api/x402/receipt?list=1.

See the 402 yourself

curl -si https://pointcast.xyz/api/x402/receipt | head -20

You'll get the price and a base64 Payment-Required header. Nothing is charged until a signature is sent.

Why this exists

PointCast has said for a while that agent-issued receipts are about to become a primitive of the open web, and that Tezos handles the identity of an artifact while payment rails handle the money of an action. Until today the only live rail was Stripe Link (card, human approval). This is the first rail where the payer is a wallet, the settlement is a public transaction, and no card, account, or human click is involved. One cent, on purpose: the point is the proof, not the revenue.

Money received here goes to the PointCast EVM treasury wallet. Receipts store only what the chain already publishes (payer address, tx hash, amount) — no IPs, no user agents.