home / skills / openclaw / skills / paraswap
This skill helps you access optimal DeFi swaps by aggregating 300+ liquidity sources across multiple chains for best rates.
npx playbooks add skill openclaw/skills --skill paraswapReview the files below or copy the command above to add this skill to your agents.
---
name: paraswap
description: ParaSwap DEX aggregator. Best swap rates across 300+ liquidity sources on Ethereum, Polygon, BSC, Arbitrum, and more.
metadata: {"clawdbot":{"emoji":"🦜","always":true,"requires":{"bins":["curl","jq"]}}}
---
# 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
```bash
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
```bash
# 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
```bash
curl -s "https://api.paraswap.io/tokens/${CHAIN_ID}" | jq '.tokens[:10] | .[] | {symbol: .symbol, address: .address, decimals: .decimals}'
```
## Check Allowance
```bash
TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
curl -s "https://api.paraswap.io/ft/allowance/${CHAIN_ID}/${TOKEN_ADDRESS}/${USER_ADDRESS}" | jq '.allowance'
```
## Get Approval Transaction
```bash
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
```bash
# 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
- [ParaSwap Docs](https://developers.paraswap.network/)
- [ParaSwap App](https://app.paraswap.io/)
- [API Reference](https://developers.paraswap.network/api)
This skill provides a ParaSwap DEX aggregator interface that returns best swap prices and builds executable transactions across 300+ liquidity sources and multiple EVM chains. It supports partner fee configuration, multi-path routing, MEV protection options, and limit orders. The skill exposes endpoints to quote prices, build transactions, check allowances, and create approvals or limit orders for Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Fantom, and Base.
The skill queries ParaSwap price routes for a given src/dest token and amount, applying partner fee parameters if configured, and returns a detailed priceRoute with gas estimates and route breakdown. After quoting, it can build the on-chain transaction payload (to, data, value, gas) ready for wallet signing. It also supports token list retrieval, allowance checks, approval transaction building, and limit order creation via the ParaSwap API.
How is the partner fee applied?
The partner fee is specified in basis points and deducted from swap output on-chain; the configured partnerAddress receives the fee. ParaSwap supports up to 300 bps (3%), common examples use 100 bps (1%).
Which chains are supported?
Supported EVM chains include Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Fantom, and Base. Chain IDs are required for API calls.