Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
37-tool crypto derivatives data suite: funding rates, open interest, liquidations, Hyperliquid whale tracking, and ETF flows.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
tools/liquidations_advanced.py
1#!/usr/bin/env python32"""3Coinglass Liquidations Advanced Module45Provides detailed liquidation data: coin/pair history,6coin list aggregation, liquidation orders, and heatmap data.7"""89import sys10import json11import argparse12from typing import Dict, Any, List, Optional1314from ._api import cg_request151617def get_coin_liquidation_history(18symbol: str = "BTC",19interval: str = "h4"20) -> Optional[List[Dict[str, Any]]]:21"""22Get aggregated liquidation history for a coin.2324Args:25symbol: Coin symbol (BTC, ETH, SOL, etc.)26interval: Time interval (h1, h4, h12, h24).27"""28return cg_request(29"api/futures/liquidation/aggregated-history",30params={"symbol": symbol, "interval": interval}31)323334def get_pair_liquidation_history(35symbol: str = "BTC",36exchange: str = "Binance",37interval: str = "h4"38) -> Optional[List[Dict[str, Any]]]:39"""40Get liquidation history for a specific trading pair.4142Args:43symbol: Coin symbol.44exchange: Exchange name.45interval: Time interval (h1, h4, h12, h24).46"""47return cg_request(48"api/futures/liquidation/history",49params={50"symbol": symbol,51"exchange": exchange,52"interval": interval,53}54)555657def get_liquidation_coin_list(58symbol: Optional[str] = None59) -> Optional[List[Dict[str, Any]]]:60"""61Get liquidation summary aggregated by coin.6263Args:64symbol: Optional coin filter.65"""66params = {}67if symbol:68params["symbol"] = symbol69return cg_request(70"api/futures/liquidation/coin-list",71params=params or None72)737475def get_liquidation_orders(76symbol: str = "BTC",77exchange: Optional[str] = None78) -> Optional[List[Dict[str, Any]]]:79"""80Get recent large liquidation orders.8182Args:83symbol: Coin symbol.84exchange: Optional exchange filter.85"""86params = {"symbol": symbol}87if exchange:88params["exchange"] = exchange89return cg_request("api/futures/liquidation/order", params=params)909192def get_liquidation_heatmap(93symbol: str = "BTC",94exchange: str = "Binance"95) -> Optional[Dict[str, Any]]:96"""97Get liquidation heatmap data (price levels with liquidation density).9899Args:100symbol: Coin symbol.101exchange: Exchange name.102"""103return cg_request(104"api/futures/liquidation/heatmap/model1",105params={"symbol": symbol, "exchange": exchange}106)107108109def main():110"""CLI entry point."""111parser = argparse.ArgumentParser(112description="Coinglass Liquidation Advanced Tools"113)114parser.add_argument("action", choices=[115"coin-history", "pair-history", "coin-list",116"orders", "heatmap"117])118parser.add_argument("--symbol", "-s", default="BTC")119parser.add_argument("--exchange", "-e", default="Binance")120parser.add_argument("--interval", "-i", default="h4")121args = parser.parse_args()122123actions = {124"coin-history": lambda: get_coin_liquidation_history(125args.symbol, args.interval126),127"pair-history": lambda: get_pair_liquidation_history(128args.symbol, args.exchange, args.interval129),130"coin-list": lambda: get_liquidation_coin_list(args.symbol),131"orders": lambda: get_liquidation_orders(132args.symbol, args.exchange133),134"heatmap": lambda: get_liquidation_heatmap(135args.symbol, args.exchange136),137}138139try:140result = actions[args.action]()141print(json.dumps(result, indent=2))142except Exception as e:143print(f"Error: {e}", file=sys.stderr)144sys.exit(1)145146147if __name__ == "__main__":148main()149