mcpField
W
woofi-swap

woofi-swap

github.com/starchild-ai-agentOther3057 installsUpdated 6d ago
Repository

About woofi-swap

WOOFi Swap is a skill for obtaining quotes and building token swap transactions across supported EVM chains. Its API compares WooPP, 1inch, and ODOS, accepts chain names and token symbols, and supports both same-chain swaps and cross-chain swaps via Stargate.

Key features

  1. 01Compare prices across WooPP, 1inch, and ODOS
  2. 02Accept chain names and token symbols
  3. 03Quote and build same-chain swaps
  4. 04Build cross-chain swaps via Stargate
  5. 05Return unsigned transaction steps

Use cases

  1. 01Compare token swap quotes across sources
  2. 02Prepare a same-chain swap for wallet signing
  3. 03Prepare a cross-chain token transfer
  4. 04Check approval requirements and transaction steps

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/starchild-ai-agent/official-skills --skill woofi-swap

After installing, type/woofi-swapin Claude Code to confirm it loaded.

Details

From the project README

WOOFi Swap — Best-Price Meta-Aggregator (V2)

Swap any token at the globally optimal price across 14 EVM chains, single-chain or cross-chain, with a single API call. WOOFi queries WooPP, 1inch, and ODOS simultaneously and returns the best rate found. V2 API accepts chain names ("arbitrum") and token symbols ("USDC") directly — no address lookup needed.

Why Use WOOFi

  • Best price guaranteed by design: Compares WooPP, 1inch, and ODOS in real time. Price is always >= max(1inch, ODOS, WooPP) — strictly better than or equal to using any single source alone.
  • Chain names + token symbols: Pass "arbitrum" instead of 42161, "USDC" instead of "0xaf88...". Case-insensitive, no manual address resolution needed.
  • Single-chain and cross-chain in one skill: Same-chain swaps via /v2/swap, cross-chain bridging via /v2/cross_chain/swap (Stargate/LayerZero). Both return ready-to-sign tx_steps.
  • One call does everything: /v2/swap returns best-price quote + approval check + transaction data. No separate calls needed — just iterate tx_steps and sign.
  • All tokens, 14 chains: Any ERC-20 and native gas token (ETH, BNB, AVAX, POL, etc.) on all supported chains. No whitelist limitation.

When to Use This Skill

Use WOOFi Swap when the user wants to:

  • Swap, trade, exchange, or convert any token on any EVM chain
  • Get a price quote or exchange rate between two tokens
  • Find the best available price across DEX aggregators
  • Bridge tokens across chains — cross-chain swap via Stargate
  • Buy or sell a specific cryptocurrency
  • Build a swap transaction for wallet signing and on-chain execution

API Endpoints

Base URL: https://sapi.woofi.com | Auth: None | Rate Limit: 5 req/s | Format: JSON

Flexible Input (all V2 endpoints)
  • Chain: chain ID (42161) or name ("arbitrum") — case-insensitive, strips spaces/dashes
  • Token: address ("0xaf88...") or symbol ("USDC") — resolved via local index, static manifests, alias table, and external API fallback

1. Get Quote — POST /v2/quote

Returns the best available price. Read-only — no transaction generated.

ParameterTypeRequiredDefaultDescription
chainint | strYes—Chain ID or name
sell_tokenstrYes—Token address or symbol
buy_tokenstrYes—Token address or symbol
sell_amountstrYes—Human-readable amount (e.g., "1000")
slippage_pctfloatNo0.5Max slippage %

Response: chain, sell_token, buy_token, sell_amount, buy_amount, price, guaranteed_price

curl -X POST "https://sapi.woofi.com/v2/quote" \
  -H "Content-Type: application/json" \
  -d '{"chain": "arbitrum", "sell_token": "USDC", "buy_token": "WETH", "sell_amount": "1000"}'

2. Execute Swap — POST /v2/swap

Single-call swap: quote + approval check + transaction building in one response. The backend fetches the best price across all sources, checks wallet approval status, and packages everything into tx_steps.

ParameterTypeRequiredDefaultDescription
chainint | strYes—Chain ID or name
sell_tokenstrYes—Token address or symbol
buy_tokenstrYes—Token address or symbol
sell_amountstrYes—Human-readable amount
tostrYes—Recipient wallet address
rebate_tostrYes—Rebate address (typically same as to)
slippage_pctfloatNo0.5Max slippage %
signer_addressstrNonullWallet address (for approval check)

Response (extends quote): needs_approve, tx_steps — iterate and sign each tx in order.

curl -X POST "https://sapi.woofi.com/v2/swap" \
  -H "Content-Type: application/json" \
  -d '{"chain": "arbitrum", "sell_token": "USDC", "buy_token": "WETH", "sell_amount": "1000", "to": "0xYourWallet", "rebate_to": "0xYourWallet", "signer_address": "0xYourWallet"}'

3. Cross-Chain Quote — POST /v2/cross_chain/quote

Price quote for cross-chain swap via Stargate bridge. Read-only.

ParameterTypeRequiredDefaultDescription
src_chainint | strYes—Source chain ID or name
dst_chainint | strYes—Destination chain ID or name
src_tokenstrYes—Source token (resolved against src_chain)
dst_tokenstrYes—Destination token (resolved against dst_chain)
src_amountstrYes—Human-readable amount
slippage_pctfloatNo1.0Slippage tolerance %

Response: src_chain, dst_chain, src_amount, dst_amount, bridge_amount_in, bridge_amount_out, price_f

curl -X POST "https://sapi.woofi.com/v2/cross_chain/quote" \
  -H "Content-Type: application/json" \
  -d '{"src_chain": "arbitrum", "dst_chain": "base", "src_token": "USDC", "dst_token": "USDC", "src_amount": "100"}'

4. Cross-Chain Swap — POST /v2/cross_chain/swap

Build transaction(s) for cross-chain swap via Stargate bridge.

ParameterTypeRequiredDefaultDescription
src_chainint | strYes—Source chain ID or name
dst_chainint | strYes—Destination chain ID or name
src_tokenstrYes—Source token (resolved against src_chain)
dst_tokenstrYes—Destination token (resolved against dst_chain)
src_amountstrYes—Human-readable amount
tostrYes—Recipient on destination chain
slippage_pctfloatNo1.0Slippage tolerance %
signer_addressstrNonullSigner address (for approval check)

Response (extends cross-chain quote): native_fee, needs_approve, tx_steps

curl -X POST "https://sapi.woofi.com/v2/cross_chain/swap" \
  -H "Content-Type: application/json" \
  -d '{"src_chain": "arbitrum", "dst_chain": "base", "src_token": "USDC", "dst_token": "USDC", "src_amount": "100", "to": "0xYourWallet", "signer_address": "0xYourWallet"}'

Supported Chains

ChainIDNative TokenAccepted Names
Arbitrum42161ETHarbitrum, arb, arbitrumone
Base8453ETHbase
BSC56BNBbsc, bnb, binance, bnbchain
Polygon137POLpolygon, matic, pol
Optimism10ETHoptimism, op
Avalanche43114AVAXavalanche, avax
Ethereum1ETHethereum, eth, mainnet
Linea59144ETHlinea
Mantle5000MNTmantle
Sonic146Ssonic
Berachain80094BERAberachain, bera
HyperEVM999HYPEhyperevm, hyper
Monad143MONmonad
zkSync324ETHzksync, zksyncera

Native token: Use symbol ("ETH", "BNB", "AVAX", "POL", "MNT", "S", "BERA", "MON") or 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE.


Important Notes

  1. Best price by design — WOOFi queries WooPP + 1inch + ODOS simultaneously. Price >= max(all sources).
  2. Flexible input — Chain names ("arbitrum") and token symbols ("USDC") accepted everywhere. No address lookup needed.
  3. One call, full swap — /v2/swap returns quote + approval check + tx data. Just iterate tx_steps and sign.
  4. Cross-chain via Stargate — /v2/cross_chain/swap bridges tokens between chains. tx_steps include LayerZero fee in value field.
  5. Human-readable amounts — Pass "1.5" not wei. No unit conversion needed for input.
  6. All tokens supported — Any ERC-20 or native gas token on any supported chain. No whitelist.
  7. Cross-chain token resolution — src_token resolves against src_chain, dst_token against dst_chain. Same symbol maps to correct addresses on each chain.
  8. Wallet signing required — API returns unsigned tx data. The user's wallet must sign and broadcast.

Comments

Markdown supported