Skip to main content

Facilitator

Production-ready x402 payment protocol facilitator — verifies payment signatures and settles transactions on-chain over HTTP 402.

What is a Facilitator?

The facilitator is a trusted third party that acts on behalf of resource servers. It does not hold funds — it only validates payment payloads and broadcasts settlement transactions to the blockchain.

Client ──── request + payment ──▶ Server ──── verify ──▶ Facilitator
Client ◀─── 200 + content ────── Server ◀─── ok ─────── Facilitator
Server ──── settle ──▶ Facilitator
Server ◀─── tx hash ── Facilitator

Quick Start

# Install from crates.io
cargo install facilitator

# Generate a commented config template
facilitator init

# Edit config.toml with your RPC URLs and signer keys, then start
facilitator serve

API Endpoints

MethodPathDescription
GET/supportedList supported payment kinds (version / scheme / network)
POST/verifyVerify a payment payload against requirements
POST/settleSettle an accepted payment on-chain
GET/healthHealth check

Supported Chains

FamilyNetworks
EVM (EIP-155)Ethereum, Base, Optimism, Arbitrum, Polygon, Avalanche, Celo, Monad + testnets
Solana (SVM)Mainnet, Devnet, and custom clusters

Feature Flags

FeatureDefaultDescription
chain-eip155yesEVM chain support via r402-evm
chain-solanayesSolana chain support via r402-svm
telemetryyesOpenTelemetry tracing and metrics

Minimize binary size by disabling unused chains:

cargo install facilitator --no-default-features --features chain-eip155

Source Code