OptionalaccountProofSigner?: AccountIdentityProofSignerOptionalaudit?: AuditSinkOptional forensic audit sink inherited by groups. Omitted by default.
OptionalauditContext?: AuditContextOptionsRequired when audit is set; contains stable engine/account/session metadata.
Optionalcapabilities?: CapabilitiesThe capabilities to use for the client
OptionalclientId?: stringDefault d tag value (slot identifier) for key package events.
Used by KeyPackageManager.create when no explicit d is passed.
Set this to a stable per-device string (e.g. "my-app-desktop") so all
key packages from this client share a single addressable slot on relays.
OptionalconvergencePolicy?: ConvergencePolicyConvergence policy applied to every group: branch selection and the
maxRewindCommits rollback horizon. Set maxRewindCommits: Infinity to
preserve the whole MLS history and keep forks of any age eligible for
re-convergence. Defaults to the profile-1 policy
(DEFAULT_CONVERGENCE_POLICY).
OptionalcryptoProvider?: CryptoProviderThe crypto provider to use for cryptographic operations
The backend to store and load the groups from
OptionalingestionPool?: IngestionPoolOptionsIngestion-pool tuning applied to every group: max entries and max epoch-age
for undecryptable events held and retried as history grows. Defaults bound
it; a debugging tool that retains and processes everything can raise both
(e.g. a large maxSize and a very large maxEpochAge).
OptionalinviteStore?: GenericKeyValueStore<StoredInviteEntry>Key value store for the InviteManager class, if non is provided an InMemoryKeyValueStore is used
The backend for key package private material and publish tracking
The nostr relay pool to use for the client. Should implement GroupNostrInterface for group operations.
OptionalrewindStore?: GenericKeyValueStore<Uint8Array>Dedicated backend for the per-group full-fork history tree (the single
persisted source for fork recovery and the MarmotGroup.forkTree
API). When provided, the tree is persisted so fork recovery survives a
restart; back it with the same durable (ideally encrypted) backend as
groupStateStore. Optional — when omitted, history is in-memory only and is
rebuilt from the current tip after each restart.
The signer used for the clients identity
Optional Nostr-account proof signer. When provided, key packages this client publishes carry a
marmot.account-identity-proof.v1LeafNode extension required for darkmatter wire interop. Supply from a signer with raw BIP-340 access (the applesauceEventSignercannot sign the digest).