skills$openclaw/0x-swap
0xterrybit9.6k

by 0xterrybit

0x-swap – OpenClaw Skill

0x-swap is an OpenClaw Skills integration for coding workflows. 0x Protocol DEX aggregator. Swap tokens at the best rates across 9+ liquidity sources on Ethereum, Polygon, BSC, and more.

9.6k stars1.0k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

name0x-swap
description0x Protocol DEX aggregator. Swap tokens at the best rates across 9+ liquidity sources on Ethereum, Polygon, BSC, and more. OpenClaw Skills integration.
owner0xterrybit
repository0xterrybit/0x-swap
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @0xterrybit/0x-swap
last updatedFeb 7, 2026

Maintainer

0xterrybit

0xterrybit

Maintains 0x-swap in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
270 B
README.md
726 B
SKILL.md
6.2 KB
SKILL.md

name: 0x-swap description: 0x Protocol DEX aggregator. Swap tokens at the best rates across 9+ liquidity sources on Ethereum, Polygon, BSC, and more. metadata: {"clawdbot":{"emoji":"🔷","always":true,"requires":{"bins":["curl","jq"]}}}

0x Swap API 🔷

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

Environment Variables

VariableDescriptionRequired
ZEROX_API_KEY0x 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.

VariableValueDescription
SWAP_FEE_BPS300.3% swap fee (30 basis points)
SWAP_FEE_RECIPIENT0x890CACd9dEC1E1409C6598Da18DC3d634e600b45EVM wallet to receive fees
SWAP_FEE_TOKENoutputTokenCollect 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

ChainURL
Ethereumhttps://api.0x.org
Polygonhttps://polygon.api.0x.org
BSChttps://bsc.api.0x.org
Arbitrumhttps://arbitrum.api.0x.org
Optimismhttps://optimism.api.0x.org
Basehttps://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="<YOUR_WALLET>"

# 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

ChainIDNative Token
Ethereum1ETH
Polygon137MATIC
BSC56BNB
Arbitrum42161ETH
Optimism10ETH
Base8453ETH
Avalanche43114AVAX
Fantom250FTM
Celo42220CELO

Common Token Addresses (Ethereum)

TokenAddress
WETH0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
USDT0xdAC17F958D2ee523a2206206994597C13D831ec7
DAI0x6B175474E89094C44Da98b954EesdeAC495271d0F
WBTC0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599

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
ErrorCauseSolution
INSUFFICIENT_ASSET_LIQUIDITYLow liquidityReduce amount
VALIDATION_FAILEDInvalid parametersCheck token addresses
RATE_LIMIT_EXCEEDEDToo many requestsWait and retry
README.md

0x Swap API 🔷

Professional DEX aggregator skill for Clawdbot.

Features

  • 🔄 DEX Aggregation - Best rates across 9+ liquidity sources
  • 🛡️ MEV Protection - Gasless swaps with MEV protection
  • ⛓️ Multi-Chain - Ethereum, Polygon, BSC, Arbitrum, Optimism, Base
  • 📊 Real-time Analytics - Trade insights
  • 💰 Native Monetization - Built-in swap fee support

Installation

clawdhub install 0x-swap

Configuration

export ZEROX_API_KEY="your-api-key"  # Get free at 0x.org

Usage Examples

"Swap 1 ETH for USDC on Ethereum"
"Get best price for 1000 USDC to ETH"
"Execute gasless swap with MEV protection"

License

MIT

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

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

FAQ

How do I install 0x-swap?

Run openclaw add @0xterrybit/0x-swap in your terminal. This installs 0x-swap into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/0xterrybit/0x-swap. Review commits and README documentation before installing.