Desktop Only

This application is optimized for desktop browsers. Please open it on a device with a screen width of at least 1024px.

Facilitator

The facilitator is a core component of the x402 payment system. It executes blockchain transactions on behalf of users, enabling gasless payments.

What is a Facilitator?

A facilitator is a service that:

  • Receives signed payment authorizations from your server
  • Verifies the authorization is valid and has sufficient funds
  • Executes the USDC transfer on-chain
  • Pays gas fees so users don't need MNT tokens

Users only sign EIP-3009 authorizations — the facilitator handles all blockchain interactions.

How It Works

Payment Flow:

  1. Client → Server: Request to protected endpoint
  2. Server → Client: Returns 402 with payment requirements
  3. Client: User signs EIP-3009 authorization in wallet
  4. Client → Server: Retry request with X-PAYMENT header
  5. Server → Facilitator: Verify payment header
  6. Facilitator → Blockchain: Execute USDC transfer
  7. Facilitator → Server: Return transaction hash
  8. Server → Client: Return response

Deployment Options

You have two options for running a facilitator:

Self-Hosted (Recommended)

Run your own facilitator for full control over your payment infrastructure with no per-transaction fees.

Benefits:

  • Complete control over your infrastructure
  • No per-transaction fees
  • Custom configuration and monitoring
  • Data stays on your servers

Requirements:

  • Wallet with MNT for gas fees
  • facilitatorSecret — ensures only your app can use your facilitator

Set up Self-Hosted Facilitator →

Hosted

Use our managed facilitator service — just add projectKey from dashboard. No infrastructure to deploy.

Benefits:

  • Zero configuration — no facilitator URL needed
  • We pay gas fees
  • High availability
  • Automatic updates
  • Built-in analytics

Use Hosted Facilitator →

Facilitator Endpoints

Every facilitator (self-hosted or hosted) exposes the same API:

EndpointMethodDescription
/healthGETStatus and wallet balance
/supportedGETSupported networks and assets
/verifyPOSTVerify payment header
/settlePOSTExecute USDC transfer

Next Steps