Tollbridge Docs
API

Universe

The free, live venue universe — the top perps by 24h notional volume, and the authority on which symbols exist.

GET /v1/universe (free)

The live venue universe: the top perpetuals ranked by 24h notional volume (top 50 by default), computed from the venue tape and cached for at most 15 seconds. This is the authority on which symbols exist — an asset is legal exactly when it appears here and delisted is false. It is never a curated list: PUMP is on it when the tape says people trade it, and gone when it does not.

curl https://api.tollbridge.app/v1/universe
curl "https://api.tollbridge.app/v1/universe?limit=10&q=SOL"

Response data:

  • venue: "hyperliquid"
  • as_of: the ISO instant the snapshot was built from the venue tape
  • quality: "real" on a fresh read; "degraded" when a failed refresh served the last good snapshot (with its true as_of)
  • assets[]: { symbol, mid, mark, change_24h, volume_24h, oi_usd, funding, max_leverage, delisted }, sorted by volume_24h descending
  • count, total_live, truncated: how many you got, how many live symbols exist, and whether the limit cut the list

Delisted names are dropped — a row always carries delisted: false. A read failure with no prior snapshot is a typed 503 (PROVIDER_DOWN), never an empty list; "could not check" is never rendered as "no markets".

TypeScript

import { Tollbridge } from '@tollbridge/sdk-typescript';

const toll = new Tollbridge({ baseUrl: 'https://api.tollbridge.app' });

const universe = await toll.universe();
universe.data.assets[0]?.symbol;      // the top symbol by 24h volume
universe.data.assets[0]?.volume_24h;  // its 24h notional volume
universe.data.quality;                // 'real' | 'degraded'

Python

import httpx

# Reference snippet — official Python SDK in progress.
r = httpx.get("https://api.tollbridge.app/v1/universe", params={"limit": 50})
u = r.json()["data"]
print(u["quality"], len(u["assets"]), u["assets"][0]["symbol"])

MCP

The same list is the FREE tollbridge_universe tool — the lookup an agent uses to decide whether an asset exists before asking a paid question:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tollbridge_universe",
    "arguments": { "limit": 50 }
  }
}

GET /v1/marketcap (free) — the discovery list

The largest coins by market cap: the discovery list a user picks a subject from, ranked market-cap-descending and computed from a named public source. This is never a curated list. Each row carries askable: true | false | null — askable only when the venue universe also trades the coin, so a top-cap coin with no live market is discoverable yet honestly marked not askable.

curl "https://api.tollbridge.app/v1/marketcap"

askable is derived at read time: true only when the coin also appears in GET /v1/universe live and un-delisted. A top-cap coin this venue does not trade is false and its named reason is the market. This is derived demand state — it never says a price or predicts one.

  • The free quote for any listed symbol: Market.
  • Ask a paid question about one: Decisions.
  • The pending set across the live questions: Decisions.

On this page