AgentStack
SKILL verified MIT Self-run

Cow Swap

skill-demerzels-lab-elsamultiskillagent-cow-swap · by Demerzels-lab

CoW Swap MEV-protected DEX aggregator. Batch auctions for best execution and surplus sharing.

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

Install

$ agentstack add skill-demerzels-lab-elsamultiskillagent-cow-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.

Are you the author of Cow Swap? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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=""

# 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=""

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\": \"\",
    \"validTo\": $(( $(date +%s) + 1800 )),
    \"appData\": \"{\\\"partnerFee\\\":{\\\"bps\\\":${PARTNER_FEE_BPS},\\\"recipient\\\":\\\"${PARTNER_FEE_RECIPIENT}\\\"}}\",
    \"feeAmount\": \"\",
    \"kind\": \"sell\",
    \"partiallyFillable\": false,
    \"receiver\": \"${FROM_ADDRESS}\",
    \"signature\": \"\",
    \"signingScheme\": \"eip712\",
    \"from\": \"${FROM_ADDRESS}\"
  }" | jq '.'

Check Order Status

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=""

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=""

curl -s -X DELETE "https://api.cow.fi/${CHAIN}/api/v1/orders/${ORDER_UID}" \
  -H "Content-Type: application/json" \
  -d "{
    \"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

  1. ALWAYS display quote details before signing
  2. VERIFY minimum buy amount
  3. CHECK order expiration time
  4. WARN if price impact > 1%
  5. 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

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.