API ReferenceChart Ticks
Live

Chart Ticks

The lightest price primitive: one compact event per trade, emitted the instant it lands (no batching). Built for live price lines and lightweight charts where you want price + volume per trade without the full trade object.

Field names are deliberately short to minimize wire overhead.

The tick object

FieldTypeMeaning
tstringTrade id, {signature}:{event_index} — use for dedup
mstringToken mint
tsnumberTrade time, unix ms
bnumberCandle bucket start, unix ms — group ticks into the right candle
ostringStrict per-trade order key (decimal string) for exact ordering
pnumberUnit price, USD per token
vunumberUSD volume
vtnumberToken volume
snumberSide — 1 buy, -1 sell, 0 neutral
fbooleanOrganic flag — true = counts in the filtered view, false = flash/arb (full view only)

o is a string, not a number, on purpose: per-trade order keys exceed JavaScript’s safe integer range. Compare it as a decimal/bigint, never as a JS number. The f flag lets you render both OHLCV views client-side from a single stream — keep all ticks for full, drop f === false for filtered.

Stream

L1   Channel token:{mint}:ticks

const ws = new WebSocket("wss://api.conyr.ai/ws");
ws.onopen = () =>
  ws.send(JSON.stringify({ op: "subscribe", channels: ["token:EPjFWd...:ticks"] }));
ws.onmessage = (e) => {
  const { channel, data } = JSON.parse(e.data);
  if (channel?.endsWith(":ticks")) {
    // data = { t, m, ts, b, o, p, vu, vt, s, f }
    drawPricePoint(data.ts, data.p, data.s);
  }
};
⚠️

Chart ticks are stream-only — there’s no REST history for ticks. For historical price action use OHLCV Candles, and for full per-trade detail (fees, labels, bundle links) use the trade tape.