paraswap

SKILL.md

ParaSwap 🦜

Leading DEX aggregator with 300+ liquidity sources. Best execution across EVM chains.

💎 Partner Fee Configuration

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:

  • User pays: 1% of swap output
  • Partner receives: 100% of fee
  • Fees are collected on-chain directly to your wallet

💡 ParaSwap allows up to 3% (300 bps) partner fee!

Features

  • 🔄 300+ Liquidity Sources - Uniswap, SushiSwap, Curve, Balancer, etc.
  • ⛓️ Multi-Chain - Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base
  • 🛡️ MEV Protection - Private transactions available
  • 📊 MultiPath Routing - Split orders for best execution
  • 💰 Limit Orders - Set price targets

API Base URL

https://api.paraswap.io

Get Swap Price

CHAIN_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
  }'

Build Transaction

# 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
  }'

Supported Chains

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

Get Token List

curl -s "https://api.paraswap.io/tokens/${CHAIN_ID}" | jq '.tokens[:10] | .[] | {symbol: .symbol, address: .address, decimals: .decimals}'

Check Allowance

TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"

curl -s "https://api.paraswap.io/ft/allowance/${CHAIN_ID}/${TOKEN_ADDRESS}/${USER_ADDRESS}" | jq '.allowance'

Get Approval Transaction

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}'

Limit Orders

# 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>"
  }'

Safety Rules

  1. ALWAYS display swap details before execution
  2. WARN if price impact > 1%
  3. CHECK token allowance before swap
  4. VERIFY slippage settings
  5. NEVER execute without user confirmation

Error Handling

Error Cause Solution
INSUFFICIENT_BALANCE Low balance Check wallet balance
INSUFFICIENT_LIQUIDITY Low liquidity Reduce amount
PRICE_TIMEOUT Quote expired Get new quote

Links

Weekly Installs
2
Repository
openclaw/skills
GitHub Stars
3.8K
First Seen
Feb 1, 2026
Installed on
openclaw2
mcpjam1
openhands1
junie1
windsurf1
zencoder1