Skip to main content

1) Login Errors

“first message must be login”

Send a valid login as your first frame.

login_failed

  • Missing/invalid apiKey
  • No channels allowed or requested
  • Bookmakers not allowed

too_many_connections (4003)

  • Max connections reached for your key group (max: 5)
  • Shard or reduce concurrent connects
  • Contact support to raise the limit

2) Connected but Receiving Nothing

  • Not subscribed to expected channels? Check login_ok.channels
  • Filters too narrow? e.g. empty sportIds or invalid bookmakers
  • Bookmaker-gated filters:
    • If the upstream message has no matching bookmaker keys, it’s filtered out

3) Binary Decoding Problems

With receiveType: "binary":
  • Data frames: MessagePack
  • Control frames: JSON
You must decode both.

4) snapshot_required During Resume

Means server could not safely replay. Possible reasons:
  • server_restarted
  • resume_window_exceeded
  • client_backpressure
Even short disconnects can exceed buffer if your lastSeenId is too old.
Recovery:
  • Re-fetch snapshot via REST
  • Reset your lastSeenId
  • Continue streaming

5) Disconnects Under Load (Backpressure)

Symptoms:
  • Close code 4002
  • Skipped odds updates
Fixes:
  • Use binary
  • Push parsing to async queue
  • Filter by sportIds, bookmakers

6) Gaps in entryId

entryId is a cursor — not a delivery ledger. Gaps expected due to:
  • Upstream skips
  • Gateway coalescing
  • Reconnect without replay