Clear, the xmppd mascot

xmppd

Carrier-grade XMPP server in Zig

BSD-2-Clause · Free & Open Source

About

xmppd is a from-scratch XMPP server written in Zig, inspired by Postfix's multi-process architecture. It targets FreeBSD first with kqueue-based async I/O, DANE-first federation, and thread-per-core scaling.

Built for operators who want a fast, auditable, and dependency-minimal messaging server that they fully control.

Architecture

Multi-Process Separate daemons for core, auth, S2S federation. Fault-isolated, privilege-separated.
Thread-Per-Core SO_REUSEPORT_LB load balancing with per-worker kqueue event loops and MPSC delivery.
DANE-First DNS-based authentication is the primary S2S trust path. PKIX/CA is the fallback, not the default.
Zero Runtime Deps Static Zig binaries. Only OpenSSL and your chosen storage backend at runtime.

Source Code

xmppd is 100% free and open source under the BSD-2-Clause license.

Why

I want to kill SMS, and by extension, the phone number.

I've been waiting for a good XMPP server since the early 2000s — back when it was still called Jabber and the RFC process was just getting started. When XMPP became an official standard, I thought surely now someone will build a great server.

Years went by. Nobody did.

Meanwhile, proprietary messaging came and went. AIM disappeared. Slack showed up. WhatsApp. Telegram. Matrix. The world kept shifting toward centralization, and somehow SMS — an archaic, insecure technology from the 1990s — became more relevant, not less. Today you're expected to hand over a phone number to sign up for anything. Often it must be a cell phone, not VoIP. More control by legacy carriers. More centralization.

SMS needs to die!

Matrix gained traction, but it's an inferior protocol largely controlled by a single entity. Prosody, ejabberd, and Openfire are okay. They are not great.

After nearly 25 years of waiting, I finally realized: nobody else is going to do it.

So I'm building it myself. Not just a good server — a great one.

Full documentation, architecture guides, and developer resources are coming soon.
xmppd is currently in active development (v0.5.0).