x402 payments have always been single-chain: the payer and the merchant use the same network. That changes today.
The bridge extension decouples the payment network from the settlement network. Pay on Solana, receive on SKALE Base. Pay on SKALE Base, receive on Solana. As new networks are added to the bridge registry, all directions between them become available automatically — no code changes required.The merchant doesn't change anything. The API stays the same. The 402 response now includes an optional bridge extension that tells the client: "if you don't have funds on this chain, you can pay on a different supported network instead."
How It Works
When a merchant enables the bridge extension on their API, the 402 Payment Required response includes an extra extensions.bridge block alongside the standard accepts array:
{
"accepts": [{
"scheme": "exact",
"network": "eip155:1187947933",
"asset": "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
"amount": "1000000",
"payTo": "0xMerchantWallet"
}],
"extensions": {
"bridge": {
"info": {
"provider": "relai",
"endpoint": "https://facilitator.x402.fi/bridge/settle",
"supportedSourceChains": [
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
],
"supportedSourceAssets": [
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
],
"payTo": "BridgeSolanaWallet...",
"feesBps": 30
}
}
}
}
The SDK (@relai-fi/x402) reads this extension automatically. If the payer has a Solana wallet but the merchant only accepts SKALE Base USDC, the SDK calls /bridge/settle instead of paying directly. The bridge backend:
- Verifies the Solana payment via the facilitator
/verifyendpoint - Settles it on-chain via
/settle - Pays out USDC to the merchant on SKALE Base
- Returns an
xPaymenttoken the client uses to retry the original request
Supported Target Networks
The bridge extension is only advertised when the merchant's accepts includes a network the bridge actually supports. This list is derived dynamically from the bridge network registry — as new networks are enabled, they appear in the extension automatically.
Currently enabled:
| Network | CAIP-2 | USDC Token |
|---|---|---|
| SKALE Base mainnet | eip155:1187947933 | 0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20 |
| SKALE Base Sepolia (testnet) | eip155:324705682 | 0x2e08028E3C4c2356572E096d8EF835cD5C6030bD |
Enabling the Bridge Extension
In the RelAI dashboard, open your API settings and toggle Bridge on. The bridge extension requires the RelAI facilitator — it will be unavailable if you use a third-party facilitator.
The bridge fee is 0.3% taken from the bridged amount. Merchants receive the net amount after the fee.
Payer sends: 1.000000 USDC (Solana)
Bridge fee: 0.003000 USDC (0.3%)
Merchant gets: 0.997000 USDC (SKALE Base)
ATA Requirement
The merchant's Solana wallet must have a USDC token account (ATA) before receiving any bridged payment where Solana is the destination. The bridge performs an ATA pre-check before accepting the source payment — if the ATA doesn't exist, the transaction is rejected immediately with a clear error. The bridge never creates ATAs on behalf of anyone.
For AI Agents
The bridge extension is particularly useful for autonomous agents. An agent provisioned with a Solana wallet can access any x402-protected API regardless of which chain the merchant uses. The SDK handles the bridge flow transparently — the agent calls x402Fetch, the bridge does the rest.
import { x402Fetch } from "@relai-fi/x402";
// Agent has Solana wallet — API accepts SKALE Base USDC
// Bridge extension handles the cross-chain settlement automatically
const response = await x402Fetch("https://api.example.com/data", {
wallet: solanaWallet,
});
What's Next
- Base mainnet — enabled once liquidity wallet is funded
- EVM → Solana direction — pay on SKALE Base, merchant receives on Solana
- Additional EVM networks follow automatically as they are added to the bridge registry
Enable bridge in your API settings at relai.fi/dashboard. Bridge UI and documentation at relai.fi/bridge.