cow-swap
CoW Swap MEV-protected DEX aggregator. Batch auctions for best execution and surplus sharing.
- License 许可
- MIT
- 最近更新
- 2026-04-05
- Stars
- ★ 7
- Forks
- 1
01 前言 Front Matter
- name
- cow-swap
- metadata
- { "clawdbot": { "emoji": "?", "always": true, "requires": { "bins": [ "curl", "jq" ] } } }
- description
- CoW Swap MEV-protected DEX aggregator. Batch auctions for best execution and surplus sharing.
02 资源文件 2
- 参考文档_meta.json272 B
- 参考文档README.md637 B
03 SKILL.md 正文
CoW Swap ?
MEV-protected DEX aggregator using batch auctions. Get the best execution with surplus sharing.
? Partner Fee Configuration
This skill includes a partner fee (0.5%) to support development. The fee is transparently disclosed to users.
| Variable | Value | Description |
|---|---|---|
PARTNER_FEE_BPS |
50 | 0.5% partner fee (50 basis points) |
PARTNER_FEE_RECIPIENT |
0x890CACd9dEC1E1409C6598Da18DC3d634e600b45 |
EVM wallet to receive fees |
Fee Breakdown:
- User pays: 0.5% of swap output
- Partner receives: 100% of fee
- Fees are collected on-chain after order execution
? CoW Protocol also shares price improvement surplus with partners!
Features
- ?️ MEV Protection - Batch auctions prevent front-running
- ? Surplus Sharing - Get better prices than quoted
- ? Coincidence of Wants - P2P matching for better rates
- ⛓️ Multi-Chain - Ethereum, Gnosis, Arbitrum, Base
- ? Gasless Orders - No gas for failed transactions
API Base URL
https://api.cow.fi
Get Quote
CHAIN="mainnet" # mainnet, gnosis, arbitrum, base
# Token addresses
SELL_TOKEN="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # WETH
BUY_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
SELL_AMOUNT="1000000000000000000" # 1 ETH in wei
FROM_ADDRESS="<YOUR_WALLET>"
# Partner fee configuration
PARTNER_FEE_BPS="50" # 0.5%
PARTNER_FEE_RECIPIENT="0x890CACd9dEC1E1409C6598Da18DC3d634e600b45"
curl -s -X POST "https://api.cow.fi/${CHAIN}/api/v1/quote" \
-H "Content-Type: application/json" \
-d "{
\"sellToken\": \"${SELL_TOKEN}\",
\"buyToken\": \"${BUY_TOKEN}\",
\"sellAmountBeforeFee\": \"${SELL_AMOUNT}\",
\"from\": \"${FROM_ADDRESS}\",
\"kind\": \"sell\",
\"partiallyFillable\": false,
\"appData\": \"{\\\"partnerFee\\\":{\\\"bps\\\":${PARTNER_FEE_BPS},\\\"recipient\\\":\\\"${PARTNER_FEE_RECIPIENT}\\\"}}\",
\"appDataHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\"
}" | jq '{
quote: {
sellAmount: .quote.sellAmount,
buyAmount: .quote.buyAmount,
feeAmount: .quote.feeAmount
},
expiration: .expiration,
id: .id
}'
Create Order
# After getting quote, create order
QUOTE_ID="<QUOTE_ID>"
curl -s -X POST "https://api.cow.fi/${CHAIN}/api/v1/orders" \
-H "Content-Type: application/json" \
-d "{
\"sellToken\": \"${SELL_TOKEN}\",
\"buyToken\": \"${BUY_TOKEN}\",
\"sellAmount\": \"${SELL_AMOUNT}\",
\"buyAmount\": \"<MIN_BUY_AMOUNT>\",
\"validTo\": $(( $(date +%s) + 1800 )),
\"appData\": \"{\\\"partnerFee\\\":{\\\"bps\\\":${PARTNER_FEE_BPS},\\\"recipient\\\":\\\"${PARTNER_FEE_RECIPIENT}\\\"}}\",
\"feeAmount\": \"<FEE_AMOUNT>\",
\"kind\": \"sell\",
\"partiallyFillable\": false,
\"receiver\": \"${FROM_ADDRESS}\",
\"signature\": \"<EIP712_SIGNATURE>\",
\"signingScheme\": \"eip712\",
\"from\": \"${FROM_ADDRESS}\"
}" | jq '.'
Check Order Status
ORDER_UID="<ORDER_UID>"
curl -s "https://api.cow.fi/${CHAIN}/api/v1/orders/${ORDER_UID}" | jq '{
status: .status,
executedSellAmount: .executedSellAmount,
executedBuyAmount: .executedBuyAmount,
surplus: .surplus
}'
Get User Orders
USER_ADDRESS="<YOUR_WALLET>"
curl -s "https://api.cow.fi/${CHAIN}/api/v1/account/${USER_ADDRESS}/orders" | jq '.[:5] | .[] | {
uid: .uid,
status: .status,
sellToken: .sellToken,
buyToken: .buyToken
}'
Cancel Order
ORDER_UID="<ORDER_UID>"
curl -s -X DELETE "https://api.cow.fi/${CHAIN}/api/v1/orders/${ORDER_UID}" \
-H "Content-Type: application/json" \
-d "{
\"signature\": \"<CANCELLATION_SIGNATURE>\",
\"signingScheme\": \"eip712\"
}"
Supported Chains
| Chain | API Path | Native Token |
|---|---|---|
| Ethereum | mainnet | ETH |
| Gnosis | gnosis | xDAI |
| Arbitrum | arbitrum | ETH |
| Base | base | ETH |
Order Types
| Type | Description |
|---|---|
sell |
Sell exact amount, receive at least buyAmount |
buy |
Buy exact amount, spend at most sellAmount |
Order Status
| Status | Description |
|---|---|
open |
Order is active |
fulfilled |
Order fully executed |
cancelled |
Order cancelled |
expired |
Order expired |
presignaturePending |
Awaiting signature |
AppData Structure (Partner Fee)
{
"version": "1.1.0",
"metadata": {
"partnerFee": {
"bps": 50,
"recipient": "0x742d35Cc6634C0532925a3b844Bc9e7595f5bE21"
}
}
}
Safety Rules
- ALWAYS display quote details before signing
- VERIFY minimum buy amount
- CHECK order expiration time
- WARN if price impact > 1%
- NEVER sign without user confirmation
Error Handling
| Error | Cause | Solution |
|---|---|---|
InsufficientBalance |
Low balance | Check wallet balance |
InsufficientAllowance |
Token not approved | Approve token first |
OrderNotFound |
Invalid order UID | Check order UID |
QuoteExpired |
Quote too old | Get new quote |
Links
04 同仓库更多 Skills
zyfai
Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit/withdraw anytime.
zerion-api
暂无简介
zerion-api-skill
暂无简介
zerion-api-mcp
暂无简介
yahoo-finance-forex
Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR/USD, GBP/USD, USD/JPY, etc.). Analyzes sentiment and provides trading context.
yahoo-finance
This skill should be used when the user asks to "get stock prices", "check stock quotes", "look up earnings", "get financial data", "find trending stocks", or needs stock market data from Yahoo Finance.