Smart contracts power Request's payment engine. They enhance efficiency by supporting automatic reconciliation, batch payments (handling multiple transactions in a single process), and payments with currency conversion (such as settling a USD invoice in cryptocurrency), reducing time spent and the risk of errors. All smart contracts are publicly available on GitHub here.
The list below is not a comprehensive list of all networks supported on Request, as some networks or actions operate without a smart contract.
If you notice a difference between the payment address in your wallet and the one shown on the payable, use the table below to confirm the correct address.
Paying fiat-denominated payable in ERC-20 token
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when paying a fiat-denominated payable in an ERC20 token (e.g., paying a USD-denominated bill in USDC).
Network | Smart Contract Address |
Arbitrum One | 0xA5186dec7dC1ec85B42A3cd2Dc8289e248530B07 |
Avalanche | 0xA5186dec7dC1ec85B42A3cd2Dc8289e248530B07 |
Base | 0x8296D56321cf207925a7804E5A8E3F579838e6Ad |
BNB Chain | 0xbbd9c5D112343A4Aa2bc194245760CaeeaF118Be |
Celo | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
Core | Uses ERC20FeeProxy |
Ethereum | 0xe72Ecea44b6d8B2b3cf5171214D9730E86213cA2 |
Fuse | Uses ERC20FeeProxy |
GnosisChain | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
Optimism | 0x1550A8C4F4E5afC67Ea07e8ac590fdcAdB4bBfb1 |
Polygon | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
Sonic | 0xe43fd55Da253628Ed7Cad5ab198664F5B3659DA9 |
zkSync Era | Uses ERC20FeeProxy |
GitHub reference: ERC20ConversionProxy
Paying ERC20-denominated payable in ERC20 token
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when paying an ERC20-denominated payable in ERC20 token (e.g., paying a USDC-denominated bill in USDC).
Network | Smart Contract Address |
Arbitrum One | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Avalanche | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Base | 0x1892196E80C4c17ea5100Da765Ab48c1fE2Fb814 |
BNB Chain | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Celo | 0x2171a0dc12a9E5b1659feF2BB20E54c84Fa7dB0C |
Core | 0x399F5EE127ce7432E4921a61b8CF52b0af52cbfE |
Ethereum | 0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C |
Fuse | 0xee07ef5B414955188d2A9fF50bdCE784A49031Fc |
GnosisChain | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Optimism | 0x399F5EE127ce7432E4921a61b8CF52b0af52cbfE |
Polygon | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Sonic | 0x1892196E80C4c17ea5100Da765Ab48c1fE2Fb814 |
zkSync Era | 0x6e28Cc56C2E64c9250f39Cb134686C87dB196532 |
GitHub reference: ERC20FeeProxy
Paying a fiat-denominated payable in native currency
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when paying a fiat-denominated payable in native currency (e.g., paying a USD-denominated bill in ETH on Ethereum).
Network | Smart Contract Address |
Arbitrum One | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Avalanche | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Base | 0xEdfD8386d5DE52072B4Ad8dC69BBD0bB89f9A1fb |
BNB Chain | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Celo | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Core | Uses ERC20FeeProxy |
Ethereum | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Fuse | Uses ERC20FeeProxy |
GnosisChain | Uses ERC20FeeProxy |
Optimism | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Polygon | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Sonic | 0x3E3B04e1bF170522a5c5DDE628C4d365c0342239 |
zkSync Era | Uses ERC20FeeProxy |
GitHub reference: EthConversionProxy
Paying a native currency-denominated payable in native currency
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when paying a native currency-denominated payable in native currency (e.g., paying an ETH-denominated bill in ETH on Ethereum).
Network | Smart Contract Address |
Arbitrum One | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Avalanche | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Base | 0xd9C3889eB8DA6ce449bfFE3cd194d08A436e96f2 |
BNB Chain | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Celo | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Core | 0xe11BF2fDA23bF0A98365e1A4c04A87C9339e8687 |
Ethereum | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Fuse | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
GnosisChain | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Optimism | 0xe11BF2fDA23bF0A98365e1A4c04A87C9339e8687 |
Sonic | 0xd9C3889eB8DA6ce449bfFE3cd194d08A436e96f2 |
Polygon | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
zkSync Era | 0xE9A708db0D30409e39810C44cA240fd15cdA9b1a |
GitHub reference: EthereumFeeProxy
Paying multiple wallets at once ("Crypto-to-Crypto Batch Payment")
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used for batch payments sent to wallets.
Network | Smart Contract Address |
Arbitrum One | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Avalanche | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Base | 0x1aF3f22685AcdDc788B3730ed415912d8f654420 |
BNB Chain | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Celo | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Core | 0x02561967c48e87cfB079763F3BEf6424A5A166A7 |
Ethereum | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Fuse | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
GnosisChain | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Optimism | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Polygon | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Sonic | 0x02561967c48e87cfB079763F3BEf6424A5A166A7 |
Tron | TX3TwEQYhqaEB6765KH7gP4y7MdRnzp28V |
zkSync Era | 0x0C41700ee1B363DB2ebC1a985f65cAf6eC4b1023 |
GitHub reference: BatchConversionPayments
0x1E7E0E707B482E6858a88289E0E4004875EcEEbD
Pay to a single bank account ("Crypto-to-Fiat Single Payment")
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when making a single Crypto-to-Fiat payment. All networks and currencies supported for Crypto-to-Fiat are listed here.
Network | Smart Contract Address |
Arbitrum One | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Ethereum | 0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C |
Polygon | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Solana | - |
Tron | - |
GitHub reference: ERC20FeeProxy
Paying multiple bank accounts at once ("Crypto-to-Fiat Batch Payment")
Never send funds directly to smart contracts, as they will be lost. Only pay via embedded payment flows in Request Finance.
The contracts below are used when making a multiple Crypto-to-Fiat payments. All networks and currencies supported for Crypto-to-Fiat are listed here.
Network | Smart Contract Address |
Ethereum | 0x1E7E0E707B482E6858a88289E0E4004875EcEEbD |
Polygon | 0x1E7E0E707B482E6858a88289E0E4004875EcEEbD |
Solana | - |
Tron | TX3TwEQYhqaEB6765KH7gP4y7MdRnzp28V |
GitHub reference: BatchConversionPayments
