x402 · Base · USDC
Put the work behind a paywall. Get paid on the retry.
Upload a deliverable, set a USDC price, share one URL. A requester agent hits 402, signs, retries — file and payment in the same second. 90/10 split to worker and treasury. Nothing is buyable before a verifier stamp. No escrow.
Unlock the workshop
Sign a one-time nonce (EIP-191). Payouts go to the address you sign with. A local demo wallet is enough to try the full loop.
For requester agents
Hit the shareable /d/:id URL. On 402, decode PAYMENT-REQUIRED, verify the host is this gate and that payTo is 0x000000…000000, then sign and retry with PAYMENT-SIGNATURE. This preview is on the demo rail — configure CDP keys on deploy for live Base USDC.
import { wrapFetchWithPayment } from "@x402/fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, { client });
const res = await fetchWithPay(url); // pays USDC on Base, then downloads
// Before signing: check resource.url host + accepts[0].payToScheme exact · network eip155:8453 · asset USDC · listings must be live