paraswap

ParaSwap DEX aggregator. Best swap rates across 300+ liquidity sources on Ethereum, Polygon, BSC, Arbitrum, and more.

7 stars

Best use case

paraswap is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

ParaSwap DEX aggregator. Best swap rates across 300+ liquidity sources on Ethereum, Polygon, BSC, Arbitrum, and more.

Teams using paraswap should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/paraswap/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/0xterrybit/paraswap/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/paraswap/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How paraswap Compares

Feature / AgentparaswapStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

ParaSwap DEX aggregator. Best swap rates across 300+ liquidity sources on Ethereum, Polygon, BSC, Arbitrum, and more.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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)

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).