Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mrdn.finance/llms.txt

Use this file to discover all available pages before exploring further.

The Meridian facilitator accepts several payment payload types over the same x402 endpoints (POST /v1/verify and POST /v1/settle). The facilitator inspects each request and routes it to the correct settlement path automatically; clients do not call different endpoints for different payment types.

Supported types

Exact (EIP-3009)

Default scheme. Buyer signs an EIP-3009 transferWithAuthorization for USDC and Meridian settles directly through X402ProxyFacilitator on the destination chain.

Permit2 (MegaETH)

Recommended path on MegaETH. Buyer approves Permit2 once, then signs a witness authorization that Meridian settles through x402ExactPermit2Proxy.

Circle Gateway (Batched)

Gas-free, batched USDC nanopayments backed by Circle’s Gateway Wallet. Detected via paymentRequirements.extra.name === "GatewayWalletBatched".

Comparison

CapabilityExact (EIP-3009)Permit2 (MegaETH)Circle Gateway Batched
TokensUSDCAny ERC-20USDC only
Minimum paymentToken-decimal granularityToken-decimal granularity$0.000001 USDC
Settlement targetX402ProxyFacilitatorx402ExactPermit2Proxy (via facilitator)Circle Gateway API
Buyer one-time setupNoneapprove(Permit2, ∞)Deposit USDC into Gateway Wallet
Per-payment signingEIP-3009 typed dataPermit2 witness typed dataEIP-712 typed data over Gateway Wallet domain
Gas paid by buyerNoneNoneNone
Cross-chainSame-chainSame-chainUnified balance across all funded chains
Buyer experience< 2s on-chain settlement< 2s on-chain settlementInstant signature verification; onchain settlement batched by Circle
Platform fee / cashbackSupportedSupportedNot applied (Meridian fee logic is skipped on the batched path)

How routing works

Both /v1/verify and /v1/settle follow the same first-level decision tree. Settle additionally distinguishes between EIP-3009 and Permit2 by trying PaymentPayloadSchema first and falling back to MegaethPermit2PaymentPayloadSchema: The “is this a batched payment?” check is implemented via isBatchPayment from @circle-fin/x402-batching/server. It looks at paymentRequirements.extra only; the rest of the request body keeps the same x402 v1 shape regardless of which path is taken.

Choosing a payment type

  • Building a typical x402 paywall on Base, Optimism, Polygon, etc. → Exact (EIP-3009). Nothing extra to set up; the SDK middleware handles it.
  • Integrating MegaETH → Permit2. See the MegaETH note on Smart Contracts and Supported Networks.
  • High-frequency, sub-cent agent-to-agent payments where zero fees and unified balance matter more than per-tx settlement speedCircle Gateway Batched.

Reference