10 min read
xpay Launches Non-Custodial x402 Facilitator with Zero Fees and Gas-Sponsored Settlement
xpay has deployed its own x402 facilitator at facilitator.xpay.sh — a non-custodial, zero-fee payment verification and settlement service on Base with gas-sponsored transactions. Here's the architecture, why it matters, and how to use it.
xpay✦
21 Feb 2026Why xpay Built Its Own x402 Facilitator
The x402 protocol is reshaping how AI agents pay for API access. Instead of API keys, OAuth tokens, and monthly invoices, x402 enables instant, per-request USDC payments using the HTTP 402 status code. But every x402 payment needs a facilitator — a service that verifies payment signatures and settles funds on-chain.
xpay has been building the AgentFinOps control plane: Smart Proxy for spending limits, Paywall-as-a-Service for API monetization, and Observability for transaction monitoring. The missing piece was the settlement layer itself. Rather than depend solely on third-party facilitators, xpay deployed its own at facilitator.xpay.sh — zero fees, gas-sponsored settlement, sub-second latency, no API key required.
What Is an x402 Facilitator?
An x402 facilitator is a trusted intermediary in the x402 payment protocol. When an AI agent or client makes an HTTP request to an x402-enabled API, the server responds with 402 Payment Required and includes payment requirements. The client signs a USDC payment authorization and re-sends the request with the payment attached in the X-402-Payment header.
The facilitator's job is twofold:
- Verify: Validate the payment signature, check the amount, confirm the payer has sufficient USDC balance, and ensure the authorization hasn't expired or been replayed.
- Settle: Submit the
transferWithAuthorization(EIP-3009) transaction on-chain, transferring USDC from the buyer's wallet directly to the seller's wallet.
The facilitator never holds or custodies the funds. It only submits the signed authorization that the buyer already approved. Think of it as a notary: it verifies the signature is valid and files the paperwork, but never touches the money.
How It Works: The Payment Flow
Here's the end-to-end flow when an AI agent pays for an x402-protected API through xpay's facilitator:
- The agent makes an HTTP request to a seller's API. The API responds with
402 Payment Requiredand payment requirements (amount, currency, facilitator URL). - The agent's wallet signs an EIP-3009
transferWithAuthorization— a gasless approval to move USDC from the agent's wallet directly to the seller's wallet. - The agent re-sends the request with the signed payment in the
X-402-Paymentheader. - The seller forwards the payment to xpay's facilitator (
POST /verify) to validate the signature, balance, and amount. - The seller serves the API response, then calls
POST /settle. The facilitator submits the on-chain transaction — USDC moves directly from agent to seller.
Under the Hood
xpay's facilitator is built for reliability and sub-second latency on a serverless, stateless architecture. No database, no queue — the blockchain is the only source of truth.
Three endpoints, one job:
GET /health — Status, supported networks, protocol versions
POST /verify — Validate a payment payload against requirements
POST /settle — Submit transferWithAuthorization on-chain
Why Developers Choose xpay's Facilitator
- Zero setup friction: No registration, no API key, no OAuth. Point your x402 client at
facilitator.xpay.shand you're live. - Sellers keep 100% of revenue: No protocol fees. No gas deductions. The full USDC amount lands in the seller's wallet.
- Sellers don't need ETH: xpay sponsors gas. API providers receive pure USDC with zero crypto overhead.
- Start on testnet, ship to mainnet: Base Sepolia is included for development. Switch to Base mainnet when you're ready — same API, same facilitator.
- Part of a platform: Integrates with Smart Proxy (spending controls), Paywall (monetization), and Observability (monitoring).
Use Cases
- AI agent API access: An autonomous agent needs real-time market data. It hits the API, receives
402, pays $0.01 in USDC, gets the data — all in under a second. No human in the loop. - API monetization for indie developers: You built a useful API. Wrap it with xpay's Paywall, point it at the facilitator, and you're earning USDC per request. No Stripe, no invoices, no minimum payout.
- Testnet prototyping: Building an x402 integration? Use Base Sepolia with the same facilitator URL. Test the full verify-and-settle flow with testnet USDC before going live.
- Micropayment paywalls: Charge $0.001 per API call. Traditional payment rails can't handle sub-cent transactions. x402 + xpay's facilitator can — with zero fees on top.
Gas-Sponsored Settlement
Here's where xpay's facilitator stands out from most alternatives: xpay sponsors gas fees for settlement transactions.
On most facilitators, either the seller pays gas or the fee is embedded in the protocol fee. On xpay's facilitator, the facilitator wallet itself holds ETH on Base and pays the gas cost for every transferWithAuthorization call.
Why does this matter?
- Sellers don't need ETH: An API provider using x402 via xpay's facilitator doesn't need to hold any ETH. They receive pure USDC with zero overhead.
- Lower barrier to entry: New developers testing on Base Sepolia don't need to acquire testnet ETH for their facilitator — xpay handles it.
- Predictable economics: The seller knows exactly what they'll receive (the full USDC amount) with no gas deductions.
How It Fits Into AgentFinOps
The facilitator isn't a standalone product. It's the settlement layer of xpay's AgentFinOps platform:
Smart Proxy
AI agent spending controls — budget limits, rate limiting, destination allowlists. Ensures agents don't overspend.
Paywall-as-a-Service
Wrap any API endpoint with x402 payment requirements. Monetize in minutes.
Facilitator
The settlement engine. Verifies payments and submits on-chain settlement with zero fees and sponsored gas.
Observability
Full transaction monitoring, analytics, and alerting across all payment flows.
Together, these form a complete control plane for AI agent financial operations. An API provider can set up a paywall, point it at xpay's facilitator for settlement, monitor everything through the observability dashboard, and know that their AI agent customers are governed by Smart Proxy's spending controls.
How xpay Compares to Other Facilitators
The x402 facilitator ecosystem is growing rapidly, with 23+ facilitators now listed. Here's how xpay compares to the most prominent alternatives:
| Feature | xpay | CDP (Coinbase) | Mogami | x402.org |
| Protocol fees | 0% | 0% | 0% | 0% |
| Gas sponsored | Yes | No | No | No |
| Authentication | None (permissionless) | API Key + OAuth | API Key | None |
| Non-custodial | Yes | Yes | Yes | Yes |
| x402 v1 + v2 | Both | Both | v1 | v1 |
| Testnet support | Base Sepolia | Yes | Base Sepolia | Yes |
| OFAC compliance | No | Yes | No | No |
| Platform integration | Smart Proxy + Paywall + Observability | CDP ecosystem | Standalone | Standalone |
xpay's key differentiators are gas-sponsored settlement, permissionless access (no API key), and integration with the broader AgentFinOps platform. CDP is the best choice for enterprises needing compliance. Mogami excels at AI agent micropayments. The x402 ecosystem benefits from having multiple independent facilitators — it increases decentralization and resilience.
Getting Started with xpay Facilitator
No signup. No API key. Just point your x402 client at the endpoint.
1. Verify the facilitator is live
curl https://facilitator.xpay.sh/health
# Response:
# {
# "status": "ok",
# "facilitator": "0x2772F7F74ac0aCA38C6238aA5EcE72B27bEB8C17",
# "supportedNetworks": ["eip155:8453", "eip155:84532"],
# "supportedVersions": [1, 2]
# }
2. Configure your x402 server
If you're using the x402 SDK, just swap the facilitator URL:
import { createClient } from '@x402/core';
const client = createClient({
facilitatorUrl: 'https://facilitator.xpay.sh',
network: 'base' // or 'base-sepolia' for testing
});
3. Verify and settle payments
// In your API handler:
const verification = await client.verify({
paymentHeader: req.headers['x-402-payment'],
expectedAmount: '1.00',
expectedCurrency: 'USDC'
});
if (verification.valid) {
// Serve the response, then settle
const settlement = await client.settle({
paymentHeader: req.headers['x-402-payment']
});
// USDC transferred buyer → seller. Gas paid by xpay.
}
That's it. No credentials to manage, no fees to account for, no gas to worry about. For detailed API reference and advanced integration patterns, see the facilitator documentation.

