@1390/woofi-data

Installation
SKILL.md

๐Ÿ“Š WOOFi Data

Fetch WOOFi DEX metrics for market analysis, reporting, and DeFi research.

Updated: 2026-03-23 โ€” Aligned with latest woonetwork/woofi-skills

When to Use

  • User asks about WOOFi trading volume on specific chains
  • Comparing DEX activity across multiple chains
  • Checking WOOFi Earn vault TVL and APYs
  • Analyzing volume sources (1inch, 0x, Paraswap, etc.)
  • Monitoring WOO staking metrics and APR
  • Querying user portfolio data (balances, positions, staking)
  • Checking WOOFi Pro perpetuals volume
  • Building DeFi dashboards or reports

API Overview

Detail Value
Base URL https://api.woofi.com
Auth None (fully public)
Rate Limit 5 requests/second
Chains bsc, avalanche, polygon, arbitrum, optimism, linea, base, mantle, sonic, berachain, hyperevm, monad, solana, fantom, zksync, polygon_zkevm

Endpoints

1. Swap Support โ€” /swap_support

Query supported networks, DEXs, and tokens for WOOFi swaps.

Trigger phrases: "swap support", "supported networks", "supported tokens", "which chains"

Example:

curl "https://api.woofi.com/swap_support"

Response fields:

  • networks โ€” List of supported chain names
  • dexes โ€” Supported DEX protocols per chain
  • tokens โ€” Supported token addresses per chain

2. Total Stats โ€” /multi_total_stat, /total_stat, /cumulate_stat

Cross-chain aggregated trading statistics.

Trigger phrases: "total volume", "total stats", "cross chain stats", "24h stats", "overall volume"

Example:

# Cross-chain total
curl "https://api.woofi.com/multi_total_stat"

# Single chain total
curl "https://api.woofi.com/total_stat?network=arbitrum"

# Cumulative stat
curl "https://api.woofi.com/cumulate_stat?network=bsc"

3. Trading Stats โ€” /stat

Volume, trader count, and transaction count by period and chain.

Trigger phrases: "trading stats", "trading volume", "woofi stats", "how much volume", "trader count"

Parameters:

  • period (required): 1d, 1w, 1m, 3m, 1y, all
  • network (required): chain name from list above

โš ๏ธ CRITICAL: volume_usd is in wei โ€” divide by 10^18 to get USD value

Example:

curl "https://api.woofi.com/stat?period=1d&network=arbitrum"

Response:

{
  "status": "ok",
  "data": [
    {
      "timestamp": 1710892800,
      "volume_usd": "1234567890123456789012",
      "traders": 1523,
      "txns": 8942
    }
  ]
}

4. Source Stats โ€” /source_stat

Volume breakdown by integrator/aggregator source.

Trigger phrases: "volume by source", "top integrators", "who is sending volume", "traffic source"

Parameters:

  • period (required): 1d, 1w, 1m, 3m, 1y, all
  • network (required): chain name

Example:

curl "https://api.woofi.com/source_stat?period=1m&network=arbitrum"

Response fields per source:

  • name โ€” Source name (e.g. "1inch", "0x", "Paraswap", "WOOFi")
  • volume_usd โ€” Volume in wei (รท 10^18 = USD)
  • percentage โ€” Share of total volume (string, e.g. "45.2")
  • traders, txs โ€” Unique wallets and tx count

5. Token Stats โ€” /token_stat

Per-token 24-hour trading statistics including TVL, volume, and turnover rate.

Trigger phrases: "token stats", "token volume", "token tvl", "top tokens"

Parameters:

  • network (required): chain name

Example:

curl "https://api.woofi.com/token_stat?network=arbitrum"

6. Solana Pool Stats โ€” /solana_stat

Solana-specific raw pool statistics.

Trigger phrases: "solana stats", "solana pool", "solana trading"

Example:

curl "https://api.woofi.com/solana_stat"

7. Earn Yields โ€” /yield

Vault TVL, APY, and yield composition per chain.

Trigger phrases: "earn tvl", "earn vault", "yield farming", "woofi earn", "tvl", "apy"

Parameters:

  • network (required): chain name

Example:

curl "https://api.woofi.com/yield?network=base"

Response structure:

  • auto_compounding โ€” Map of vault address โ†’ vault data
    • total_deposit โ€” TVL in wei (รท 10^18 = USD)
    • apy โ€” Current APY (decimal, e.g. 0.045 = 4.5%)
    • source_apy โ€” Breakdown of yield sources
  • total_deposit โ€” Chain-wide total TVL in wei

8. Earn Summary โ€” /earn_summary

Supercharger vault APR summary across all networks, sorted by APR.

Trigger phrases: "earn summary", "supercharger", "earn apr", "best earn vault", "vault ranking"

Example:

curl "https://api.woofi.com/earn_summary"

โš ๏ธ Note: Paused networks (fantom, zksync, polygon_zkevm) are excluded.

9. WOO Staking โ€” /stakingv2

Global WOO token staking statistics including base APR and Multiplier Point boost.

Trigger phrases: "woo staking", "staking apr", "staked woo", "multiplier points"

Example:

curl "https://api.woofi.com/stakingv2"

Response fields:

  • total_woo_staked โ€” Total WOO staked in wei (รท 10^18)
  • avg_apr โ€” Current average staking APR
  • base_apr โ€” Base APR component
  • mp_boosted_apr โ€” Multiplier-boosted APR component

10. User Portfolio โ€” /user_balances, /user_supercharger_infos, /user_stakingv2_infos, /boosted_apr_info

User portfolio data including token balances, Supercharger positions, staking info, and boosted APR status.

Trigger phrases: "user balance", "user portfolio", "my position", "user staking", "boosted apr"

Parameters:

  • user (required): User wallet address (checksummed for EVM)

Example:

curl "https://api.woofi.com/user_balances?user=0x..."
curl "https://api.woofi.com/user_supercharger_infos?user=0x..."
curl "https://api.woofi.com/user_stakingv2_infos?user=0x..."
curl "https://api.woofi.com/boosted_apr_info?user=0x..."

11. User Trading Volume โ€” /user_trading_volumes, /user_perp_volumes

User swap and perpetual trading volume history.

Trigger phrases: "user trading volume", "my volume", "user perp volume", "trading history"

Parameters:

  • user (required): User wallet address
  • period (required): 7d, 14d, 30d (different from stat endpoints!)

Example:

curl "https://api.woofi.com/user_trading_volumes?user=0x...&period=30d"
curl "https://api.woofi.com/user_perp_volumes?user=0x...&period=7d"

12. WOOFi Pro Perps โ€” /woofi_pro/perps_volume

WOOFi Pro daily perpetual trading volume.

Trigger phrases: "perps volume", "woofi pro", "woofi dex", "perpetual volume"

Example:

curl "https://api.woofi.com/woofi_pro/perps_volume"

13. Integration Endpoints โ€” /integration/pairs, /integration/tickers, /integration/pool_states

Trading pairs, 24-hour ticker data, and pool states for third-party integrations.

Trigger phrases: "trading pairs", "ticker data", "pool state", "integration pairs", "fee rate"

Example:

curl "https://api.woofi.com/integration/pairs?network=arbitrum"
curl "https://api.woofi.com/integration/tickers?network=arbitrum"
curl "https://api.woofi.com/integration/pool_states?network=arbitrum"

Network Support Matrix

Network /stat /source_stat /token_stat /yield /earn_summary /stakingv2 /user_* /integration
BSC Yes Yes Yes Yes Yes โ€” Yes Yes
Avalanche Yes Yes Yes Yes Yes โ€” Yes Yes
Polygon Yes Yes Yes Yes Yes โ€” Yes Yes
Arbitrum Yes Yes Yes Yes Yes โ€” Yes Yes
Optimism Yes Yes Yes Yes Yes โ€” Yes Yes
Linea Yes Yes Yes Yes Yes โ€” Yes Yes
Base Yes Yes Yes Yes Yes โ€” Yes Yes
Mantle Yes Yes Yes Yes Yes โ€” Yes Yes
Sonic Yes Yes Yes Yes Yes โ€” Yes Yes
Berachain Yes Yes Yes Yes Yes โ€” Yes Yes
HyperEVM Yes Yes Yes No โ€” โ€” Yes Yes
Monad Yes Yes Yes No โ€” โ€” Yes Yes
Solana Yes Yes Yes No โ€” โ€” No โ€”
Fantom Yes Yes Yes Yes Paused โ€” Yes Yes
zkSync Yes Yes Yes Yes Paused โ€” Yes Yes
Polygon zkEVM Yes Yes Yes Yes Paused โ€” Yes Yes
(global) โ€” โ€” โ€” โ€” โ€” Yes โ€” โ€”

Common Patterns

Get total volume across all chains (last 30d)

Use the script in scripts/total_volume.py:

python skills/woofi-data/scripts/total_volume.py --period 1m

Get total TVL across all earn vaults

Use the script in scripts/total_tvl.py:

python skills/woofi-data/scripts/total_tvl.py

Quick single-chain query

import requests

# Trading stats
r = requests.get("https://api.woofi.com/stat?period=1d&network=arbitrum").json()
volume_usd = int(r["data"][0]["volume_usd"]) / 1e18
print(f"Arbitrum 24h volume: ${volume_usd:,.0f}")

# Earn yields
r = requests.get("https://api.woofi.com/yield?network=base").json()
tvl = int(r["data"]["total_deposit"]) / 1e18
print(f"Base Earn TVL: ${tvl:,.0f}")

# WOO staking
r = requests.get("https://api.woofi.com/stakingv2").json()
woo_staked = int(r["data"]["total_woo_staked"]) / 1e18
print(f"Total WOO staked: {woo_staked:,.0f} WOO")

Gotchas

  1. Wei conversion โ€” ALL USD values (volume_usd, total_deposit) are in wei. Always divide by 10^18.
  2. Chain names โ€” Use exact names from the supported list. "arbitrum" not "arb", "optimism" not "op".
  3. Period buckets โ€” 1m returns 30 days of daily buckets, not a single aggregated value. Sum all buckets for total.
  4. Staking is global โ€” /stakingv2 doesn't take a network param โ€” it's the same across all chains.
  5. Trader counts โ€” Do NOT sum trader_count across time buckets โ€” each bucket is independently unique-per-period.
  6. Period 1d โ€” Returns hourly buckets. All other periods return daily buckets.
  7. User endpoints โ€” Period values are 7d, 14d, 30d (different from stat endpoints).
  8. Cross-chain queries โ€” Require separate requests per network, then manual aggregation. Exception: /multi_total_stat and /user_trading_volumes aggregate automatically.
  9. Address format โ€” All EVM addresses should be checksummed.
  10. Paused networks โ€” fantom, zksync, polygon_zkevm are excluded from /earn_summary.

Related Resources

  • API docs: https://api.woofi.com/llms.txt
  • Official docs: https://learn.woo.org
  • Original skill: https://github.com/woonetwork/woofi-skills
Weekly Installs
3
First Seen
Mar 20, 2026