Supported Chains
swapapi supports token swaps on major EVM chains. Pass the chainId as a path parameter to GET /v1/swap/{chainId}.
Chain reference
| Chain | Chain ID | Native Token | Native Token Address |
|---|---|---|---|
| Ethereum | 1 | ETH | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| Base | 8453 | ETH | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| Arbitrum One | 42161 | ETH | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| Polygon | 137 | POL | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| Optimism | 10 | ETH | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| Avalanche | 43114 | AVAX | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
| BNB Chain | 56 | BNB | 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
Native token address
Use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE as the address for the native gas token on any chain (ETH, POL, AVAX, BNB). This is a universal convention across DeFi protocols.
Example: Swap on each chain
Ethereum (chainId: 1)
curl "https://api.swapapi.dev/v1/swap/1?tokenIn=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&tokenOut=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&amount=1000000000000000000&sender=YOUR_ADDRESS"
Base (chainId: 8453)
curl "https://api.swapapi.dev/v1/swap/8453?tokenIn=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&tokenOut=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=1000000000000000000&sender=YOUR_ADDRESS"
Arbitrum (chainId: 42161)
curl "https://api.swapapi.dev/v1/swap/42161?tokenIn=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&tokenOut=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&amount=1000000000000000000&sender=YOUR_ADDRESS"
Unsupported chains
If you pass an unsupported chain ID, you'll get a 400 response:
{
"success": false,
"error": {
"code": "UNSUPPORTED_CHAIN",
"message": "Chain 999 is not supported",
"details": { "chainId": 999 }
},
"timestamp": "2026-03-12T00:00:00.000Z"
}