{ data, meta }
envelope, chain ids as evm:<EIP-155 id> or solana, camelCase fields, unix
millisecond timestamps ending in At (candle time is unix seconds,
TradingView-style), null means unknown (never a fake zero), strict 400 on
invalid params, batch twins on hot endpoints, and USD alongside native
denominations.
- Mobula
- Codex
- Birdeye
Closest mapping of the three: our surface was designed so that a Mobula
integration moves with minimal relearning. Auth is the same convention (raw
API key in the
Authorization header) and the credit model is aligned.Conventions that differ
Endpoint map
Streams
Same idea, cleaner protocol: onewss endpoint, auth as the first frame, then
additive subscriptions with explicit acks and per-id unsubscribe. Event
payloads reuse our REST shapes, so your parser is already written.
fast-trade maps to the trades channel, ohlcv to ohlcv,
token-details/market-details to token-updates, and pulse-v2 to pulse
(same contract you know: authoritative snapshot every ~30s, replace not merge,
plus enter/update/leave deltas).