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.
Never send funds directly to smart contracts, as they will be lost. Only use the smart contracts via Request Finance (app.request.finance).
Paying fiat-denominated payable in ERC-20 token
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 |
Fantom | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
Fuse | Uses ERC20FeeProxy |
GnosisChain | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
Moonbeam | 0x1550A8C4F4E5afC67Ea07e8ac590fdcAdB4bBfb1 |
Optimism | 0x1550A8C4F4E5afC67Ea07e8ac590fdcAdB4bBfb1 |
Polygon | 0xf0f49873C50765239F6f9534Ba13c4fe16eD5f2E |
zkSync Era | Uses ERC20FeeProxy |
GitHub reference: ERC20ConversionProxy
Paying ERC20-denominated payable in ERC20 token
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 |
Fantom | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Fuse | 0xee07ef5B414955188d2A9fF50bdCE784A49031Fc |
GnosisChain | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
Moonbeam | 0x399F5EE127ce7432E4921a61b8CF52b0af52cbfE |
Optimism | 0x399F5EE127ce7432E4921a61b8CF52b0af52cbfE |
Polygon | 0x0DfbEe143b42B41eFC5A6F87bFD1fFC78c2f0aC9 |
zkSync Era | 0x6e28Cc56C2E64c9250f39Cb134686C87dB196532 |
GitHub reference: ERC20FeeProxy
Paying a fiat-denominated payable in native currency
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 |
Fantom | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Fuse | Uses ERC20FeeProxy |
GnosisChain | Uses ERC20FeeProxy |
Moonbeam | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Optimism | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
Polygon | 0x7Ebf48a26253810629C191b56C3212Fd0D211c26 |
zkSync Era | Uses ERC20FeeProxy |
GitHub reference: EthConversionProxy
Paying a native currency-denominated payable in native currency
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 |
Fantom | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Fuse | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
GnosisChain | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
Moonbeam | 0xe11BF2fDA23bF0A98365e1A4c04A87C9339e8687 |
Optimism | 0xe11BF2fDA23bF0A98365e1A4c04A87C9339e8687 |
Polygon | 0xfCFBcfc4f5A421089e3Df45455F7f4985FE2D6a8 |
zkSync Era | 0xE9A708db0D30409e39810C44cA240fd15cdA9b1a |
GitHub reference: EthereumFeeProxy
Making batch payments
The contracts below are used for batch payments (making multiple payments in one go).
Network | Smart Contract Address |
Arbitrum One | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Avalanche | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Base | 0x1aF3f22685AcdDc788B3730ed415912d8f654420 |
BNB Chain | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Celo | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Core | 0x02561967c48e87cfB079763F3BEf6424A5A166A7 |
Ethereum | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Fantom | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Fuse | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
GnosisChain | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Moonbeam | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Optimism | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Polygon | 0x3cF63891928B8CeebB81C95426600a18cd59C03f |
Tron | TX3TwEQYhqaEB6765KH7gP4y7MdRnzp28V |
zkSync Era | 0x0C41700ee1B363DB2ebC1a985f65cAf6eC4b1023 |
GitHub reference: BatchConversionPayments
Making Crypto-to-Fiat payments
The contracts below are used when making a 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
Making a swap payments
The contracts below are used when paying a payable in ERC20 using cryptocurrency conversion (swap).
The swap payment option is phasing out and may already not be available on some networks.
Network | Smart Contract Address |
Arbitrum One | 0x1d6B06C6f7adFd9314BD4C58a6D306261113a1D4 |
Avalanche | 0x1d6B06C6f7adFd9314BD4C58a6D306261113a1D4 |
Base | 0xFbBd0854048a8A75a8823c230e673F8331140483 |
BNB Chain | 0x1d6B06C6f7adFd9314BD4C58a6D306261113a1D4 |
Celo | 0x1d6B06C6f7adFd9314BD4C58a6D306261113a1D4 |
Core | - |
Ethereum | 0x3b4837C9F4A606b71e61FD56Db6241781194df92 |
Fantom | 0x1d6B06C6f7adFd9314BD4C58a6D306261113a1D4 |
Fuse | - |
GnosisChain | 0x3b4837C9F4A606b71e61FD56Db6241781194df92 |
Moonbeam | 0x80D1EE67ffAf7047d3E6EbF7317cF0eAd63FFc78 |
Optimism | 0x80D1EE67ffAf7047d3E6EbF7317cF0eAd63FFc78 |
Polygon | 0x3b4837C9F4A606b71e61FD56Db6241781194df92 |
zkSync Era | - |
GitHub reference: ERC20SwapConversion