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.
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.
The list below is a comprehensive list of all networks supported on Request, as some networks or actions operate without a smart contract.
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