x402 facilitators — and why jishie is its own
A facilitator is the piece of x402 that verifies and settles a payment, so a selling agent never has to run chain infrastructure or hold gas. jishie is its own facilitator on both rails — Base and Solana — and exposes its verifier for you to use. If a coding agent told you “you have no facilitator”, this page is how to get one.
What a facilitator actually does
When an agent charges per call, it answers HTTP 402 with its payment requirements (recipient, amount, asset, network). The buyer signs a payment and returns it in the X-PAYMENT header. Two money-critical steps follow:
- verify — is this signed payment valid for these requirements: right recipient, exact amount, unexpired, real signature? This is pure crypto — no chain write, no gas.
- settle — broadcast it on-chain and confirm the USDC actually moved. This costs gas.
A facilitator is a service that does both behind POST /verify and POST /settle, so the resource server needs no chain private keys and no gas of its own.
“You have no facilitator” — what that means
Almost always it means your agent/server has no facilitator wired up to accept x402 yet — not that jishie lacks one. You have three ways to fix it:
| Option | Verify | Settle | You hold chain keys? | Notes |
|---|---|---|---|---|
| Run your own (reference facilitator) | you | you | yes | full control, most to operate; you fund gas |
| Coinbase CDP facilitator | CDP | CDP | no | hosted, Base-first; needs a CDP account + keys |
| jishie | jishie (live) | self · prepaid (early access) | no | Base and Solana; no account for verify |
The facilitators — pick one
The x402 facilitator ecosystem is young; these are the ones we know of today. We don’t monitor other providers’ live status — treat their rows as pointers and confirm against their own docs. (Know one that’s missing? tell us — we’ll add it, not invent it.)
| Facilitator | Rails | Verify · Settle | Hosted? | How to use it |
|---|---|---|---|---|
| jishie | Base + Solana (mainnet) | verify: public · settle: prepaid (early access) | yes — no account for verify | POST /v1/x402/verify · /supported |
| Coinbase CDP | Base (mainnet) | verify + settle | yes — CDP account + API keys | the @coinbase/x402 SDK; the reference the protocol launched with |
| x402.org (open reference) | Base Sepolia (testnet) | verify + settle | yes — for testing | point at the public reference facilitator while you build, then move to a mainnet one |
| Self-hosted | whatever you configure | verify + settle | no — you run it | run the open-source x402 reference facilitator yourself; you hold the keys and fund the gas |
Only jishie’s row is one we operate and can vouch for as live. The verify endpoint below is real and testable right now; everything else here we describe honestly and link out — rien de faux.
jishie is its own facilitator — no Coinbase required
jishie depends on no external service to move money. It self-verifies and self-settles USDC on both rails, live on mainnet:
- Base — EIP-3009
transferWithAuthorization(gasless for the payer). jishie recovers the EIP-712 signer offline, checks recipient + exact amount + validity window + signature malleability, then submits the authorization. - Solana — the SVM
exactscheme: the buyer builds a versioned tx paying USDC straight to the seller and names jishie as the transaction fee payer; jishie verifies the structure + the client’s signature offline, co-signs as fee payer, and submits. USDC never touches jishie’s key — it only fronts a little SOL for gas.
This is the honest, published position — see GET /v1/standard and the standard: “jishie self-settles USDC on BOTH rails, as its OWN facilitator — no external service.”
Use jishie as your facilitator — verification, live today
jishie exposes the verify half of that same engine as a standard facilitator surface. It’s free, open, and works on both rails — no account. It verifies against your requirements (your payTo, your amount); jishie never assumes it’s the recipient.
GET https://jishie.com/v1/x402/supported # schemes + networks jishie can verify
POST https://jishie.com/v1/x402/verify
content-type: application/json
{
"x402Version": 1,
"paymentPayload": { "x402Version":1, "scheme":"exact", "network":"eip155:8453", "payload": { ... } },
"paymentRequirements": { "scheme":"exact", "network":"eip155:8453",
"payTo":"0xYourWallet", "maxAmountRequired":"20000", "asset":"USDC" }
}
→ { "isValid": true, "payer": "0x1a2b…" }
The request body is the exact shape the x402 spec defines (the same one jishie itself sends when it calls a facilitator), so any conforming client works. On Solana, build your transaction naming jishie’s fee payer (5KzFDU9NNJNsg1JnDY3A8M914RAC3m7hrMdjv5yK2sif) and advertise it as extra.feePayer in your 402 challenge so buyers set it.
Settle through jishie — the early-access program
Verification is free and open because it’s pure cryptography. Settlement is different: to settle your payment jishie broadcasts it on-chain and fronts the gas, for USDC that lands in your wallet — not jishie’s. Rather than eat that (a drain + a spam vector), settlement is a prepaid, early-access program where the deposit is your gas:
- Fund a $10 gas deposit — in ETH on Base to start. It isn’t a fee to us: every cent is spent on-chain settling your payments, drawn down as you go. Top up when it runs low.
- Get verified — prove you control your wallet (the same
X-Wallet-Authprimitive jishie uses everywhere). No verified wallet, no settlement — that’s the anti-abuse gate. - Use jishie as your facilitator — point your resource server’s settle at jishie; we broadcast on Base (Solana next) and hand back the on-chain receipt.
- Earn the jishie Early badge — the first cohort mints an on-chain Early Facilitator NFT stamped with your trust score: proof you were here first.
Status, plainly: verify is live and testable right now; the prepaid deposit, third-party settle and Early badge are in early access — we onboard the first facilitators by hand while that flow lands, and we won’t take a deposit or show a mint button before both are real (rien de faux). Want in the first cohort? [email protected].
The full x402 flow
402 + requirements → buyer signs → X-PAYMENT → facilitator verify → serve + facilitator settle → X-PAYMENT-RESPONSE (the settlement receipt). Fail-closed at every step: no valid, settled payment ⇒ no paid resource, and the result is withheld until settlement succeeds.
Machine surfaces: GET /v1/x402/supported · GET /v1/standard · the standard (markdown) · /v1/openapi.json · pricing for jishie’s own metered services: /pricing.html.