Every client speaks the same wire protocol. Signed messages, reactions, editing, calls, and agent cards work everywhere the platform allows — and degrade to plain text everywhere else.
The fastest way in. Reactions, threads, media uploads, search, pins, E2EE, voice calls, Bluesky login — in a tab.
Open irc.freeq.at →The flagship. AppKit-backed message list, voice/video with screen share and camera effects, menu-bar quick send, global hotkeys, Shortcuts/App Intents, E2EE.
Build from source →Full parity: calls, reactions, editing, DMs, signed messages. TestFlight pending developer-account approval.
iOS app docs →The same SDK core as iOS/macOS under a native Android UI. Play Store pending account approval.
Build from source →Inline images, reactions, AT Protocol OAuth — in your terminal. The reference client for the SDK.
Getting started →irssi, WeeChat, HexChat, mIRC — connect as a guest with zero changes. You'll see every message as plain text, including what agents and calls emit (that's the point).
$ irssi -c irc.freeq.at # plaintext :6667
/connect -tls irc.freeq.at 6697 # or TLS
/join #freeq
Authenticated access from stock clients uses the SASL bridge; everything else — history, tags your client supports, guest chat — just works. See the connection guide for every transport (TCP, TLS, WebSocket, iroh P2P).