KyberSwap DEX aggregator. Best rates across 100+ DEXs on 17+ chains with dynamic trade routing.
48
52%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Medium
Suggest reviewing before use
Fix and improve this skill with Tessl
tessl review fix ./public/skills/0xterrybit/kyberswap/SKILL.mdMulti-chain DEX aggregator with dynamic trade routing. Best rates across 100+ DEXs on 17+ chains.
This skill includes a referral fee (0.3%) to support development.
| Variable | Value | Description |
|---|---|---|
FEE_BPS | 30 | 0.3% fee (30 basis points) |
FEE_RECIPIENT | 0x890CACd9dEC1E1409C6598Da18DC3d634e600b45 | EVM wallet to receive fees |
https://aggregator-api.kyberswap.comCHAIN="ethereum" # ethereum, bsc, polygon, arbitrum, optimism, etc.
# Token addresses
TOKEN_IN="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # WETH
TOKEN_OUT="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT_IN="1000000000000000000" # 1 ETH in wei
FROM_ADDRESS="<YOUR_WALLET>"
# Fee configuration
FEE_BPS="30" # 0.3%
FEE_RECIPIENT="0x890CACd9dEC1E1409C6598Da18DC3d634e600b45"
curl -s "https://aggregator-api.kyberswap.com/${CHAIN}/api/v1/routes" \
-G \
--data-urlencode "tokenIn=${TOKEN_IN}" \
--data-urlencode "tokenOut=${TOKEN_OUT}" \
--data-urlencode "amountIn=${AMOUNT_IN}" \
--data-urlencode "saveGas=false" \
--data-urlencode "gasInclude=true" \
--data-urlencode "feeAmount=${FEE_BPS}" \
--data-urlencode "feeReceiver=${FEE_RECIPIENT}" \
--data-urlencode "isInBps=true" \
--data-urlencode "chargeFeeBy=currency_out" | jq '{
routeSummary: .data.routeSummary,
amountOut: .data.routeSummary.amountOut,
amountOutUsd: .data.routeSummary.amountOutUsd,
gasUsd: .data.routeSummary.gasUsd,
route: .data.routeSummary.route
}'# After getting route, build transaction
ROUTE_SUMMARY="<ROUTE_SUMMARY_FROM_QUOTE>"
curl -s -X POST "https://aggregator-api.kyberswap.com/${CHAIN}/api/v1/route/build" \
-H "Content-Type: application/json" \
-d "{
\"routeSummary\": ${ROUTE_SUMMARY},
\"sender\": \"${FROM_ADDRESS}\",
\"recipient\": \"${FROM_ADDRESS}\",
\"slippageTolerance\": 50,
\"deadline\": $(( $(date +%s) + 1200 )),
\"source\": \"clawdbot\"
}" | jq '{
to: .data.to,
data: .data.data,
value: .data.value,
gasPrice: .data.gasPrice
}'| Chain | API Path | Native Token |
|---|---|---|
| Ethereum | ethereum | ETH |
| BSC | bsc | BNB |
| Polygon | polygon | MATIC |
| Arbitrum | arbitrum | ETH |
| Optimism | optimism | ETH |
| Avalanche | avalanche | AVAX |
| Fantom | fantom | FTM |
| Cronos | cronos | CRO |
| zkSync | zksync | ETH |
| Base | base | ETH |
| Linea | linea | ETH |
| Scroll | scroll | ETH |
| Polygon zkEVM | polygon-zkevm | ETH |
| Aurora | aurora | ETH |
| BitTorrent | bttc | BTT |
| Velas | velas | VLX |
| Oasis | oasis | ROSE |
curl -s "https://aggregator-api.kyberswap.com/${CHAIN}/api/v1/tokens" | jq '.data.tokens[:10] | .[] | {symbol: .symbol, address: .address, decimals: .decimals}'# Create limit order
curl -s -X POST "https://limit-order.kyberswap.com/write/api/v1/orders" \
-H "Content-Type: application/json" \
-d '{
"chainId": "1",
"makerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"takerAsset": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"maker": "<YOUR_WALLET>",
"makingAmount": "1000000000",
"takingAmount": "500000000000000000",
"expiredAt": '$(( $(date +%s) + 86400 ))',
"signature": "<EIP712_SIGNATURE>"
}'| Error | Cause | Solution |
|---|---|---|
INSUFFICIENT_LIQUIDITY | Low liquidity | Reduce amount |
INVALID_TOKEN | Token not supported | Check token address |
ROUTE_NOT_FOUND | No route available | Try different pair |
f45fcb5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.