Overview
Crosschain payments allow users to pay a request using a stablecoin from a different blockchain network than the one specified on the request. For example, a payer can pay a request for USDC on Base using USDT from their Optimism wallet. Crosschain routing is powered by LiFi, which aggregates bridges and DEXs to find optimal routes.Benefits
- Flexibility: Payers can pay with their preferred stablecoin on any supported chain.
- Cost-Effective: Automated routing balances cost and speed.
- Time-Saving: Payers donβt need to swap or bridge tokens manually.
- Simplified UX: Payment settlement requires only 1 or 2 transactions from the payer.
Crosschain Payments Supported Chains and Currencies
For crosschain (and samechain) payments, the Request Network API supports USDC and USDT on 4 chains.Bridged USDC (USDC.e) is not supported for crosschain payments. Only native USDC is supported.
Supported Chains
- Ethereum
- Arbitrum One
- Base
- OP Mainnet
Supported Currencies
- USDC
- USDT
How It Works
Create the request
Create a request with a
paymentCurrency in the supported stablecoins and networks. The amount must be greater than 1 USD equivalent (e.g., at least 1.01 USDC) β crosschain routes are not available for amounts under $1 due to bridge minimums.Create the request via POST /v2/request.Fetch payment routes
Fetch available routes with GET /v2/request//routes.Required query parameters:
walletβ the payerβs wallet address
feePercentageandfeeAddressβ for platform fee inclusion in route calculations
chainandtokenβ the source chain and tokenfeeβ total fee as a decimalfeeBreakdown[]β detailed fee components (gas, crosschain, platform)speedβ"FAST"for same-chain, seconds estimate for crosschain
paymentCurrency.Example routes response
Get payment calldata
Once the payer selects a route, fetch executable transaction calldata with GET /v2/request//pay.Query parameters:The API returns a Metadata fields:
walletβ the payerβs wallet addresschainβ the source chain from the selected route (e.g.,ARBITRUM)tokenβ the source token from the selected route (e.g.,USDT)
Both
chain and token must be provided together for crosschain payments. Omit both for same-chain payments.transactions array with ready-to-execute calldata:Example crosschain response
stepsRequiredβ number of transactions to execute (1 or 2)needsApprovalβ whether a token approval transaction is needed firstapprovalTransactionIndexβ index of the approval tx in the array (ornull)paymentTransactionIndexβ index of the payment/bridge txrouteTypeβ"crosschain"or"samechain"quoteExpiresAtβ unix timestamp when the route quote expireshasEnoughBalanceβ whether the payer has sufficient fundssourceAmountβ the amount the payer needs to send on the source chain (includes bridge fees)
The API always includes approval transactions in crosschain calldata responses, even if the payer already has sufficient token allowance. This ensures USDT-style tokens (which require resetting allowance to zero before setting a new one) work correctly.
Execute the transactions
Send each transaction in the After the payer broadcasts the crosschain transaction, payment detection happens automatically. The API monitors the bridge execution and sends webhook notifications when the payment is confirmed on the destination chain.
transactions array as a standard eth_sendTransaction. If needsApproval is true, execute the approval transaction first and wait for confirmation before sending the payment transaction.Custom fee configuration
Custom fee configuration is available. See Platform Fees for setup details (feePercentage, feeAddress) and implementation examples.