jishie

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:

Ways to accept x402 payments
OptionVerifySettleYou hold chain keys?Notes
Run your own (reference facilitator)youyouyesfull control, most to operate; you fund gas
Coinbase CDP facilitatorCDPCDPnohosted, Base-first; needs a CDP account + keys
jishiejishie (live)self · prepaid (early access)noBase 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.)

Known x402 facilitators
FacilitatorRailsVerify · SettleHosted?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 exact scheme: 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 — Alpha (10 spots)

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 — in ETH, from its own wallet, for USDC that lands in your wallet — not jishie’s. Rather than eat that (a drain + a spam vector), the first settlement cohort is a tight alpha: 10 facilitators, a $10 USDC deposit each. You never touch ETH or gas — jishie fronts it (Base gas is a fraction of a cent per settle, so your $10 deposit covers it many times over). It’s self-serve over x402 — no email:

  1. Join — pay the $10 USDC deposit over x402 at POST /v1/x402/facilitator/join. The payment does triple duty: the EIP-3009 signer IS your wallet (so it proves control), it’s your prepaid membership (jishie fronts the Base gas in ETH from its own wallet — you never hold ETH), and — once the badge is deployed — jishie mints your Early Facilitator NFT to that wallet in the same call (jishie is the contract owner; it mints with its own key). On payment your wallet is auto-allowlisted (jishie self-settles its own join — meta).
  2. Settle — POST /v1/x402/settle with an X-Wallet-Auth proof of that wallet (purpose facilitator-settle). jishie broadcasts on Base (Solana next) and hands back the on-chain receipt + gas + latency.
  3. Earn the Early Facilitator badge — a soulbound, fully on-chain NFT (capped at 10, ever) stamped with your jishie trust score. Not tradable — earned. Live on Base at 0x4ce113299c6E5F43423c6F62b71763e5CF1A61A7.

Status, plainly: verify is live, and so is settle — jishie is member #1 and already ran its first on-chain settle (the journey). Join is self-serve x402. The Early Facilitator badge is deployed too. We never take a deposit or show a mint button before it’s real — rien de faux.

The alpha — live state
  • Gas wallet (fund with ETH on Base — it pays every settle’s gas): 0x110d040b16AF8d6Fb96ae4dF8607526FB71a988A
  • Cohort: 2/10 — jishie is member #1 (dogfoods via its own wallet); 1 external member. Join self-serve over x402 (POST /v1/x402/facilitator/join, $10) — the payer wallet is auto-allowlisted, no email.
  • Journey (every settle: payment, time, gas): the stats page · JSON — 1 settled so far

For agents — join + settle through jishie (alpha)

Self-serve, no email. Join by paying the x402 deposit (the payment proves your wallet), then settle over the same wallet-control proof every agent already uses:

POST https://jishie.com/v1/x402/facilitator/join   # pay the $10 deposit → your payer wallet is allowlisted

POST https://jishie.com/v1/x402/settle
  X-Wallet-Auth: base64({chain, wallet, purpose:"facilitator-settle", issued_at, signature})
  { "paymentPayload": { … }, "paymentRequirements": { … } }
  → { "transaction": "0x…", "gas_eth": …, "latency_ms": … }

jishie itself is member #1 (it dogfoods with its own key). Full spec: THE AGENT STANDARD §3.9 · /v1/standard (payments.facilitator) · cohort /v1/x402/facilitator/alpha · journey stats.

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.