Skip to Content
SDKsOverview

SDKs

Each SDK is a thin wrapper over two HTTP endpoints — batch the events, hash nothing client-side, and never block or crash your bot. Pick your library:

JavaScript / TypeScript

Python

Go

Another language or library?

Everything the SDKs do is a wrapper over the Ingest API. Implement those two endpoints to instrument serenity, JDA, or anything else.

Shared design guarantees

Every official SDK implements the same core spec  and shares the same behavior:

  • Events are batched (flushed every 5 s or 100 events) and sent in the background — track() never blocks or throws.
  • Transient failures retry with backoff; the queue is bounded (oldest dropped first), so a dead Mochi instance can never leak memory or crash the bot.
  • Raw user ids are hashed server-side with a per-bot salt and never stored.

Each is split into a core client (transport, batching, retries) and a framework adapter (event hooks), so the core never pulls your bot library into its dependency graph.

Last updated on