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/hyperliquid.py
1#!/usr/bin/env python32"""3Coinglass Hyperliquid Module45Provides Hyperliquid-specific data: whale alerts, whale positions,6positions by coin, user positions, and position distribution.7"""89import sys10import json11import argparse12from typing import Dict, Any, List, Optional1314from ._api import cg_request151617def get_whale_alerts() -> Optional[List[Dict[str, Any]]]:18"""Get Hyperliquid whale position alerts (large position changes)."""19return cg_request("api/hyperliquid/whale-alert")202122def get_whale_positions() -> Optional[List[Dict[str, Any]]]:23"""Get current Hyperliquid whale positions."""24return cg_request("api/hyperliquid/whale-position")252627def get_positions_by_coin(28symbol: str = "BTC"29) -> Optional[List[Dict[str, Any]]]:30"""31Get Hyperliquid positions aggregated by coin.3233Args:34symbol: Coin symbol (BTC, ETH, SOL, etc.)35"""36return cg_request(37"api/hyperliquid/position",38params={"symbol": symbol}39)404142def get_user_positions(43address: str = ""44) -> Optional[List[Dict[str, Any]]]:45"""46Get positions for a specific Hyperliquid wallet.4748Args:49address: Wallet address to query.50"""51params = {}52if address:53params["address"] = address54return cg_request(55"api/hyperliquid/user-position",56params=params or None57)585960def get_position_distribution(61symbol: str = "BTC"62) -> Optional[Dict[str, Any]]:63"""64Get wallet position distribution for a coin on Hyperliquid.6566Args:67symbol: Coin symbol (BTC, ETH, SOL, etc.)68"""69return cg_request(70"api/hyperliquid/wallet/position-distribution",71params={"symbol": symbol}72)737475def main():76"""CLI entry point."""77parser = argparse.ArgumentParser(78description="Coinglass Hyperliquid Tools"79)80parser.add_argument("action", choices=[81"alerts", "whales", "coin", "user", "distribution"82])83parser.add_argument("--symbol", "-s", default="BTC")84parser.add_argument("--address", "-a", default="")85args = parser.parse_args()8687actions = {88"alerts": get_whale_alerts,89"whales": get_whale_positions,90"coin": lambda: get_positions_by_coin(args.symbol),91"user": lambda: get_user_positions(args.address),92"distribution": lambda: get_position_distribution(args.symbol),93}9495try:96result = actions[args.action]()97print(json.dumps(result, indent=2))98except Exception as e:99print(f"Error: {e}", file=sys.stderr)100sys.exit(1)101102103if __name__ == "__main__":104main()105