Skip to main content

Overview

Meridian supports multiple EVM networks with different levels of functionality for each network. This page documents the current network support and capabilities.

Contract Addresses

Mainnet

Ethereum Note

Ethereum uses native USDC with the EIP-712 domain USD Coin / 2. Same-chain payments and Across routes are supported. The canonical proxy address is the same as on other mainnets, but Ethereum runs the V6.1 facilitator implementation. Ethereum relays also have a profitability guard because L1 gas can exceed the facilitator fee. Meridian uses the current recommended EIP-1559 fees and a Chainlink ETH/USD price to compare the facilitator’s fee with the cost of 100,000 gas. If the gas or price read fails, or the estimated cost is higher than the fee, settlement returns HTTP 503 without broadcasting. Retry after the response’s Retry-After interval; other networks do not use this guard.

Non-EIP-3009 Token Note

Chains whose payment token does not natively support EIP-3009 use Permit2 via x402ExactPermit2Proxy 0x402085c248EeA27D92E8b30b2C58ed07f9E20001. This is the canonical exact Permit2 proxy from the official x402 repository, deployed at the same address on supported EVM chains. This includes MegaETH, BSC, and BOT chain testnet and mainnet. For these integrations:
  • Keep payTo set to the facilitator 0x8E7769D440b3460b92159Dd9C6D17302b036e2d6
  • Set paymentRequirements.asset to the ERC-20 token address the buyer will pay with
  • Use Permit2 0x000000000022D473030F116dDEE9F6B43aC78BA3 as the approval target
  • Use x402ExactPermit2Proxy 0x402085c248EeA27D92E8b30b2C58ed07f9E20001 as the Permit2 spender

Upto Scheme Note

The upto scheme (usage-based pricing, buyer signs a maximum and the seller settles the actual amount) is available on every supported network, since it always settles via Permit2. Sign with x402UptoPermit2Proxy 0x402015c795ecb48A360bDC6e35a2EaEb313a0002 as the Permit2 spender (same address on every chain) and include the facilitator field in the witness. See Payment Types for details.

Tempo Note

Tempo has no native gas token. Transaction fees are paid in TIP-20 stablecoins such as USDC.e. Meridian uses USDC.e at 0x20C000000000000000000000b9537d11c60E8b50 for payment flows. The public RPC is https://rpc.tempo.xyz, the WebSocket endpoint is wss://rpc.tempo.xyz, the explorer is https://explore.tempo.xyz, and Circle CCTP/Gateway is not currently supported.

Testnet

Fluent testnet currently uses a mock USDC deployment, including function mint(to, amount) to receive test USDC.

Arc Testnet Note

Arc Testnet uses USDC as the native gas token. Meridian uses the ERC-20 USDC interface at 0x3600000000000000000000000000000000000000 for payment flows. The public RPC is https://rpc.testnet.arc.network, the WebSocket endpoint is wss://rpc.testnet.arc.network, the explorer is https://testnet.arcscan.app/, and the Circle CCTP/Gateway domain is 26.

Solana (SVM)

Meridian settles USDC payments on Solana through the meridian_x402 program rather than an EVM facilitator. Payments are same-chain only (no Across cross-chain routing on Solana in this version). The program is live on both solana and solana-devnet. Do not hardcode the program ID or the fee-payer pubkey — read everything at runtime from GET /v1/solana/facilitator?network=<network>, which returns { network, facilitator, programId, configPda } plus the on-chain program config (usdcMint, treasury, treasuryToken, treasuryFeeBps, paused) when the chain is reachable. Buyers need no Anchor, no IDL, and no on-chain config reads — this one call plus @solana/web3.js / @solana/spl-token is enough. For these integrations:
  • Set paymentRequirements.asset to the USDC mint address
  • Set paymentRequirements.payTo to the seller’s recipient wallet (owner, not a token account), matching the org’s configured Solana recipient
  • Set paymentRequirements.extra.feePayer to the facilitator pubkey; the buyer signs the settlement transaction and the facilitator co-signs as fee payer
  • Ensure all USDC associated token accounts exist before settlement
See Solana Program and the Solana payments integration guide.

Network Monitoring

  • Monitor network status via /v1/supported endpoint
  • Implement fallback logic for network outages
  • Cache network information with appropriate TTL