Tollbridge Docs
API

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/BTC

Response 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" }
  }
}

On this page