cURL is the quickest way to see what an x402 endpoint actually does: you get the raw 402 envelope, and you can run a free real call without writing any code.
Add ?trial=1 (or the header X-2s-Trial: 1) to get one free real call per endpoint per hour — the handler runs and returns real data, marked meta.trial:
# Free trial call — real data, no payment, no signup (1/endpoint/hour): curl "https://2s.io/api/weather/zip?zip=94103&trial=1"
Call without payment to receive the machine-readable PaymentRequirements. The accepts array lists each settlement rail with the amount, asset, and destination:
# 1. Probe with no auth → HTTP 402 + the x402 PaymentRequirements envelope:
curl -i "https://2s.io/api/weather/zip?zip=94103"
# → 402 Payment Required
# → body: { "x402Version": 2, "accepts": [ { ...payTo, maxAmountRequired, network... } ], "error": "..." }To pay, you sign the quoted authorization and resend with the base64 payload in the PAYMENT-SIGNATURE header (X-PAYMENT also works for v1 clients). Signing requires a wallet library, so in practice you let an SDK build the header — but the wire shape is just one extra header:
curl "https://2s.io/api/weather/zip?zip=94103" \ -H "PAYMENT-SIGNATURE: <base64 payment payload>" # → 200 OK + X-PAYMENT-TX: 0x... (on-chain settlement)
Call a live x402 API right now — no signup.
Browse the full endpoint directory, grab the quickstart, or read the llms.txt manifest. Every endpoint is keyless and pay-per-call.