Fair question. The honest answer is: it depends on what you need. Matrix is a protocol with federation, a large ecosystem, and years of development behind it. If you need federation or interoperability with other services, Matrix is the better choice. ONYX is different in a few ways:
LAN mode — works entirely without internet via UDP broadcast, no server needed
Simpler self-hosting — one binary, runs from the command line, no complicated setup
Native Flutter client — single codebase for Android, iOS, Windows, macOS, Linux
The tradeoff is that ONYX is less mature, still in beta, and doesn’t have federation yet (it’s on the roadmap). If you’re already happy with Matrix, there’s probably no reason to switch. If you want something lighter and simpler with a focus on privacy and offline capability, it might be worth trying.





Just to clarify — LAN mode is an optional feature, not the only way the app works. By default ONYX works like any other messenger through a central server, with E2EE for private chats (unlike Telegram, where only Secret Chats are E2EE). LAN mode is an additional feature for people on the same local network who want to communicate without any internet or server involved at all — useful for office environments, local events, or situations where internet access isn’t available or isn’t wanted. So to answer your question: in normal mode, the server handles routing. In LAN mode, UDP broadcast handles discovery automatically — no manual IP tracking needed.