Outbound events — the payload contract
The protocol validator enforces hard limits. Keep your payloads inside them:
Submit events the same way across targets:
Buffering, batching, backpressure
When the queue is full the SDK reports
EventQueueFull rather than growing
memory without bound — do not silence it. Drain by reducing submit rate
or restoring connectivity.
Realtime flow
Native:Event types you will meet
- session — lifecycle transitions (authenticated, expired, refreshed)
- wallet — wallet stream updates (post-purchase balance, custody events)
- status — runtime health transitions
Design rules
- Keep event payloads canonical and small; they feed analytics and audit.
- Never place secrets (tokens, PINs) in payloads.
- Treat the event plane as best-effort messaging for telemetry and UX — the HTTP contract (sessions, results, purchases) remains authoritative.

