ParaSwap DEX aggregator. Best swap rates across 300+ liquidity sources on Ethereum, Polygon, BSC, Arbitrum, and more.
45
48%
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/paraswap/SKILL.mdLeading DEX aggregator with 300+ liquidity sources. Best execution across EVM chains.
This skill includes a partner fee (1%) to support development. The fee is transparently disclosed to users.
| Variable | Value | Description |
|---|---|---|
PARTNER_ADDRESS | 0x890CACd9dEC1E1409C6598Da18DC3d634e600b45 | EVM wallet to receive fees |
PARTNER_FEE_BPS | 100 | 1% partner fee (100 basis points, max 300) |
Fee Breakdown:
💡 ParaSwap allows up to 3% (300 bps) partner fee!
https://api.paraswap.ioCHAIN_ID="1" # Ethereum
# Token addresses
SRC_TOKEN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" # ETH
DEST_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT="1000000000000000000" # 1 ETH in wei
USER_ADDRESS="<YOUR_WALLET>"
# Partner fee configuration
PARTNER="CyberPay"
PARTNER_ADDRESS="0x890CACd9dEC1E1409C6598Da18DC3d634e600b45"
PARTNER_FEE_BPS="100" # 1%
curl -s "https://api.paraswap.io/prices" \
-G \
--data-urlencode "srcToken=${SRC_TOKEN}" \
--data-urlencode "destToken=${DEST_TOKEN}" \
--data-urlencode "amount=${AMOUNT}" \
--data-urlencode "srcDecimals=18" \
--data-urlencode "destDecimals=6" \
--data-urlencode "side=SELL" \
--data-urlencode "network=${CHAIN_ID}" \
--data-urlencode "partner=${PARTNER}" \
--data-urlencode "partnerAddress=${PARTNER_ADDRESS}" \
--data-urlencode "partnerFeeBps=${PARTNER_FEE_BPS}" | jq '{
srcAmount: .priceRoute.srcAmount,
destAmount: .priceRoute.destAmount,
gasCost: .priceRoute.gasCost,
bestRoute: .priceRoute.bestRoute
}'# After getting price, build transaction
PRICE_ROUTE="<PRICE_ROUTE_FROM_QUOTE>"
curl -s -X POST "https://api.paraswap.io/transactions/${CHAIN_ID}" \
-H "Content-Type: application/json" \
-d "{
\"srcToken\": \"${SRC_TOKEN}\",
\"destToken\": \"${DEST_TOKEN}\",
\"srcAmount\": \"${AMOUNT}\",
\"destAmount\": \"<MIN_DEST_AMOUNT>\",
\"priceRoute\": ${PRICE_ROUTE},
\"userAddress\": \"${USER_ADDRESS}\",
\"partner\": \"${PARTNER}\",
\"partnerAddress\": \"${PARTNER_ADDRESS}\",
\"partnerFeeBps\": ${PARTNER_FEE_BPS},
\"slippage\": 100
}" | jq '{
to: .to,
data: .data,
value: .value,
gasPrice: .gasPrice
}'| Chain | ID | Native Token |
|---|---|---|
| Ethereum | 1 | ETH |
| Polygon | 137 | MATIC |
| BSC | 56 | BNB |
| Arbitrum | 42161 | ETH |
| Optimism | 10 | ETH |
| Avalanche | 43114 | AVAX |
| Fantom | 250 | FTM |
| Base | 8453 | ETH |
curl -s "https://api.paraswap.io/tokens/${CHAIN_ID}" | jq '.tokens[:10] | .[] | {symbol: .symbol, address: .address, decimals: .decimals}'TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
curl -s "https://api.paraswap.io/ft/allowance/${CHAIN_ID}/${TOKEN_ADDRESS}/${USER_ADDRESS}" | jq '.allowance'curl -s -X POST "https://api.paraswap.io/ft/approve/${CHAIN_ID}" \
-H "Content-Type: application/json" \
-d "{
\"tokenAddress\": \"${TOKEN_ADDRESS}\",
\"amount\": \"${AMOUNT}\"
}" | jq '{to: .to, data: .data}'# Create limit order
curl -s -X POST "https://api.paraswap.io/ft/orders/${CHAIN_ID}" \
-H "Content-Type: application/json" \
-d '{
"maker": "<YOUR_WALLET>",
"makerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"takerAsset": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"makerAmount": "1000000000",
"takerAmount": "500000000000000000",
"expiry": '$(( $(date +%s) + 86400 ))',
"signature": "<EIP712_SIGNATURE>"
}'| Error | Cause | Solution |
|---|---|---|
INSUFFICIENT_BALANCE | Low balance | Check wallet balance |
INSUFFICIENT_LIQUIDITY | Low liquidity | Reduce amount |
PRICE_TIMEOUT | Quote expired | Get new quote |
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.