← All docs

The +freeq.at/* Tag Registry

Everything freeq adds to IRC rides IRCv3 message
tags
. This page is the
canonical registry of the vendored +freeq.at/* namespace, plus the
standard/draft tags freeq implements. A tag-unaware client ignores all of
them and still sees readable text — that is the design contract.

Tags prefixed + are client-only tags (relayed verbatim by the server);
values are strings per the IRCv3 escaping rules.

Identity & integrity

Tag On Meaning
+freeq.at/sig PRIVMSG, TAGMSG Per-session ed25519 signature: ed25519:<kid>:<base64url sig>. For act messages it covers the JCS-canonicalized act-* tags; for plain messages, the message body. Public keys: /api/v1/signing-keys/<did>.
+freeq.at/account PRIVMSG (server → client) The sender's authenticated DID, attached by the server.
+freeq.at/origin relayed messages Origin server name for messages arriving via federation. Clients show "via {origin}" and suppress local verification badges.
+freeq.at/echo-nonce PRIVMSG (client → server) Client-chosen nonce echoed back with the server-assigned msgid, so senders can match their own echo-message.

Messaging features

Tag On Meaning
+draft/edit=<msgid> PRIVMSG This message replaces <msgid>. Server verifies authorship.
+draft/delete=<msgid> TAGMSG Soft-delete <msgid> (author or ops).
+draft/reply=<msgid> / +reply PRIVMSG, TAGMSG Threading / reply-to reference.
+draft/react / +react + +reply=<msgid> TAGMSG Add a reaction; +freeq.at/unreact removes one.
+typing=active\|done TAGMSG Typing indicator.
+freeq.at/reactions CHATHISTORY replay Server-persisted reaction tallies, so reactions survive reconnects.
+freeq.at/pin / +freeq.at/unpin TAGMSG Pin/unpin a message in a channel.
+freeq.at/streaming PRIVMSG Marks an in-progress streamed message (agents editing as they generate).
+freeq.at/multiline PRIVMSG Legacy multi-line encoding; new senders use standard draft/multiline BATCHes.

Agent coordination

Tag On Meaning
+freeq.at/event PRIVMSG Typed coordination event: task_request, task_update, task_complete, …
+freeq.at/task-id PRIVMSG The task this event belongs to.
+freeq.at/payload PRIVMSG JSON payload for the event (machine-readable half of the message).
+freeq.at/parent, +freeq.at/ref PRIVMSG Event lineage / cross-references (delegation, evidence links).
+freeq.at/evidence-type PRIVMSG Kind of evidence attached to a task event.
+freeq.at/actor-class messages Declares the sender class (e.g. agent vs human) for client rendering.

Signed action cards (act)

The handoff/action system — signed, structured "cards" (see the act RFC in
the repo). The signature in +freeq.at/sig covers every act-* tag,
JCS-canonicalized; byte-compatible across the Rust and TypeScript SDKs with
shared test vectors (spec/act-signing-vectors.json).

Tag Meaning
+freeq.at/act Card type/version.
+freeq.at/act-id Stable card id.
+freeq.at/act-verb What is being asked/done.
+freeq.at/act-title Human-readable title.
+freeq.at/act-from Originating actor.

Governance & budgets

Tag Meaning
+freeq.at/governance Governance verb events (pause / resume / revoke / approve).
+freeq.at/reason Human-readable reason attached to a governance action.
+freeq.at/issued-by Who issued a capability/credential.
+freeq.at/limit, +freeq.at/spent, +freeq.at/unit Budgeted capabilities: spending caps for economic controls.

Voice / video (AV sessions)

Control plane for calls — see the AV protocol for the
full lifecycle. Media itself rides MoQ over QUIC, never IRC.

Tag Direction Meaning
+freeq.at/av-start client → server Open a call in this channel.
+freeq.at/av-join / +freeq.at/av-leave client → server Join / leave the call in av-id.
+freeq.at/av-end client → server End the call (originator/ops).
+freeq.at/av-id both Call identifier.
+freeq.at/av-instance both Per-device instance id (multi-device: your phone and laptop are distinct participants).
+freeq.at/av-state server → channel Broadcast call state (started, ended, participant changes).
+freeq.at/av-participants server → channel Current participant list.
+freeq.at/av-actor server → channel Who performed the state change.
+freeq.at/av-title both Optional call title.
+freeq.at/av-token server → client Media-plane auth token for the SFU.

Standard IRCv3 capabilities implemented

sasl (incl. ATPROTO-CHALLENGE) · message-tags · server-time ·
echo-message · batch · draft/chathistory · account-tag ·
account-notify · extended-join · away-notify · multi-prefix ·
draft/read-marker · draft/multiline — plus a iroh=<endpoint> cap
advertising the server's P2P endpoint.

This registry documents the wire as implemented in freeq-server and the
SDKs; when in doubt, the source is authoritative. Corrections welcome —
file an issue.

Supported by
Powered by