API

The same source of truth the pages are generated from. Static JSON — no key, no rate limit, no server to fall over.

Endpoints

GET /data/map.json         clusters, exposure, defensibility, coverage
GET /data/scorecard.json   every published claim and its status
GET /data/meta.json        what we cannot currently see

Example

{
 "asset": "BTC",
 "venue": "hyperliquid",
 "map_taken_at": "2026-08-24T23:17:14+00:00",
 "map_age_seconds": 302
}
"coverage": {
 "observed_fraction": 0.3378,
 "tier": "fast",
 "wallets_scanned": 300,
 "method": "scanned position notional / exchange open interest",
 "note": "every figure below is a LOWER BOUND -- forced flow from wallets outside this scan is invisible",
 "full_universe_estimate": 0.533,
 "reference": "F-0003"
}

MCP

The same intelligence as a tool an agent can call, rather than a page it has to read. Stdlib Python, no key, no account:

claude mcp add isobath -- python3 product/mcp_server.py

Four tools: get_market_map, check_wallet, get_findings and get_limits. Every response carries its coverage and provenance tier — a model quoting a figure to someone who will never visit this site is exactly where a missing limit does the most damage, so it is not an optional field.

For agents

Every page carries JSON-LD describing the same measurements, so a retrieval system can cite a figure together with its observation count, timestamp, coverage and method rather than parsing a chart.

Every response states what fraction of the market it observed. A number without its coverage is not an answer.