npx skills add ...
npx skills add starchild-ai-agent/official-skills --skill coinglass
Crypto derivatives data: funding rates, open interest, liquidations, long/short ratios.
npx skills add starchild-ai-agent/official-skills --skill coinglass
平台注入的 COINGLASS_API_KEY 已降级为 Startup 计划。工具层对端点的实际权限:
✅ Startup 可用(全部正常数据):
exchange_list)exchange_list)❌ Startup 不可用(401 "Upgrade plan",调用前直接跳过):
api/futures/coins-markets(币种市场汇总)api/futures/liquidation/order(逐笔清算单)api/futures/liquidation/heatmap/model1 + aggregated-heatmap/model1(清算热力图整个不可用)api/hyperliquid/position、api/hyperliquid/wallet/position-distribution(Hyperliquid 持仓分布;仅 whale-alert 可用)替代方案(按优先级):
COINGLASS_API_KEY 并绕过 sc-proxy 直连
https://open-api-v4.coinglass.com(sc-proxy 会强制覆盖该 header,代理路径下自带 key 无效)。apify skill 抓 coinglass.com 页面上的清算热力图 / Hyperliquid 持仓数据。对 401 "Upgrade plan" 错误,cg_request 会抛 CoinglassPlanError,错误信息已含上述引导。
cg_liquidation_analysis 返回全0,不可用。热力图两个端点(heatmap/model1 与
aggregated-heatmap/model1)在 Startup 计划下均返回 401 Upgrade plan。
如需热力图数据:让用户自带 Basic+ key 直连(见上文替代方案),或用 Apify 爬取页面。
Script-mode skill — read this file, then invoke from a bash block:
Read exports.py for the full list of available functions and exact
signatures. Common ones: funding_rate, long_short_ratio,
cg_open_interest, cg_liquidations, cg_liquidation_analysis,
cg_global_account_ratio, cg_top_account_ratio, cg_top_position_ratio,
cg_taker_exchanges, cg_net_position, cg_supported_coins,
cg_supported_exchanges, cg_coins_market_data, cg_pair_market_data,
cg_ohlc_history, cg_hyperliquid_whale_alerts,
cg_hyperliquid_whale_positions, cg_taker_volume_history,
cg_aggregated_taker_volume, cg_cumulative_volume_delta,
cg_coin_netflow, cg_whale_transfers, cg_btc_etf_flows,
cg_eth_etf_flows, cg_sol_etf_flows.
Coinglass provides the most comprehensive crypto derivatives and institutional data available. 37 tools covering futures positioning, whale tracking, volume analysis, liquidations, and ETF flows.
API Plan: Startup (平台 key 已降级,见顶部「Plan 权限分级」) Rate Limit: 请求级限制随计划降低,控制批量调用频率 API Version: V4 (with V2 backward compatibility) Total Tools: 37 across 8 categories
All functions live in exports.py. Most return Optional[List[Dict]] or
Optional[Dict]. None means the upstream call failed or returned empty —
always check before indexing.
CoinGlass v4 API uses camelCase for almost all data fields, with a few
legacy snake_case exceptions in liquidation endpoints. Don't assume
snake_case — inspect the dict before scripting.
openInterest, volUsd, longRate, shortVolUsd,
exchangeName, nextFundingTime, fundingIntervalHours,
oichangePercent, h4OIChangePercent, avgFundingRateBySymbol,
tokenAmount, liquidationUsd (in some endpoints)cg_liquidations): liquidation_usd,
longLiquidation_usd, shortLiquidation_usdrate fields (funding) are STRINGS with "+" / "-" / "%" — parse with
float(r.rstrip('%').lstrip('+')) to compare numerically1777881600000)| Function | Signature |
|---|---|
funding_rate(symbol, exchange=None) | dict — keys: symbol, exchange, rate (str), num_exchanges, exchanges_data (list of {exchangeName, rate, nextFundingTime, fundingIntervalHours, status}) |
cg_open_interest(symbol='BTC', interval='0') | LIST of dicts (one per exchange) — keys: symbol, openInterest, volUsd, oichangePercent, h4OIChangePercent, h24VolChangePercent, volChangePercent7d, avgFundingRateBySymbol, exchangeName, exchangeLogo |
| Function | Signature |
|---|---|
long_short_ratio(symbol='BTC', interval='h4') | LIST — top item is aggregated; list field inside has per-exchange breakdown. Keys: longRate, shortRate, longVolUsd, shortVolUsd, totalVolUsd, list |
cg_global_account_ratio(symbol='BTC', exchange='Binance', interval='1h') | list of historical bars |
cg_top_account_ratio(symbol='BTC', exchange='Binance', interval='1h') | list — top trader account-count ratio |
cg_top_position_ratio(symbol='BTC', exchange='Binance', interval='1h') | list — top trader position-size ratio |
cg_taker_exchanges(symbol='BTC', range_type='4h') | list — taker buy/sell across exchanges |
cg_net_position(symbol='BTC', exchange='Binance', interval='1h') | list — net long-short USD over time |
| Function | Signature |
|---|---|
cg_liquidations(symbol='BTC', time_type='h24') | LIST of dicts (one per exchange + an 'All' row first). Keys: exchange, liquidation_usd, longLiquidation_usd, shortLiquidation_usd (NOTE: snake_case legacy fields) |
cg_liquidation_analysis(symbol='BTC', time_type='h24') | dict — aggregated network-wide stats |
cg_coin_liquidation_history(symbol='BTC', interval='h4') | list — historical liq bars |
cg_pair_liquidation_history(symbol='BTC', exchange='Binance', interval='h4') | list — historical liq for one pair on one exchange |
cg_liquidation_coin_list(symbol=None) | list of all coins with liq summary |
cg_liquidation_orders(symbol='BTC', exchange=None) | list — recent individual liq orders |
| Function | Signature |
|---|---|
cg_supported_coins() | List[str] — symbols supported by CoinGlass |
cg_supported_exchanges() | list of exchange info dicts |
cg_coins_market_data(symbol=None) | list — current snapshot for all coins (or one if symbol given) |
cg_pair_market_data(symbol='BTC', exchange=None) | list — pair-level snapshot |
cg_ohlc_history(symbol='BTC', interval='h4', exchange=None) | list of OHLCV bars |
| Function | Signature |
|---|---|
cg_hyperliquid_whale_alerts() | list — recent large-position alerts |
cg_hyperliquid_whale_positions() | list — current open whale positions |
cg_hyperliquid_positions_by_coin(symbol='BTC') | list — whales holding a specific coin |
cg_hyperliquid_position_distribution(symbol='BTC') | dict — long/short position-size distribution |
| Function | Signature |
|---|---|
cg_taker_volume_history(symbol='BTC', exchange='Binance', interval='1h', limit=1000, start_time=None, end_time=None) | list — taker buy/sell volume bars |
cg_aggregated_taker_volume(symbol='BTC', interval='h4') | list — aggregated across all exchanges |
cg_cumulative_volume_delta(symbol='BTC', exchange='Binance', interval='1h', limit=1000, start_time=None, end_time=None) | list — CVD bars |
cg_coin_netflow(symbol=None) | list — net inflow/outflow per coin |
cg_whale_transfers() | dict — recent on-chain large transfers |
| Function | Signature |
|---|---|
cg_btc_etf_flows() | list — daily flows per US BTC ETF |
cg_btc_etf_history(etf_ticker=None) | list — historical AUM/flows |
cg_btc_etf_list() | list of BTC ETF tickers + AUM |
cg_btc_etf_premium_discount() | list — premium/discount % vs NAV |
cg_hk_btc_etf_flows() | list — Hong Kong BTC ETF flows |
cg_eth_etf_flows() / cg_eth_etf_list() / cg_eth_etf_premium_discount() / cg_hk_eth_etf_flows() | ETH ETF equivalents |
cg_sol_etf_flows() / cg_sol_etf_list() | SOL ETF data |
cg_xrp_etf_flows() / cg_xrp_etf_list() | XRP ETF data |
funding_rate(symbol="BTC"):
cg_liquidations(symbol="BTC", time_type="h24"):
cg_open_interest(symbol="BTC"):
long_short_ratio(symbol="BTC", interval="h4"):
Step 1: Is this about LIQUIDATIONS?
Step 2: Is this about LONG/SHORT RATIO?
Step 3: Is this about OPEN INTEREST?
Step 4: Is this a MARKET OVERVIEW / SENTIMENT query?
| Keyword / Pattern | Correct Tool | ❌ Do NOT use |
|---|---|---|
| 爆仓排行 / 今日爆仓 / all coins liquidation | cg_liquidation_coin_list | cg_liquidations |
| 24h爆仓汇总 / liquidation summary | cg_liquidation_coin_list | cg_liquidation_analysis |
| 全网账户多空比 / account L/S ratio | cg_global_account_ratio | long_short_ratio |
| 头部交易者多空 / top trader ratio | cg_top_account_ratio | long_short_ratio |
| 未平仓合约 / open interest | cg_open_interest | cg_coins_market_data |
| 市场情绪多空分析 | funding_rate + long_short_ratio + cg_open_interest | cg_coins_market_data |
| BTC做多检查 / pre-trade checklist | funding_rate + cg_global_account_ratio + cg_liquidation_coin_list | — |
Mistake 1 (most common — 8x failure): Using cg_liquidations when you need cg_liquidation_coin_list
cg_liquidations → one coin, one timeframe, basic total onlycg_liquidation_coin_list(exchange) → ALL coins, multi-timeframe (1h/4h/12h/24h), per-exchange breakdowncg_liquidation_coin_listMistake 2 (5x failure): Using cg_liquidation_analysis for liquidation rankings
cg_liquidation_analysis adds a sentiment label to a single-coin total — it is NOT a ranking toolcg_liquidation_coin_listMistake 3 (3x failure): Using long_short_ratio for historical L/S analysis
long_short_ratio is a current snapshot (no time-series)cg_global_account_ratio returns history — use it when the user wants trends or comparison over timecg_global_account_ratio AND cg_top_account_ratioMistake 4 (2x failure): Using cg_coins_market_data for open interest
cg_coins_market_data is a bulk snapshot of many coins — not a replacement for dedicated OI or L/S toolscg_open_interest. L/S question → long_short_ratio or cg_global_account_ratio. Never route either to cg_coins_market_data.❌ FORBIDDEN TOOLS — NEVER USE:
bash — Do NOT write scripts to process/format data. Use natural language.write_file / read_file / edit_file — Do NOT save intermediate data. Answer directly.learning_log — ONLY for genuine skill bugs or persistent API errors. NOT for empty responses.echo — Do NOT use for debugging or output.✅ CORRECT PATTERN:
Match tool count to question scope:
learning_log is FORBIDDEN for:
learning_log is ONLY for:
| Query | Primary Tool | Secondary Tool |
|---|---|---|
| BTC ETF 资金流入/流出 | cg_btc_etf_flows() | cg_btc_etf_history() for detailed history |
| ETH ETF 资金流入/流出 | cg_eth_etf_flows() | — |
| SOL/XRP ETF flows | cg_sol_etf_flows() / cg_xrp_etf_flows() | — |
| HK ETF flows | cg_hk_btc_etf_flows() / cg_hk_eth_etf_flows() | — |
| ETF 列表/代码 | cg_btc_etf_list() / cg_eth_etf_list() | — |
| ETF 溢价/折价 | cg_btc_etf_premium_discount() | — |
ETF 对比问题 workflow:
| Query type | Tool |
|---|---|
| 爆仓/liquidation summary (24h, by coin) | cg_liquidation_coin_list |
| Individual liquidation orders | cg_liquidation_orders |
| Liquidation history for a coin | cg_coin_liquidation_history |
| Funding rate | funding_rate |
| Long/short ratio (global) | cg_global_account_ratio |
| Open interest | cg_open_interest |
| Whale activity on Hyperliquid | cg_hyperliquid_whale_alerts |
| ETF flows (BTC) | cg_btc_etf_flows |
Use Coinglass for:
Core derivatives data for market analysis:
funding_rate(symbol, exchange?) - Current funding rateslong_short_ratio(symbol, exchange?, interval?) - Basic L/S ratioscg_open_interest(symbol) - Current OI across exchangescg_liquidations(symbol, time?) - Recent liquidationscg_liquidation_analysis(symbol) - ❌ Startup 下不可用(依赖 heatmap 端点)cg_supported_coins() - All supported coinscg_supported_exchanges() - All exchanges with pairsDeep positioning analysis with multiple metrics:
cg_global_account_ratio(symbol, interval?) - Global account-based L/S ratiocg_top_account_ratio(symbol, exchange, interval?) - Top trader accounts ratiocg_top_position_ratio(symbol, exchange, interval?) - Top positions by sizecg_taker_exchanges(symbol) - Taker buy/sell by exchangecg_net_position(symbol, exchange) - Net long/short positionscg_net_position_v2(symbol) - Enhanced net position dataUse cases:
Granular liquidation tracking for cascade prediction:
cg_coin_liquidation_history(symbol, interval?, limit?, start_time?, end_time?) - Aggregated across all exchangescg_pair_liquidation_history(symbol, exchange, interval?, limit?, start_time?, end_time?) - Exchange-specific paircg_liquidation_coin_list(exchange) - All coins on an exchangecg_liquidation_orders(symbol, exchange, min_liquidation_amount, start_time?, end_time?) - Individual orders (past 7 days, max 200)Use cases:
Track large traders on Hyperliquid DEX (~200 recent alerts):
cg_hyperliquid_whale_alerts() - Recent large position opens/closes (>$1M)cg_hyperliquid_whale_positions() - Current whale positions with PnLcg_hyperliquid_positions_by_coin() - All positions grouped by coincg_hyperliquid_position_distribution() - Distribution by size with sentimentUse cases:
Market overview and price data:
cg_coins_market_data() - ALL coins data in one call (100+ coins)cg_pair_market_data(symbol, exchange) - Specific pair metricscg_ohlc_history(symbol, exchange, interval, limit?) - OHLC candlestickscg_taker_volume_history(symbol, exchange, interval, limit?, start_time?, end_time?) - Pair-specific taker volumecg_aggregated_taker_volume(symbol, interval, limit?, start_time?, end_time?) - Aggregated across exchangesUse cases:
Order flow and capital movement tracking:
cg_cumulative_volume_delta(symbol, exchange, interval, limit?, start_time?, end_time?) - CVD = Running total of (buy - sell)cg_coin_netflow() - Capital flowing into/out of coinscg_whale_transfers() - Large on-chain transfers (>$10M, past 6 months)Use cases:
Track institutional Bitcoin adoption:
cg_btc_etf_flows() - Daily net inflows/outflowscg_btc_etf_premium_discount() - ETF price vs NAVcg_btc_etf_history() - Comprehensive history (price, NAV, premium%, shares, assets)cg_btc_etf_list() - List of Bitcoin ETFscg_hk_btc_etf_flows() - Hong Kong Bitcoin ETF flowsUse cases:
Ethereum, Solana, XRP, and Hong Kong ETFs:
cg_eth_etf_flows() - Ethereum ETF flowscg_eth_etf_list() - Ethereum ETF listcg_eth_etf_premium_discount() - ETH ETF premium/discountcg_sol_etf_flows() - Solana ETF flowscg_sol_etf_list() - Solana ETF listcg_xrp_etf_flows() - XRP ETF flowscg_xrp_etf_list() - XRP ETF listcg_hk_eth_etf_flows() - Hong Kong Ethereum ETF flowsUse cases:
| Rate (8h) | Read |
|---|---|
| > +0.05% | Extreme greed — crowded long, squeeze risk |
| +0.01% to +0.05% | Bullish bias, normal |
| -0.005% to +0.01% | Neutral |
| -0.05% to -0.005% | Bearish bias, normal |
| < -0.05% | Extreme fear — crowded short, bounce risk |
Extreme funding often precedes reversals. The crowd is usually wrong at extremes.
| OI | Price | Read |
|---|---|---|
| Up | Up | New longs entering — bullish conviction |
| Up | Down | New shorts entering — bearish conviction |
| Down | Up | Short covering — weaker rally, less conviction |
| Down | Down | Long liquidation — weaker selloff, capitulation |
| Ratio | Read |
|---|---|
| > 1.5 | Crowded long — contrarian bearish |
| 1.1–1.5 | Moderately bullish |
| 0.9–1.1 | Balanced |
| 0.7–0.9 | Moderately bearish |
| < 0.7 | Crowded short — contrarian bullish |
| Pattern | Read |
|---|---|
| CVD rising, price rising | Strong buy pressure, healthy uptrend |
| CVD falling, price rising | Weak rally, distribution |
| CVD rising, price falling | Accumulation, potential bottom |
| CVD falling, price falling | Strong sell pressure, healthy downtrend |
| Flow | Read |
|---|---|
| Large inflows | Institutional buying, bullish |
| Consistent inflows | Sustained demand |
| Large outflows | Institutional selling, bearish |
| Premium to NAV | High demand, bullish sentiment |
| Discount to NAV | Weak demand, bearish sentiment |
Multi-metric confirmation: Combine tools across categories for high-confidence signals:
Smart money vs retail: Compare metrics to identify divergence:
cg_top_account_ratio (smart money) vs cg_global_account_ratio (retail)Cascade prediction: Use liquidation tools to predict volatility:
cg_coin_liquidation_history shows liquidation patterns over timecg_liquidation_orders reveals recent forced closuresFlow divergence: Track capital movements:
cg_coin_netflow shows where money is flowingcg_whale_transfers reveals large movements✅ OPTIMAL: Use batch endpoints
❌ INEFFICIENT: Multiple individual calls
Most history endpoints support:
interval: Time granularity (1h, 4h, 12h, 24h, etc.)limit: Number of records (default varies, max 1000)start_time: Unix timestamp (milliseconds)end_time: Unix timestamp (milliseconds)Example:
Major exchanges with futures data:
Use cg_supported_exchanges() for complete list with pair details.
cg_supported_coins()cg_supported_exchanges() for full list with pairsCG-API-KEY header (most tools)coinglassSecret header (some legacy tools)CoinglassPlanError)。
用户需要这些数据 → 让用户提供自己的 key(COINGLASS_DIRECT=1 + 自有
COINGLASS_API_KEY 直连),或用 Apify skill 爬 coinglass.com 页面。CoinglassPlanError with BYOK / Apify guidance on 401 "Upgrade plan"COINGLASS_DIRECT=1 direct mode for user-supplied keys (sc-proxy overwrites user keys)exchange_list / pair symbol),
aggregated taker volume (exchange_list), price history (pair symbol)python3 - <<'EOF'
import sys, json
sys.path.insert(0, "/data/workspace/skills/coinglass")
from exports import funding_rate, cg_open_interest, cg_liquidations
print(funding_rate(symbol="BTC"))
print(cg_open_interest(symbol="BTC"))
EOF{
"symbol": "BTC",
"exchange": "average",
"rate": "-0.0016%",
"num_exchanges": 21,
"exchanges_data": [
{"exchangeName": "Binance", "rate": "+0.0050%",
"nextFundingTime": 1777881600000, "fundingIntervalHours": 8, "status": 1}
]
}[
{"exchange": "All", "liquidation_usd": 170497688.16,
"longLiquidation_usd": 8179073.80, "shortLiquidation_usd": 162318614.36},
{"exchange": "Bybit", "liquidation_usd": 40454694.98, ...}
][
{"symbol": "BTC", "openInterest": 61395303653.62, "volUsd": 56349328748.42,
"oichangePercent": 7.17, "h4OIChangePercent": 5.33,
"avgFundingRateBySymbol": -0.001874, "exchangeName": "Binance"}
][{
"symbol": "BTC", "longRate": 53.65, "shortRate": 46.35,
"longVolUsd": 12558668895.91, "shortVolUsd": 10848776476.99,
"totalVolUsd": 23407445372.91,
"list": [
{"exchangeName": "Binance", "longRate": 55.75, "shortRate": 44.25, ...}
]
}]Liquidation query?
├─ YES → How many coins?
│ ├─ ALL coins / ranking / 排行 / 汇总
│ │ └─ → cg_liquidation_coin_list ✅ (most liquidation queries land here)
│ ├─ ONE coin, need history over time
│ │ └─ → cg_coin_liquidation_history
│ ├─ ONE coin, specific orders (price/side/USD)
│ │ └─ → cg_liquidation_orders
│ └─ ONE coin, just a quick total + sentiment label
│ └─ → cg_liquidation_analysis (rarely needed; only if explicitly "simple summary")Long/short query?
├─ Historical time-series, trend over time, 多空比变化
│ └─ → cg_global_account_ratio (ALL accounts)
│ or cg_top_account_ratio (top traders only)
│ or cg_top_position_ratio (by position size)
└─ Current snapshot only (no history needed)
└─ → long_short_ratioOI query?
└─ → cg_open_interest (always — do NOT use cg_coins_market_data for OI)Sentiment / 市场情绪 / pre-trade check?
└─ Use: funding_rate + long_short_ratio + cg_open_interest
DO NOT use cg_coins_market_data as a substitute for any of the above# BTC vs ETH ETF 对比
btc = cg_btc_etf_flows()
eth = cg_eth_etf_flows()
# Compare the latest day's net flows, summarize in 2-3 sentences# Get everything in 3 calls
all_coins = cg_coins_market_data() # 100+ coins with full metrics
btc_liquidations = cg_liquidations("BTC")
whale_alerts = cg_hyperliquid_whale_alerts()# BTC positioning across metrics
cg_global_account_ratio("BTC") # Retail sentiment
cg_top_account_ratio("BTC", "Binance") # Smart money
cg_net_position_v2("BTC") # Net positioning
# 注:清算热力图在 Startup 下不可用,见顶部「Plan 权限分级」# Institutional demand
btc_flows = cg_btc_etf_flows()
eth_flows = cg_eth_etf_flows()
sol_flows = cg_sol_etf_flows()# Follow the whales
hyperliquid_whales = cg_hyperliquid_whale_alerts()
whale_positions = cg_hyperliquid_whale_positions()
onchain_whales = cg_whale_transfers() # >$10M on-chain# Order flow
cvd = cg_cumulative_volume_delta("BTC", "Binance", "1h", 100)
netflow = cg_coin_netflow() # All coins
taker_vol = cg_aggregated_taker_volume("BTC", "1h", 100)# One call gets 100+ coins
all_coins = cg_coins_market_data()
# One call gets all whale alerts
whales = cg_hyperliquid_whale_alerts()
# One call gets all ETF flows
btc_etf = cg_btc_etf_flows()# Don't do this - wastes API quota
btc = cg_pair_market_data("BTC", "Binance")
eth = cg_pair_market_data("ETH", "Binance")
sol = cg_pair_market_data("SOL", "Binance")cg_coin_liquidation_history(
symbol="BTC",
interval="1h",
limit=100,
start_time=1704067200000, # 2024-01-01
end_time=1704153600000 # 2024-01-02
)