Skip to main content
Short definitions for the terms used across these docs. Most link to the page that covers them in depth.

addon

An encrypted follow-up attached to a message — a reaction, poll vote, or comment. Surfaced as the message_addon event. See Receiving messages.

app-state

The channel that syncs per-account settings (mute, pin, archive, read, labels, contacts) across all your devices — separate from messages. Driven via client.chat.

BinaryNode

zapo’s representation of a protocol stanza: { tag, attrs, content }. The unit you work with in the low-level API.

broadcast list

A business-only list that sends one message to many contacts at once — each receives it as a private 1:1 chat. Distinct from a newsletter/channel. See Broadcast lists.

companion device

A linked-device connection (like WhatsApp Web/Desktop) — the default mode. Contrast with mobile connections. See Authentication.

coordinator

A focused feature module reached through a getter on the client (client.message, client.group, …). See Architecture.

fanout

Encrypting a single message once per recipient device and bundling the results into one stanza. See Architecture in depth.

IQ

A request/response stanza (<iq type="get|set">result/error), correlated by id. Issue one via client.lowlevel.query.

JID

A WhatsApp address for a user, group, or channel — e.g. 5511999999999@s.whatsapp.net (user), ...@g.us (group), ...@newsletter (channel). See JID helpers.

LID

A privacy-preserving identifier (...@lid) that represents a user without exposing their phone number. Prefer it when sending. See Identities.

MEX

WhatsApp’s GraphQL-over-IQ layer, used by newsletter and parts of business. The optional argo-codec peer decodes some MEX responses.

Noise

The Noise-protocol handshake that authenticates the server and encrypts every frame after connect. See The WhatsApp protocol.

PN

“Phone number” — a phone-number JID (...@s.whatsapp.net), as opposed to a LID. See Identities.

prekey

A Signal one-time key used to bootstrap an encrypted session with a new peer. Fetched as part of session setup; an envelope that bootstraps a session is a pkmsg.

ratchet

The Signal Double Ratchet that encrypts 1:1 messages with forward secrecy. On the wire the envelope is msg (established) or pkmsg (session-initiating).

sender key

The group-encryption scheme (skmsg): each member distributes a sender key once, then encrypts group messages symmetrically under it. See The WhatsApp protocol.

session

The Signal protocol state for an encrypted conversation with a peer device, persisted in the store. Refresh one with client.message.syncSignalSession.

stanza

A unit of the WhatsApp protocol — a compact binary form of an XMPP-like element. In zapo it’s a BinaryNode.

store

The pluggable persistence layer that holds auth, Signal state, app-state, and optionally messages/threads/contacts. Built with createStore. See Stores.

view-once

Media that the recipient can open only once. Send it with the viewOnce option. See Media.

write-behind

Batched, asynchronous persistence of incoming messages/threads/contacts so the hot path isn’t blocked on the database. Tuned via the writeBehind option.
Last modified on May 28, 2026