Supported Assets
Currently, SolverNet primarily supports like-asset operations, meaning you deposit an asset on the source chain to cover the expense of the same type of asset on the destination chain. This is true for any asset that is pegged 1:1, such as USDC on Base to USDC on Arbitrum; but it also works for ETH to stETH in the same way, since they're directly pegged. Swaps between different assets are not yet enabled via the SDK.
Asset List
You can use the API (https://solver.mainnet.omni.network/api/v1/tokens) to check the current list alongside spend bounds.
The following tables list the currently supported assets on Mainnet and Testnet networks.
Mainnet
Network | Chain | Chain ID | Asset | Contract Address |
---|---|---|---|---|
Mainnet | Arbitrum One | 42161 | ETH | Native |
Mainnet | Arbitrum One | 42161 | USDC | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
Mainnet | Arbitrum One | 42161 | USDT | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 |
Mainnet | Base | 8453 | ETH | Native |
Mainnet | Base | 8453 | USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
Mainnet | Base | 8453 | wstETH | 0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452 |
Mainnet | Ethereum | 1 | ETH | Native |
Mainnet | Ethereum | 1 | OMNI | 0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4 |
Mainnet | Ethereum | 1 | USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
Mainnet | Ethereum | 1 | USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
Mainnet | Ethereum | 1 | stETH | 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 |
Mainnet | Ethereum | 1 | wstETH | 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 |
Mainnet | Optimism | 10 | ETH | Native |
Mainnet | Optimism | 10 | USDC | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 |
Mainnet | Optimism | 10 | USDT | 0x94b008aA00579c1307B0EF2c499aD98a8ce58e58 |
Testnet
Network | Chain | Chain ID | Asset | Contract Address |
---|---|---|---|---|
Testnet | Arb Sepolia | 421614 | ETH | Native |
Testnet | Arb Sepolia | 421614 | USDC | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d |
Testnet | Base Sepolia | 84532 | ETH | Native |
Testnet | Base Sepolia | 84532 | USDC | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
Testnet | Holesky | 17000 | ETH | Native |
Testnet | Holesky | 17000 | OMNI | 0xD036C60f46FF51dd7Fbf6a819b5B171c8A076b07 |
Testnet | Holesky | 17000 | stETH | 0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034 |
Testnet | Holesky | 17000 | wstETH | 0x8d09a4502Cc8Cf1547aD300E066060D043f6982D |
Testnet | OP Sepolia | 11155420 | ETH | Native |
Testnet | OP Sepolia | 11155420 | USDC | 0x5fd84259d66Cd46123540766Be93DFE6D43130D7 |
Native Assets
When dealing with native gas tokens:
- Use
isNative: true
in thedeposit
orexpense
configuration objects foruseQuote
anduseOrder
. - You do not need to provide a
token
address. - Ensure the
amount
is specified in the smallest unit (e.g., wei for ETH).
ERC20 Tokens
When dealing with ERC20 tokens:
- Use
isNative: false
(or omit it, asfalse
is the default) in thedeposit
orexpense
configuration. - Provide the correct ERC20 token contract
address
for the respective chain (srcChainId
for deposit,destChainId
for expense). - Ensure the
amount
is specified in the token's smallest unit (considering its decimals).