Stablecoin Swap API: Convert USDC, USDT, and DAI
Last updated:
TL;DR
swapapi supports stablecoin swaps across 46 EVM chains with no API key. This page lists every supported stablecoin address and warns about critical decimal differences — USDC and USDT use 18 decimals on BSC, Rootstock, and Boba BNB instead of the standard 6.
Key differences
Why stablecoin swaps are different
- Near-zero price impact expected — stablecoin-to-stablecoin swaps should have near-zero price impact on liquid pairs
- Watch priceImpact closely — if priceImpact is above 0.01 (1%), something is wrong: low liquidity or wrong token address
- Decimal differences are the #1 source of bugs — the same token can have different decimals on different chains
- Amount is in smallest unit — the amount parameter is in the token's smallest unit. Getting decimals wrong means sending 1 million times too much or too little
Token addresses
Stablecoin addresses by chain
Ethereum Chain ID: 1
| Token | Address | Decimals |
|---|---|---|
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | 6 |
| USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 6 |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F | 18 |
BSC Chain ID: 56 WARNING: 18 decimals
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d | 18 |
| USDT | 0x55d398326f99059fF775485246999027B3197955 | 18 |
| DAI | 0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3 | 18 |
Arbitrum Chain ID: 42161
| Token | Address | Decimals |
|---|---|---|
| USDC | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 | 6 |
| USDT | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 | 6 |
| DAI | 0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1 | 18 |
Base Chain ID: 8453
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 6 |
| USDT | 0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2 | 6 |
| DAI | 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb | 18 |
Polygon Chain ID: 137
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | 6 |
| USDT | 0xc2132D05D31c914a87C6611C10748AEb04B58e8F | 6 |
| DAI | 0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063 | 18 |
Optimism Chain ID: 10
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 | 6 |
| USDT | 0x94b008aA00579c1307B0EF2c499aD98a8ce58e58 | 6 |
| DAI | 0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1 | 18 |
Watch out
Critical: Decimal Differences
These chains use 18 decimals for stablecoins
- BSC: USDC and USDT use 18 decimals (not 6). 100 USDC = 100000000000000000000 (20 zeros), not 100000000 (8 zeros).
- Rootstock: USDC (
0x1bda44fda023f2af8280a16fd1b01d1a493ba6c4) and USDT (0xef213441a85df4d7acbdae0cf78004e1e486bb96) are 18 decimals. - Boba BNB: USDC (
0x9F98f9F312d23d078061962837042b8918E6aff2) and USDT (0x1E633Dcd0d3D349126983D58988051F7c62c543D) are 18 decimals. - Blast: No canonical USDC or USDT. Uses USDB (
0x4300000000000000000000000000000000000003, 18 decimals).
Example
Swap USDC to USDT on Ethereum
amount=100000000 = 100 USDC (6 decimals)
USDC → USDT on Ethereum
$ curl "https://api.swapapi.dev/v1/swap/1?\ tokenIn=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&\ tokenOut=0xdAC17F958D2ee523a2206206994597C13D831ec7&\ amount=100000000&\ sender=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Example
Swap USDC on BSC (18 decimals)
amount=100000000000000000000 = 100 USDC on BSC (18 decimals!)
USDC → USDT on BSC (18 decimals)
$ curl "https://api.swapapi.dev/v1/swap/56?\ tokenIn=0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d&\ tokenOut=0x55d398326f99059fF775485246999027B3197955&\ amount=100000000000000000000&\ sender=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Best practices
Production tips for stablecoin swaps
- Check priceImpact — should be near zero (< 0.001) for stablecoin pairs on major chains
- High priceImpact? You may have the wrong token address or low liquidity on that chain
- ERC-20 approval required — approve the router (data.tx.to) before swapping. USDT on Ethereum requires approve(0) first.
- Large swaps (>$100K) — consider splitting into smaller trades to reduce price impact
- See supported chains for the full token address list
See also: swap tutorial, slippage guide, free crypto APIs.