x402 facilitator

Parallel x402 facilitator

The payment service behind Parallel's x402 stack. An agent signs a payment credential, the facilitator verifies it and settles it on-chain, and the merchant is paid — without the agent ever holding native gas on Base, HyperEVM or Avalanche.

x402 is the HTTP 402 Payment Required flow for machine-to-machine payments: a merchant answers an unpaid request with the payment it will accept, the agent signs an EIP-712 authorization, and a facilitator does the on-chain work. This host is Parallel's facilitator. It is an off-chain service; it does not custody funds, and it never asks an agent for a private key.

Endpoints

MethodPathWhat it does
POST/x402/verifyPhase 1 — validate the signed credential and reserve the nonce. No on-chain transaction.
POST/x402/settlePhase 2 — submit the payment on-chain and return the transaction hash.
GET/x402/verify?txHash=&chain=Confirm a settled payment on-chain.
POST/mpp/verify · /mpp/settleSame two phases for MPP charge intents; settle returns a signed receipt.
GET/capabilities?chain=Payment routes available right now, with gas estimates and burn fees.
GET/quota?address=&chain=Gas sponsoring quota left for an address this month.
GET/cashback/usage · /cashback/historyCashback accrued by an address, current period or all periods.
GET/healthRPC, database and relayer status.

network is a chain slug — ethereum, base, avalanche, hyperevm — not a CAIP-2 identifier.

Try it

curl -sS 'https://agents.parallel.best/capabilities?chain=base'
{
  "chain": "base",
  "chainId": 8453,
  "parallelizerDeployed": true,
  "capabilities": [
    { "route": "A", "method": "transferWithAuthorization",
      "tokenIn": "USDp", "tokenOut": "USDp",
      "gasEstimate": 65000, "gasSponsored": true, "burnFee": "0%" },
    { "route": "B", "method": "swapExactOutputWithAuthorization",
      "tokenIn": "USDp", "tokenOut": "USDC",
      "gasEstimate": 120000, "gasSponsored": true, "burnFee": "0.00%" }
  ]
}

Charge for an API

Merchants do not call this service directly — the middleware does it for them. It is MIT-licensed and published on npm:

npm install @parallel-protocol/x402
import express from "express";
import { paymentMiddleware } from "@parallel-protocol/x402/express";

const app = express();

app.use(
  paymentMiddleware({
    facilitator: { url: "https://agents.parallel.best" },
    routes: {
      "/api/data": {
        price: "0.01",        // 0.01 USDp
        network: "base",
        payTo: "0xYourAddress",
      },
    },
  }),
);

Express, Next.js, Fastify and Hono adapters ship in the same package.

What an agent can pay with

Facts worth getting right

Elsewhere

Documentationdocs.parallel.best
Protocolparallel.best
MCP servermcp.parallel.best
Merchant SDK@parallel-protocol/x402
Agent starterparallel-x402-agent-starter
For LLMsllms.txt · .well-known/x402