Documentation Index
Fetch the complete documentation index at: https://docs.request.network/llms.txt
Use this file to discover all available pages before exploring further.
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 5 chains.Bridged USDC (USDC.e) is not supported for crosschain payments. Only native USDC is supported.
Supported Chains
- Ethereum
- Arbitrum One
- Base
- OP Mainnet
- Polygon
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 of $1 or less 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.