1inch DEX Aggregator 🦄
The most popular DEX aggregator. Best rates across 400+ liquidity sources on 12+ blockchains.
Environment Variables
| Variable |
Description |
Required |
ONEINCH_API_KEY |
1inch API Key |
Yes |
💎 Referral Fee Configuration
This skill includes a referral fee (0.3%) to support development. The fee is transparently disclosed to users.
| Variable |
Value |
Description |
REFERRER_ADDRESS |
0x890CACd9dEC1E1409C6598Da18DC3d634e600b45 |
EVM wallet to receive fees |
FEE_PERCENT |
0.3 |
0.3% referral fee |
💡 For high-volume integrations ($10M+), contact 1inch for custom revenue share agreements.
Features
- 🔄 400+ Liquidity Sources - Uniswap, SushiSwap, Curve, Balancer, etc.
- ⛓️ 12+ Chains - Ethereum, BSC, Polygon, Arbitrum, Optimism, etc.
- 🛡️ Fusion Mode - Gasless swaps with MEV protection
- 📊 Pathfinder Algorithm - Optimal routing across DEXs
- 💰 Limit Orders - Set price targets
API Base URL
https://api.1inch.dev
Get Swap Quote
API_KEY="${ONEINCH_API_KEY}"
CHAIN_ID="1" # Ethereum
# Token addresses
SRC_TOKEN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" # ETH (native)
DST_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT="1000000000000000000" # 1 ETH in wei
FROM_ADDRESS="<YOUR_WALLET>"
# Referral configuration
REFERRER="0x890CACd9dEC1E1409C6598Da18DC3d634e600b45"
FEE="0.3" # 0.3%
curl -s "https://api.1inch.dev/swap/v6.0/${CHAIN_ID}/swap" \
-H "Authorization: Bearer ${API_KEY}" \
-G \
--data-urlencode "src=${SRC_TOKEN}" \
--data-urlencode "dst=${DST_TOKEN}" \
--data-urlencode "amount=${AMOUNT}" \
--data-urlencode "from=${FROM_ADDRESS}" \
--data-urlencode "slippage=1" \
--data-urlencode "referrer=${REFERRER}" \
--data-urlencode "fee=${FEE}" | jq '{
dstAmount: .dstAmount,
srcAmount: .srcAmount,
protocols: .protocols,
tx: .tx
}'
Get Quote Only (No Transaction)
curl -s "https://api.1inch.dev/swap/v6.0/${CHAIN_ID}/quote" \
-H "Authorization: Bearer ${API_KEY}" \
-G \
--data-urlencode "src=${SRC_TOKEN}" \
--data-urlencode "dst=${DST_TOKEN}" \
--data-urlencode "amount=${AMOUNT}" \
--data-urlencode "fee=${FEE}" | jq '{
dstAmount: .dstAmount,
srcAmount: .srcAmount,
protocols: .protocols,
gas: .gas
}'
Fusion Mode (Gasless Swap)
# Get Fusion quote
curl -s "https://api.1inch.dev/fusion/quoter/v2.0/${CHAIN_ID}/quote/receive" \
-H "Authorization: Bearer ${API_KEY}" \
-G \
--data-urlencode "srcChain=${CHAIN_ID}" \
--data-urlencode "dstChain=${CHAIN_ID}" \
--data-urlencode "srcTokenAddress=${SRC_TOKEN}" \
--data-urlencode "dstTokenAddress=${DST_TOKEN}" \
--data-urlencode "amount=${AMOUNT}" \
--data-urlencode "walletAddress=${FROM_ADDRESS}" | jq '.'
Get Token List
curl -s "https://api.1inch.dev/swap/v6.0/${CHAIN_ID}/tokens" \
-H "Authorization: Bearer ${API_KEY}" | jq '.tokens | to_entries[:10] | .[] | {symbol: .value.symbol, address: .key, decimals: .value.decimals}'
Check Allowance
TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
WALLET_ADDRESS="<YOUR_WALLET>"
curl -s "https://api.1inch.dev/swap/v6.0/${CHAIN_ID}/approve/allowance" \
-H "Authorization: Bearer ${API_KEY}" \
-G \
--data-urlencode "tokenAddress=${TOKEN_ADDRESS}" \
--data-urlencode "walletAddress=${WALLET_ADDRESS}" | jq '.allowance'
Get Approval Transaction
curl -s "https://api.1inch.dev/swap/v6.0/${CHAIN_ID}/approve/transaction" \
-H "Authorization: Bearer ${API_KEY}" \
-G \
--data-urlencode "tokenAddress=${TOKEN_ADDRESS}" \
--data-urlencode "amount=${AMOUNT}" | jq '{to: .to, data: .data, value: .value}'
Supported Chains
| Chain |
ID |
Native Token |
| Ethereum |
1 |
ETH |
| BSC |
56 |
BNB |
| Polygon |
137 |
MATIC |
| Arbitrum |
42161 |
ETH |
| Optimism |
10 |
ETH |
| Avalanche |
43114 |
AVAX |
| Gnosis |
100 |
xDAI |
| Fantom |
250 |
FTM |
| zkSync Era |
324 |
ETH |
| Base |
8453 |
ETH |
| Aurora |
1313161554 |
ETH |
| Klaytn |
8217 |
KLAY |
Common Token Addresses
| Token |
Ethereum |
Polygon |
| Native |
0xEeee...EEeE |
0xEeee...EEeE |
| USDC |
0xA0b8...1d0F |
0x2791...1ec7 |
| USDT |
0xdAC1...1ec7 |
0xc2132...1ec7 |
| WETH |
0xC02a...6Cc2 |
0x7ceB...6Cc2 |
Limit Orders
# Create limit order
curl -s -X POST "https://api.1inch.dev/orderbook/v4.0/${CHAIN_ID}/order" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"orderHash": "<ORDER_HASH>",
"signature": "<SIGNATURE>",
"data": {
"makerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"takerAsset": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"makingAmount": "1000000000",
"takingAmount": "500000000000000000",
"maker": "<YOUR_WALLET>"
}
}'
Safety Rules
- ALWAYS display swap details before execution
- WARN if price impact > 1%
- CHECK token allowance before swap
- VERIFY slippage settings
- NEVER execute without user confirmation
Error Handling
| Error |
Cause |
Solution |
insufficient funds |
Low balance |
Check wallet balance |
cannot estimate |
Route not found |
Try different amount |
allowance |
Token not approved |
Approve token first |
Links