A published one-to-many group message. The sender_event_pubkey
locates the receiving chain; key_id + message_number index it.
ciphertext is the base64 NIP-44 v2 payload from the chain.
A full persistence snapshot of one group’s transport state: our sending
chain (if minted) and every receiving chain keyed by its sender-event
pubkey. The inverse of GroupManager::restore_group.
The plaintext ratchet header, transmitted NIP-44-encrypted in each
message. Wire field names are camelCase to match the reference
implementation’s JSON exactly (this is the interop-critical type).
A double-ratchet invite: the inviter’s ephemeral pubkey and the shared
“link” secret. The ephemeral secret is present only on the inviter’s own
copy (it is needed to receive responses).
A ready-to-publish encrypted message: the NIP-44-encrypted header and the
double-ratcheted ciphertext, plus the sender DH pubkey the recipient uses
to locate the chain.
Inner-rumor kind for a group chat message (reference CHAT_MESSAGE_KIND,
the NIP-17 private-DM kind). The plaintext inside an outer group event is a
JSON rumor of this kind.
Inner-rumor kind for a sender-key distribution, delivered pairwise over
each member’s 1:1 Double Ratchet session (reference
GROUP_SENDER_KEY_DISTRIBUTION_KIND).
NIP-44 version 2 — the spec-compliant format (secp256k1 ECDH, HKDF,
ChaCha20, HMAC-SHA256). Interoperates with Primal, Iris, and every other
conformant client.