LinkHash Data API
One clean REST API for the data behind the terminal: multi-exchange OHLCV prices, server-computed technical indicators, the market-implied up/down prediction, per-coin Polymarket + Kalshi odds, and crypto-relevant macro probabilities. Create a free key below and you're pulling data in two minutes.
1Your API keys
Connect your wallet to create a free API key.
No wallet? Any Phantom (Solana) wallet works — it's just your identity for issuing keys. Free, no payment.
2Quickstart
Every endpoint is a plain authenticated GET that returns JSON — use it from any language. Pass your key in the Authorization header (or as ?api_key= / the X-API-Key header).
curl -H "Authorization: Bearer lhx_live_..." \
"https://link-hash.com/api/v1/prices?symbol=BTC&exchanges=binance,okx&interval=1h&limit=100"import requests
BASE = "https://link-hash.com/api/v1"
HEADERS = {"Authorization": "Bearer lhx_live_..."} # your key from link-hash.com/developers
# 1) Multi-exchange candles + cross-exchange aggregate
r = requests.get(f"{BASE}/prices",
params={"symbol": "BTC", "exchanges": "binance,okx",
"interval": "1h", "limit": 100},
headers=HEADERS).json()
print(r["aggregate"][-1]) # {'t':..., 'close_mean':..., 'close_median':..., 'sources':2}
# 2) Technical indicators
r = requests.get(f"{BASE}/indicators",
params={"symbol": "BTC", "interval": "1h",
"indicators": "rsi,macd,bollinger"},
headers=HEADERS).json()
print(r["data"]["indicators"]["rsi"]["latest"]) # e.g. 61.3
# 3) Market-implied up/down prediction (what the prediction chart shows)
r = requests.get(f"{BASE}/prediction",
params={"symbol": "BTC", "cycle": "15m"},
headers=HEADERS).json()
print(r["data"]["cycles"]["15m"]) # {'direction':'up','up_probability':51.5, ...}
# 4) Per-coin Polymarket + Kalshi odds
requests.get(f"{BASE}/odds", params={"symbol": "BTC"}, headers=HEADERS).json()
# 5) Macro probabilities (Fed / CPI / FOMC / recession / crypto policy)
requests.get(f"{BASE}/macro", params={"limit": 10}, headers=HEADERS).json()const r = await fetch(
"https://link-hash.com/api/v1/prediction?symbol=ETH&cycle=1h",
{ headers: { Authorization: "Bearer lhx_live_..." } }
);
const { data } = await r.json();
console.log(data.cycles["1h"]); // { direction, up_probability, down_probability, ... }Every response is { "ok": true, "count": N, "data": ... }. Assets with prediction/odds coverage: BTC ETH SOL XRP DOGE BNB HYPE ZEC · price/indicator exchanges: binance coinbase upbit bithumb okx bitget · cycles: 5m 15m 1h 4h.
3Endpoints
Base URL https://link-hash.com/api/v1 · auth header Authorization: Bearer <key>.
| Param | Default | Description |
|---|---|---|
| symbol req | — | Base asset, e.g. BTC, ETH, SOL. |
| exchanges | binance | Comma-separated list from: binance, coinbase, upbit, bithumb, okx, bitget. |
| interval | 1h | Candle size: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w (venue-dependent). |
| limit | 200 | Number of candles per exchange (clamped to your tier). |
{ "ok": true, "symbol": "BTC", "interval": "1h",
"exchanges": ["binance","okx"],
"aggregate": [ { "t": 1791183600, "close_mean": 86257.1, "close_median": 86257.1, "sources": 2 } ],
"data": [ { "exchange": "binance", "count": 100,
"candles": [ { "t": 1791183600, "o": 86200, "h": 86400, "l": 86100, "c": 86257, "v": 512.3 } ] } ] }| Param | Default | Description |
|---|---|---|
| symbol req | — | Base asset, e.g. BTC, ETH, SOL. |
| exchange | binance | Single exchange to compute on. |
| interval | 1h | Candle size: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w (venue-dependent). |
| indicators | rsi,macd | CSV of: sma, ema, wma, rsi, macd, bollinger, momentum, roc, cci, willr, mfi, stochrsi. |
| length | per-indicator | Override the lookback length for single-length indicators. |
| series | false | true returns the full [t, value] series; otherwise only the latest value. |
{ "ok": true, "data": { "symbol": "BTC", "exchange": "binance", "interval": "1h", "as_of": 1791183600,
"indicators": {
"rsi": { "length": 14, "latest": 61.3 },
"macd": { "length": 20, "latest": { "line": 6.79, "signal": 6.50, "hist": 0.29 } },
"bollinger": { "length": 20, "latest": { "mid": 85900, "up": 86900, "lo": 84900 } } } } }| Param | Default | Description |
|---|---|---|
| symbol req | — | Covered assets: BTC ETH SOL XRP DOGE BNB HYPE ZEC. |
| cycle | all | One of 5m, 15m, 1h, 4h. Omit to return every cycle. |
{ "ok": true, "data": { "symbol": "BTC", "price": 86212.5, "as_of": "2026-10-05T07:05:30+00:00",
"cycles": {
"15m": { "direction": "up", "up_probability": 51.5, "down_probability": 48.5,
"price_to_beat": 86233.6, "ends_at": "2026-10-05T07:15:00Z", "source": "polymarket" } } } }| Param | Default | Description |
|---|---|---|
| symbol req | — | Base asset, e.g. BTC, ETH, SOL. |
| cycle | all | One of 5m, 15m, 1h, 4h. Omit to return every cycle. |
| venue | all | all, polymarket, or kalshi. |
{ "ok": true, "symbol": "BTC", "kalshi_available": false, "data": {
"polymarket": [ { "cycle": "5m", "up_pct": 35.5, "down_pct": 64.5, "volume_24h": 456.8,
"title": "Bitcoin Up or Down ...", "ends_at": "2026-10-05T07:10:00Z",
"url": "https://polymarket.com/event/..." } ],
"kalshi": [] } }| Param | Default | Description |
|---|---|---|
| venue | all | all, polymarket, or kalshi. |
| limit | 20 | Max items per venue (1–50). |
{ "ok": true, "venue": "all", "data": {
"polymarket": [ { "question": "Will there be no change in Fed interest rates ...",
"yes_pct": 83.5, "ends_at": "2026-10-29T03:59:00Z",
"volume_24h": 50877.0, "volume_total": 7265538.6,
"url": "https://polymarket.com/event/..." } ],
"kalshi": [] } }4Limits & notes
- Free tier: up to 5000 requests/day; the daily quota resets at 00:00 UTC. Higher tiers are coming.
- Rate-limit headers: every response carries X-RateLimit-Limit / X-RateLimit-Remaining; a 429 means you hit the daily cap.
- Freshness: prices and indicators are computed on demand from the live exchange feeds; predictions and odds refresh every few seconds from the same snapshot the terminal uses.
- CORS: every response sends Access-Control-Allow-Origin: *, so you can call the API directly from the browser.
- Security: keys are shown once and stored only as a hash. Rotate anytime by revoking and creating a new one.