🤖
ZeroEx Swap
Execute token swaps using the 0x API with support for price quotes, gasless meta-transactions, and on-chain trade history retrieval.
安全通过
🔗API
技能说明
ZeroEx Swap Skill
⚠️ SECURITY WARNING: This skill involves real funds. Review all parameters before executing swaps.
Install
cd skills/zeroex-swap
npm install
Required Environment Variables
| Variable | Description | Required |
|---|---|---|
ZEROEX_API_KEY | Get from https://dashboard.0x.org/ | Yes |
PRIVATE_KEY | Wallet private key (hex, without 0x prefix) | Yes |
RPC_URL | RPC endpoint for chain (optional, defaults provided) | No |
Declared required env vars: ZEROEX_API_KEY, PRIVATE_KEY
export ZEROEX_API_KEY="your-0x-api-key"
export PRIVATE_KEY="your-private-key-hex"
export RPC_URL="https://mainnet.base.org" # optional
Usage
Get Price Quote
node quote.js --sell USDC --buy WETH --amount 1 --chain base
Execute Swap (sell → buy)
node swap.js --sell USDC --buy WETH --amount 1 --chain base
Execute Swap (buy example)
node swap.js --sell WETH --buy USDC --amount 0.01 --chain base
Trade History
getSwapTrades
curl -s "https://api.0x.org/trade-analytics/swap?chainId=8453&taker=0xYOUR_WALLET" \
-H "0x-api-key: $ZEROEX_API_KEY" \
-H "0x-version: v2"
getGaslessTrades
curl -s "https://api.0x.org/trade-analytics/gasless?chainId=8453&taker=0xYOUR_WALLET" \
-H "0x-api-key: $ZEROEX_API_KEY" \
-H "0x-version: v2"
Gasless Swap (Meta-transaction)
Flow:
- Get gasless quote
- Sign EIP-712 payload
- Submit meta-tx
1) Get gasless quote
curl -s "https://api.0x.org/gasless/quote?sellToken=USDC&buyToken=WETH&sellAmount=1000000&chainId=8453&taker=0xYOUR_WALLET" \
-H "0x-api-key: $ZEROEX_API_KEY" \
-H "0x-version: v2"
2) Sign EIP-712 (use viem)
// use viem to sign quote.trade.eip712
await client.signTypedData({
domain: quote.trade.eip712.domain,
types: quote.trade.eip712.types,
message: quote.trade.eip712.message,
primaryType: quote.trade.eip712.primaryType
});
3) Submit
curl -s -X POST "https://api.0x.org/gasless/submit" \
-H "0x-api-key: $ZEROEX_API_KEY" \
-H "0x-version: v2" \
-H "Content-Type: application/json" \
-d '{"trade": {"type":"settler_metatransaction","eip712": {"domain": {"name": "Settler", "chainId": 8453, "verifyingContract": "0x..."},"types": {...},"message": {...},"primaryType":"..."},"signature": {"v": 27, "r": "0x...", "s": "0x...", "signatureType": 2}}}'
Security Best Practices
- Use a dedicated hot wallet
- Set slippage protection
- Approve exact amounts only
- Use your own RPC via
RPC_URL
如何使用「ZeroEx Swap」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「ZeroEx Swap」技能完成任务
- 结果即时呈现,支持继续对话优化