mcpField
G
glassnode-cli

glassnode-cli

github.com/glassnodeData & databases1347 installsUpdated 2w ago
Repository

About glassnode-cli

glassnode-cli is a command-line interface for querying the Glassnode API, for users working with on-chain and market metrics. It supports asset and metric discovery, filtered and bulk data retrieval, and JSON, CSV, or table output.

Key features

  1. 01List and describe assets
  2. 02Discover and describe metrics
  3. 03Fetch metric data by filters and time range
  4. 04Retrieve metrics for multiple assets
  5. 05JSON, CSV, and table output
  6. 06Configure API key and inspect credits

Use cases

  1. 01Check available Glassnode assets and metrics
  2. 02Fetch BTC metrics for a chosen period
  3. 03Retrieve one metric across several assets
  4. 04Export metric results to CSV or JSON

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/glassnode/glassnode-cli --skill glassnode-cli

After installing, type/glassnode-cliin Claude Code to confirm it loaded.

Details

From the project README

Glassnode CLI (gn)

Command-line interface for the Glassnode API.

Setup

If the gn command is not available you need to install the CLI. See the Installation section in the README for install and setup options.

Quick start:

gn asset list
gn metric get market/price_usd_close --asset BTC --since 30d

Commands

List assets
gn asset list
gn asset list --filter "asset.semantic_tags.exists(tag,tag=='stablecoin')"
gn asset list --filter "asset.id=='BTC'"
# Prune to specific fields (returns array of objects)
gn asset list --prune id -o json
gn asset list -p id,symbol -o json
Describe an asset
gn asset describe BTC
List metrics
gn metric list
gn metric list --asset BTC
gn metric list -a BTC -e binance -i 24h
gn metric list --assets BTC --assets ETH
gn metric list --from-exchange binance --to-exchange coinbase

Filter by any metadata query parameters: --currency, --exchange, --interval, --from-exchange, --to-exchange, --miner, --maturity, --network, --period, --quote-symbol, or multiple --assets.

Describe a metric (discover valid parameters)
gn metric describe market/price_usd_close
gn metric describe market/price_usd_close --asset BTC
Fetch metric data
gn metric get market/price_usd_close --asset BTC --interval 24h
gn metric get market/price_usd_close --asset BTC --since 2024-01-01 --until 2024-02-01
gn metric get market/price_usd_close --asset BTC --since 30d
gn metric get indicators/sopr --asset BTC --interval 24h --since 30d
gn metric get distribution/balance_exchanges --asset BTC --exchange binance --currency usd
Bulk fetch (multiple assets)

Append /bulk to the metric path. Repeat -a (or --asset) for each asset, or use -a '*' for all:

gn metric get market/marketcap_usd/bulk -a BTC -a ETH -a SOL -s 1d
gn metric get market/marketcap_usd/bulk -a '*' --interval 24h --since 30d
API credit usage (gn user credits)

Shows the current API usage for the account.

gn user credits

Example JSON output:

{
  "creditsLeft": integer,
  "creditsPerMonth": integer,
  "creditsUsed": integer
}
Config set / get
gn config set api-key=your-key
gn config set output=csv
gn config get api-key
gn config get all

Global Flags

FlagShortDescription
--api-keyGlassnode API key
--output-oOutput format: json (default), csv, table
--dry-runPrint the request URL without executing
--timestamp-formatTimestamp format in output

Best Practices

  • Always call gn metric describe <path> before gn metric get to discover valid parameters, assets, exchanges, and intervals for a metric.
  • Use --output json (default) for structured output suitable for piping to jq.
  • Use --dry-run to preview the API request URL without executing: gn metric get market/price_usd_close --asset BTC --since 30d --dry-run.
  • For bulk metrics (path ending in /bulk), use -a with specific assets or -a '*' for all.
  • Relative time values are supported for --since and --until: e.g. 30d, 7d, 1h.

Output Formats

  • --output json (default) — JSON, suitable for jq processing
  • --output csv — CSV format, suitable for spreadsheets
  • --output table — human-readable ASCII table
# Pipe JSON to jq
gn metric get market/price_usd_close -a BTC --since 7d | jq '.[].v'

# Export to CSV
gn metric get market/price_usd_close -a BTC --since 30d -o csv > prices.csv

# Quick look in the terminal
gn metric get market/price_usd_close -a BTC --since 7d -o table

Comments

Markdown supported