Skip to content

SVM Facilitator

What is a Facilitator?

A facilitator is an intermediary service that handles payment verification and settlement in the x402 protocol. When a server receives a payment from a client, it forwards the payment payload to the facilitator, which validates the payment, submits the transaction on-chain, and confirms that settlement has completed. The facilitator abstracts away the complexity of blockchain interactions so that servers and clients can focus on their core logic.

The SVM Facilitator

The SVM Facilitator is a Solana-native facilitator hosted at:

https://facilitator.svmacc.tech

It is purpose-built for the Solana Virtual Machine (SVM) and supports payments using SPL tokens on both Solana mainnet and devnet. Any x402 server can use it by setting a single environment variable — no API keys, no registration, no setup.

Key Features

FeatureDescription
No API keys neededThe facilitator is open and permissionless. Any server can use it without signing up or managing credentials.
Gasless client paymentsClients do not need SOL to pay for gas. The facilitator handles transaction fees on behalf of the payer.
SPL Token and Token-2022 supportSupports standard SPL tokens as well as the Token-2022 (Token Extensions) program.
Near-instant confirmationLeverages Solana's fast finality to confirm payments in under a second.

API Endpoints

The facilitator exposes the following HTTP endpoints:

GET /health

Health check endpoint. Returns a 200 status if the facilitator is running and healthy.

bash
curl https://facilitator.svmacc.tech/health

GET /supported

Lists all supported payment schemes, networks, and tokens. Use this to discover which assets and chains the facilitator can process.

bash
curl https://facilitator.svmacc.tech/supported

POST /verify

Validates a payment payload against the server's payment requirements. This checks that the payment is well-formed, the amounts are correct, and the transaction is valid — without submitting anything on-chain.

Request body: JSON containing the payment payload and the server's payment requirements.

bash
curl -X POST https://facilitator.svmacc.tech/verify \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "<base64-encoded-payment-payload>",
    "requirements": { ... }
  }'

POST /settle

Executes a verified payment on-chain. The facilitator submits the transaction to the Solana network and waits for confirmation before returning the result.

Request body: JSON containing the payment payload and the server's payment requirements.

bash
curl -X POST https://facilitator.svmacc.tech/settle \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "<base64-encoded-payment-payload>",
    "requirements": { ... }
  }'

Configuration

To use the SVM Facilitator, set the following environment variable in your server's environment:

bash
FACILITATOR_URL=https://facilitator.svmacc.tech

The x402 server middleware will automatically use this URL to verify and settle payments. No additional configuration is required.

Trust Model

The facilitator is designed to be trust-minimizing. It never has the ability to move funds beyond the amounts explicitly authorized by the client in their signed transaction. The client constructs and partially signs the transaction before sending it, which means:

  • The facilitator can only submit the exact transaction the client approved.
  • It cannot modify the recipient, the token, or the amount.
  • It cannot initiate transfers on its own — it can only finalize transactions that the client has already authorized.

This design ensures that even if the facilitator were compromised, it could not steal or redirect funds beyond what each individual client has explicitly signed off on.

Next Steps

Powered by SVM Facilitator