@1390/woofi-data
๐ 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 namesdexesโ Supported DEX protocols per chaintokensโ 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,allnetwork(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,allnetwork(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 datatotal_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 APRbase_aprโ Base APR componentmp_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 addressperiod(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
- Wei conversion โ ALL USD values (
volume_usd,total_deposit) are in wei. Always divide by 10^18. - Chain names โ Use exact names from the supported list. "arbitrum" not "arb", "optimism" not "op".
- Period buckets โ
1mreturns 30 days of daily buckets, not a single aggregated value. Sum all buckets for total. - Staking is global โ
/stakingv2doesn't take a network param โ it's the same across all chains. - Trader counts โ Do NOT sum
trader_countacross time buckets โ each bucket is independently unique-per-period. - Period
1dโ Returns hourly buckets. All other periods return daily buckets. - User endpoints โ Period values are
7d,14d,30d(different from stat endpoints). - Cross-chain queries โ Require separate requests per network, then manual aggregation. Exception:
/multi_total_statand/user_trading_volumesaggregate automatically. - Address format โ All EVM addresses should be checksummed.
- Paused networks โ
fantom,zksync,polygon_zkevmare 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