wss://api.xrpl.to/ws/sync/
Multi-token market sync (handshake first, token data via updates)
Request
wss://api.xrpl.to/ws/sync/wscat -c 'wss://api.xrpl.to/ws/sync/'
Response
initial: { res, initial: true, connectionInfo, tier, session, total, exch, H24, global, tags, tokens: [] }. subscribe ack: { type: "subscribed", mode, ... } — in tokens mode its tokens[] is the ECHOED md5 list, not token data. Right after the ack (both modes) comes a snapshot frame { res, snapshot: true, seq, time, count, tokens[] } with the current state of the subscribed set (cap 100 tokens; same lightweight shaping as updates; suppress with snapshot: false). updates: { res, seq, prevSeq, time, session, total, exch, H24, global, tokens[] } — updates carry NO type field; identify them by seq/prevSeq (also your gap detector); tokens[] may be EMPTY (heartbeat/envelope tick, every ~10th seq during quiet periods). lightweight/skip_metrics shrink updates per the subscribe flagsWhat it does
Multi-token market sync (handshake first, token data via updates)
subscribe { tokens: [md5,...] } OR { filter: { minVolume?, tags?, topN? (max 500) } }, optionally + { lightweight: true (strip tokens to the ~30 tokenFields essentials), skip_metrics: true (omit exch/H24/global from updates), snapshot: false (skip the initial snapshot frame) }; addTokens { tokens }, removeTokens { tokens }, unsubscribe, getSubscriptions, checkSeq { lastSeq }, resync, auth { apiKey }