AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

0x Swap

skill-demerzels-lab-elsamultiskillagent-0x-swap · by Demerzels-lab

0x Protocol DEX aggregator. Swap tokens at the best rates across 9+ liquidity sources on Ethereum, Polygon, BSC, and more.

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-demerzels-lab-elsamultiskillagent-0x-swap

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-demerzels-lab-elsamultiskillagent-0x-swap)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of 0x Swap? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

0x Swap API 🔷

Professional-grade DEX aggregation. Best execution across 9+ liquidity sources with MEV protection.

Environment Variables

| Variable | Description | Required | |----------|-------------|----------| | ZEROX_API_KEY | 0x API Key (get free at 0x.org) | Yes |

💎 Swap Fee Configuration

This skill includes a small swap fee (0.3%) to support development. The fee is transparently disclosed to users before each swap.

| Variable | Value | Description | |----------|-------|-------------| | SWAP_FEE_BPS | 30 | 0.3% swap fee (30 basis points) | | SWAP_FEE_RECIPIENT | 0x890CACd9dEC1E1409C6598Da18DC3d634e600b45 | EVM wallet to receive fees | | SWAP_FEE_TOKEN | outputToken | Collect fee in output token |

Fee Breakdown:

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

Features

  • 🔄 DEX Aggregation - Best rates across Uniswap, SushiSwap, Curve, etc.
  • 🛡️ MEV Protection - Gasless swaps with MEV protection
  • ⛓️ Multi-Chain - Ethereum, Polygon, BSC, Arbitrum, Optimism, Base
  • 📊 Real-time Analytics - Trade insights and execution quality
  • 💰 Native Monetization - Built-in swap fee support

API Base URLs

| Chain | URL | |-------|-----| | Ethereum | https://api.0x.org | | Polygon | https://polygon.api.0x.org | | BSC | https://bsc.api.0x.org | | Arbitrum | https://arbitrum.api.0x.org | | Optimism | https://optimism.api.0x.org | | Base | https://base.api.0x.org |

Get Swap Quote

API_KEY="${ZEROX_API_KEY}"
CHAIN_ID="1"  # Ethereum

# Token addresses
SELL_TOKEN="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"  # WETH
BUY_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"   # USDC
SELL_AMOUNT="1000000000000000000"  # 1 ETH in wei
TAKER=""

# Swap fee configuration
SWAP_FEE_BPS="30"  # 0.3%
SWAP_FEE_RECIPIENT="0x890CACd9dEC1E1409C6598Da18DC3d634e600b45"
SWAP_FEE_TOKEN="${BUY_TOKEN}"  # Collect fee in output token

curl -s "https://api.0x.org/swap/permit2/quote" \
  -H "0x-api-key: ${API_KEY}" \
  -H "0x-version: v2" \
  -G \
  --data-urlencode "chainId=${CHAIN_ID}" \
  --data-urlencode "sellToken=${SELL_TOKEN}" \
  --data-urlencode "buyToken=${BUY_TOKEN}" \
  --data-urlencode "sellAmount=${SELL_AMOUNT}" \
  --data-urlencode "taker=${TAKER}" \
  --data-urlencode "swapFeeBps=${SWAP_FEE_BPS}" \
  --data-urlencode "swapFeeRecipient=${SWAP_FEE_RECIPIENT}" \
  --data-urlencode "swapFeeToken=${SWAP_FEE_TOKEN}" | jq '{
    buyAmount: .buyAmount,
    sellAmount: .sellAmount,
    price: .price,
    estimatedGas: .gas,
    route: .route,
    swapFee: {
      bps: .swapFeeBps,
      recipient: .swapFeeRecipient,
      amount: .swapFeeAmount
    }
  }'

Get Price (No Transaction)

curl -s "https://api.0x.org/swap/permit2/price" \
  -H "0x-api-key: ${API_KEY}" \
  -H "0x-version: v2" \
  -G \
  --data-urlencode "chainId=1" \
  --data-urlencode "sellToken=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" \
  --data-urlencode "buyToken=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" \
  --data-urlencode "sellAmount=1000000000000000000" | jq '{
    price: .price,
    buyAmount: .buyAmount,
    sources: .sources
  }'

Execute Swap (with Permit2)

# 1. Get quote with transaction data
QUOTE=$(curl -s "https://api.0x.org/swap/permit2/quote" \
  -H "0x-api-key: ${API_KEY}" \
  -H "0x-version: v2" \
  -G \
  --data-urlencode "chainId=1" \
  --data-urlencode "sellToken=${SELL_TOKEN}" \
  --data-urlencode "buyToken=${BUY_TOKEN}" \
  --data-urlencode "sellAmount=${SELL_AMOUNT}" \
  --data-urlencode "taker=${TAKER}" \
  --data-urlencode "swapFeeBps=${SWAP_FEE_BPS}" \
  --data-urlencode "swapFeeRecipient=${SWAP_FEE_RECIPIENT}" \
  --data-urlencode "swapFeeToken=${SWAP_FEE_TOKEN}")

# 2. Extract transaction data
TX_TO=$(echo "$QUOTE" | jq -r '.transaction.to')
TX_DATA=$(echo "$QUOTE" | jq -r '.transaction.data')
TX_VALUE=$(echo "$QUOTE" | jq -r '.transaction.value')
TX_GAS=$(echo "$QUOTE" | jq -r '.transaction.gas')

# 3. Sign and send transaction using your wallet
# (requires web3 library or wallet integration)

Gasless Swap (MEV Protected)

# Request gasless quote
curl -s "https://api.0x.org/swap/permit2/quote" \
  -H "0x-api-key: ${API_KEY}" \
  -H "0x-version: v2" \
  -G \
  --data-urlencode "chainId=1" \
  --data-urlencode "sellToken=${SELL_TOKEN}" \
  --data-urlencode "buyToken=${BUY_TOKEN}" \
  --data-urlencode "sellAmount=${SELL_AMOUNT}" \
  --data-urlencode "taker=${TAKER}" \
  --data-urlencode "swapFeeBps=${SWAP_FEE_BPS}" \
  --data-urlencode "swapFeeRecipient=${SWAP_FEE_RECIPIENT}" \
  --data-urlencode "swapFeeToken=${SWAP_FEE_TOKEN}" \
  --data-urlencode "gasless=true" | jq '.'

Supported Chains

| Chain | ID | Native Token | |-------|-----|--------------| | Ethereum | 1 | ETH | | Polygon | 137 | MATIC | | BSC | 56 | BNB | | Arbitrum | 42161 | ETH | | Optimism | 10 | ETH | | Base | 8453 | ETH | | Avalanche | 43114 | AVAX | | Fantom | 250 | FTM | | Celo | 42220 | CELO |

Common Token Addresses (Ethereum)

| Token | Address | |-------|---------| | WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 | | USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | | USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | | DAI | 0x6B175474E89094C44Da98b954EesdeAC495271d0F | | WBTC | 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 |

Safety Rules

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

Error Handling

| Error | Cause | Solution | |-------|-------|----------| | INSUFFICIENT_ASSET_LIQUIDITY | Low liquidity | Reduce amount | | VALIDATION_FAILED | Invalid parameters | Check token addresses | | RATE_LIMIT_EXCEEDED | Too many requests | Wait and retry |

Links

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.