Skip to main content

Documentation Index

Fetch the complete documentation index at: https://zapo.to/llms.txt

Use this file to discover all available pages before exploring further.

Zapo zapo (published on npm as zapo-js) is an independent, runtime implementation of the WhatsApp Web protocol written in TypeScript. It is not a wrapper or fork of an existing WhatsApp client library — the protocol source of truth is the deobfuscated WhatsApp Web client, and the goal is behavior parity with WhatsApp Web while improving CPU, memory, and allocation efficiency.
Stability notice. zapo is pre-1.0. Breaking changes are expected until the first major release. Pin exact versions in long-lived deployments and validate upgrades carefully.

Why zapo

Coordinator-first API

Every feature area is a focused coordinator: client.message, client.group, client.newsletter, client.privacy, and more.

Pluggable storage

One createStore factory, per-domain provider selection, and official backends for SQLite, PostgreSQL, MySQL, Redis, and MongoDB.

Multi-session ready

Every query is scoped by sessionId, so a single process can drive many accounts — built for multi-tenant workloads.

Performance-disciplined

Uint8Array everywhere, zero-copy in hot paths, bounded in-memory structures, async I/O, and synchronous crypto (bar elliptic-curve ops) for raw throughput.

Design principles

These principles drive every implementation decision in the codebase:
  • index-first — protocol behavior is validated against WhatsApp Web before anything is implemented.
  • performance-first — optimize for low CPU, low RAM, low allocations, and zero-copy in hot paths.
  • async-first I/O — I/O and network operations are asynchronous. Crypto, by contrast, runs synchronously — only elliptic-curve operations are async. Keeping the rest of crypto sync delivered a large, measurable throughput gain.

Requirements

  • Node.js >= 20.9.0
  • A package manager (npm, pnpm, or similar)
  • No mandatory runtime dependencies — backends and logging are opt-in peer dependencies.

Get started

Installation

Install zapo-js, pick a storage backend, and wire up optional peers.

Quickstart

Connect, scan a QR code, and reply to your first message in minutes.

Architecture

Understand the client, coordinators, stores, and event flow.

Sending messages

Text, replies, mentions, media, polls, reactions, and more.

Disclaimer

This project is an independent implementation for engineering and interoperability research. It is not affiliated with or endorsed by WhatsApp.
Last modified on May 27, 2026