x402 payments
Kryard runs an x402 facilitator: the service that verifies and settles the payments behind HTTP 402 Payment Required.
If you sell an API, x402 lets you charge per call without accounts, API keys, or a checkout page. The buyer's client gets a 402, signs a stablecoin authorization, and retries. The facilitator checks the signature and puts the transfer on chain — fronting the gas, so neither side needs native ETH.
Testnet preview
The facilitator serves Base Sepolia only (chain 84532), settling testnet USDC. There is no mainnet deployment and no SLA. Build and integrate against it; don't put real money behind it.
Why it's interesting
The buyer needs no ETH. An x402 payment is an EIP-3009transferWithAuthorization — the payer signs a message, and someone else submits it. That someone is Kryard's relayer, which pays gas out of its own balance.
So a buyer holding nothing but USDC can pay for an API call. That's the property that makes x402 work for machine-to-machine payments, where funding every agent with gas is impractical.
How a payment flows
1. Client → GET /your-api → 402 + `accepts` (price, asset, payTo)
2. Client signs an EIP-3009 authorization (no gas, no on-chain action)
3. Client → GET /your-api + X-PAYMENT (the signed authorization, base64)
4. Your API → POST /x402/v1/verify → { isValid: true, payer }
5. Your API serves the response
6. Your API → POST /x402/v1/settle → { success: true, transaction: "0x…" }Steps 4 and 6 are the only ones that touch Kryard. Everything else is between you and your caller — x402 is an HTTP convention, not a platform you sign up for.
Verify before you serve, settle after. /verify is a cheap read-only check; /settle broadcasts and costs the facilitator gas. Serving first and settling second means you never charge for a response you failed to deliver.
What the facilitator enforces
It spends the operator's gas on behalf of strangers, so it is deliberately narrow:
| Control | Current value |
|---|---|
| Network | Base Sepolia (84532) — one chain per deployment |
| Asset | Testnet USDC 0x036CbD…3dCF7e only |
| Amount per settle | 0.01 – 10 USDC |
| Scheme | exact (EIP-3009) |
| Auth | None — unauthenticated by design, as x402 specifies |
Anything outside those bounds is refused before a transaction is built. Full list of refusal codes in the reference.
Next
- Quickstart — charge for an endpoint, and pay for one.
- Reference — routes, payloads, reason codes, rate limits.
- The protocol itself: x402.org.