Market
The free market snapshot — fresh quote plus derived mid and spread, no key, no payment.
GET /v1/market/{asset} (free)
Fresh quote + derived state for any symbol the venue universe lists on the v1 venue (hyperliquid)
— the mission §24 free snapshot. asset is not limited to BTC | ETH | SOL: it is any symbol
GET /v1/universe returns (for example HYPE or DOGE). An unknown or
delisted symbol is a typed 404, never an invented quote. No key, no payment, no probability claim.
curl https://api.tollbridge.app/v1/market/BTCResponse data:
quote:{ price, bid, ask, mark, index, volume_24h }derived:{ mid, spread_bps }provenance:{ source, provider, timestamp, received_at, age_ms, quality }
meta.freshness carries the per-input freshness ({ ok, staleness_budget_ms, age_ms, last_success_at }); a degraded snapshot is still served with the degraded freshness stated —
honesty over prettiness.
TypeScript
import { Tollbridge } from '@tollbridge/sdk-typescript';
const toll = new Tollbridge({ baseUrl: 'https://api.tollbridge.app' });
const market = await toll.market('BTC');
market.data.derived.mid; // derived mid price
market.data.derived.spread_bps;
market.meta.freshness; // [{ ok, staleness_budget_ms, age_ms, last_success_at }]
market.meta.pricing; // null on free routes (typed, not omitted)Python
import httpx
# Reference snippet — official Python SDK in progress.
r = httpx.get("https://api.tollbridge.app/v1/market/BTC")
snapshot = r.json()["data"]
print(snapshot["derived"]["mid"], snapshot["derived"]["spread_bps"])MCP
The snapshot is the FREE tool of the tool catalog (tollbridge_market_state) — an unpaid call
never returns a payment challenge for this surface:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tollbridge_market_state",
"arguments": { "asset": "BTC" }
}
}Related
- Paid engine decisions over market state: Market signals.
- Raw liquidation surfaces: Liquidations.