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].payTo

Scheme exact · network eip155:8453 · asset USDC · listings must be live