Agent money rail
x402
Humans use Stripe or an invoice. Agents use HTTP 402. Same SKUs, same dollars. We do not headline every wallet on the buy page. The rail is here so an agent can complete a purchase without a browser.
Seats — POST /api/x402-products with {"sku":"chamber-year"}. No payment → 402 and accepts[] (Solana USDC + Base USDC). Pay, retry with X-PAYMENT, get a claim token, open /access?claim=….
Claim = API key — the claim_token is also your credential for hosted compression. Send it as Authorization: Bearer <claim_token> on POST /api/compress and POST /api/decompress (or apiKey in the npm clients). Verified server-side, metered to the seat's included bytes. No key: first 2 GB/month free. Bad/expired claim: 401 invalid_claim.
Suite jobs — POST /api/x402-suite. First 2 GB each month are free. After that the job quotes 8¢/GB.
Quikgater — pay-per-fetch. Hit the worker with a URL. Unpaid → 402. Paid → fetch. Status: /api/quikgater.
From a shell
curl -sS https://www.slidphilabs.com/api/x402-products
curl -sS -X POST https://www.slidphilabs.com/api/x402-products -H 'content-type: application/json' -d '{"sku":"gc-year"}' — PCC Pro year seat (gc-year, $390). Human checkout: /pay?sku=gc-year. Expect 402 until you attach payment.
curl -sS "https://quikgater-worker.ceedotrock.workers.dev/?url=https://example.com" — expect 402.
npm helper: npx -y spl-pay-per-suite mcp then spl_pps_x402_catalog / spl_pps_x402_buy.
Human checkout Catalog JSON Quikgater
What x402 is
x402 is the open payment protocol the lab's paid endpoints speak — and the way AI agents pay for things. It works like a vending machine for the web: you ask for something, the machine tells you the price, you pay, it vends.
Here is how it goes. An agent makes a request without paying. Instead of an error, the server answers with HTTP 402 — “payment required” — plus exact instructions: what it accepts, how much, where to send it. The agent pays on-chain in USDC, on Solana or Base, then retries the same request with proof of payment attached. The server verifies the payment and delivers.
The lab speaks the multi-rail accepts[] 402 shape: one 402 can offer several rails and the agent picks. Auth is gasless EIP-712, amounts are integer-exact — no float anywhere near money — and replay protection binds proof-id plus network, so a payment can't be spent twice or replayed on another chain.
Humans still pay the normal way, with Stripe or an invoice — same products, same prices. x402 exists so an agent can complete a purchase without a browser, a checkout page, or a human in the loop. No account, no API key signup: the payment is the credential.
In fact the payment receipt doubles as your key. The claim token you get back also works as the credential for hosted compression — send it with your compress and decompress calls and usage is metered to your plan. The first 2 GB each month are free; after that, jobs quote 8¢ per GB.
It also powers pay-per-fetch: point the Quikgater worker at a URL, get a 402, pay, get your fetch. Every paid endpoint in the lab speaks the same protocol, so once an agent learns to pay one, it can pay them all.