# xmtp_elixir_sdk v0.1.2 - Table of Contents

An Elixir-first XMTP SDK backed by the official Rust XMTP SDK.

## Pages

- [XmtpElixirSdk](readme.md)
- [Changelog](changelog.md)
- [Phoenix Frontend Agent Guide For XMTP Rooms](phoenix-frontend-agent-guide.md)
- [XMTP Room Mirror Storage Contract](storage-contract.md)

## Modules

- [Xmtp.Identity](Xmtp.Identity.md): Shared XMTP identity setup for product apps.
- [Xmtp.Installations](Xmtp.Installations.md): Product-safe installation status and repair helpers.

- [Xmtp.Metadata.GroupAppData](Xmtp.Metadata.GroupAppData.md): Regent group appData codec.
- [Xmtp.Metadata.Profile](Xmtp.Metadata.Profile.md): Regent profile metadata codec for silent profile updates and room display.

- [Xmtp.Resolver](Xmtp.Resolver.md): Shared wallet and inbox resolver with bounded caching.

- [Xmtp.RoomPanel](Xmtp.RoomPanel.md): Product-safe room state for Phoenix UIs.
- [Xmtp.Rooms](Xmtp.Rooms.md): Canonical room action facade for product apps.

- [Xmtp.StorageContract](Xmtp.StorageContract.md): Describes the optional host-owned XMTP room mirror storage shape.
- [Xmtp.Sync](Xmtp.Sync.md): Phoenix/Postgres-friendly sync helpers for room mirrors.

- [XmtpElixirSdk](XmtpElixirSdk.md): The main entrypoint for the XMTP Elixir SDK.
- [XmtpElixirSdk.BrowserShim](XmtpElixirSdk.BrowserShim.md): Browser-shim contracts for browser-only SDK work.
- [XmtpElixirSdk.BrowserShim.Action](XmtpElixirSdk.BrowserShim.Action.md): Typed message envelopes for the browser-only bridge.
- [XmtpElixirSdk.BrowserShim.Action.Error](XmtpElixirSdk.BrowserShim.Action.Error.md): An error response sent back from the browser shim.

- [XmtpElixirSdk.BrowserShim.Action.Request](XmtpElixirSdk.BrowserShim.Action.Request.md): A request sent from Elixir to the browser shim.

- [XmtpElixirSdk.BrowserShim.Action.Response](XmtpElixirSdk.BrowserShim.Action.Response.md): A successful response sent back from the browser shim.

- [XmtpElixirSdk.BrowserShim.Action.StreamError](XmtpElixirSdk.BrowserShim.Action.StreamError.md): A streamed error emitted by the browser shim.

- [XmtpElixirSdk.BrowserShim.Action.StreamEvent](XmtpElixirSdk.BrowserShim.Action.StreamEvent.md): A streamed event emitted by the browser shim.

- [XmtpElixirSdk.BrowserShim.AsyncStream](XmtpElixirSdk.BrowserShim.AsyncStream.md): Small async stream primitive for browser-shim boundaries.
- [XmtpElixirSdk.BrowserShim.Opfs](XmtpElixirSdk.BrowserShim.Opfs.md): Request builders for browser-managed storage operations.
- [XmtpElixirSdk.Client](XmtpElixirSdk.Client.md): Plain XMTP client data.

- [XmtpElixirSdk.Clients](XmtpElixirSdk.Clients.md): Client lifecycle and identity operations.
- [XmtpElixirSdk.Codec](XmtpElixirSdk.Codec.md): Behaviour for custom content codecs.

- [XmtpElixirSdk.CodecRegistry](XmtpElixirSdk.CodecRegistry.md): Registry of custom content codecs keyed by canonical content type.

- [XmtpElixirSdk.Constants](XmtpElixirSdk.Constants.md): Public URL constants and metadata helpers for the SDK surface.

- [XmtpElixirSdk.Content](XmtpElixirSdk.Content.md): Core content helpers used by messages and conversations.

- [XmtpElixirSdk.Content.Actions](XmtpElixirSdk.Content.Actions.md): Action list content.
- [XmtpElixirSdk.Content.Attachment](XmtpElixirSdk.Content.Attachment.md): Inline attachment.
- [XmtpElixirSdk.Content.GroupUpdated](XmtpElixirSdk.Content.GroupUpdated.md): Group update content.
- [XmtpElixirSdk.Content.Intent](XmtpElixirSdk.Content.Intent.md): Intent content.
- [XmtpElixirSdk.Content.Markdown](XmtpElixirSdk.Content.Markdown.md): Markdown content.
- [XmtpElixirSdk.Content.MultiRemoteAttachment](XmtpElixirSdk.Content.MultiRemoteAttachment.md): Multiple remote attachments.
- [XmtpElixirSdk.Content.Reaction](XmtpElixirSdk.Content.Reaction.md): Reaction content.
- [XmtpElixirSdk.Content.ReadReceipt](XmtpElixirSdk.Content.ReadReceipt.md): Read receipt marker.
- [XmtpElixirSdk.Content.RemoteAttachment](XmtpElixirSdk.Content.RemoteAttachment.md): Remote attachment.
- [XmtpElixirSdk.Content.Reply](XmtpElixirSdk.Content.Reply.md): Reply content.
- [XmtpElixirSdk.Content.Text](XmtpElixirSdk.Content.Text.md): Plain text content.
- [XmtpElixirSdk.Content.TransactionReference](XmtpElixirSdk.Content.TransactionReference.md): Transaction reference content.
- [XmtpElixirSdk.Content.Unknown](XmtpElixirSdk.Content.Unknown.md): Unknown content payload.
- [XmtpElixirSdk.Content.WalletCall](XmtpElixirSdk.Content.WalletCall.md): Wallet call.
- [XmtpElixirSdk.Content.WalletSendCalls](XmtpElixirSdk.Content.WalletSendCalls.md): Wallet send calls content.
- [XmtpElixirSdk.Conversation](XmtpElixirSdk.Conversation.md): Plain XMTP conversation data.

- [XmtpElixirSdk.Conversations](XmtpElixirSdk.Conversations.md): Find, create, and list conversations.
- [XmtpElixirSdk.Conversions](XmtpElixirSdk.Conversions.md): Public conversion helpers for stable SDK-facing shapes.

- [XmtpElixirSdk.Conversions.SafeConversation](XmtpElixirSdk.Conversions.SafeConversation.md): Stable conversation shape for public utility helpers.
- [XmtpElixirSdk.Date](XmtpElixirSdk.Date.md): Public timestamp helpers for the SDK's nanosecond-based time values.

- [XmtpElixirSdk.Debug](XmtpElixirSdk.Debug.md): Debug and statistics operations.

- [XmtpElixirSdk.DecodedMessage](XmtpElixirSdk.DecodedMessage.md): Message surface with custom content decoded through a codec registry.

- [XmtpElixirSdk.Error](XmtpElixirSdk.Error.md): Structured SDK error used throughout the core modules.

- [XmtpElixirSdk.Events](XmtpElixirSdk.Events.md): Runtime-scoped event subscriptions and delivery.

- [XmtpElixirSdk.Events.ConsentUpdated](XmtpElixirSdk.Events.ConsentUpdated.md): Consent records emitted after `Preferences.set_consent_states/2`.
- [XmtpElixirSdk.Events.PreferenceUpdated](XmtpElixirSdk.Events.PreferenceUpdated.md): Preference updates emitted by `Preferences.sync/1` and consent changes.
- [XmtpElixirSdk.Groups](XmtpElixirSdk.Groups.md): Group membership, roles, permissions, and metadata.
- [XmtpElixirSdk.InboxId](XmtpElixirSdk.InboxId.md): Public inbox ID helpers for generating and resolving inbox IDs.

- [XmtpElixirSdk.InboxState](XmtpElixirSdk.InboxState.md): Public inbox state helpers for lookups and common state checks.

- [XmtpElixirSdk.Installations](XmtpElixirSdk.Installations.md): Public helpers for working with installations and revocation flows.

- [XmtpElixirSdk.Messages](XmtpElixirSdk.Messages.md): Send, list, count, publish, and decode messages.
- [XmtpElixirSdk.Metadata](XmtpElixirSdk.Metadata.md): Public metadata helpers for field names and group update inspection.

- [XmtpElixirSdk.Native](XmtpElixirSdk.Native.md): Native-backed XMTP operations.
- [XmtpElixirSdk.Preferences](XmtpElixirSdk.Preferences.md): Consent, inbox-state, and preference-sync operations.
- [XmtpElixirSdk.Runtime](XmtpElixirSdk.Runtime.md): Named supervised XMTP runtime.

- [XmtpElixirSdk.Signer](XmtpElixirSdk.Signer.md): Canonical signer payload helpers for signature-request flows.

- [XmtpElixirSdk.Signer.Eoa](XmtpElixirSdk.Signer.Eoa.md): Canonical externally owned account signer payload.
- [XmtpElixirSdk.Signer.Scw](XmtpElixirSdk.Signer.Scw.md): Canonical smart-contract wallet signer payload.
- [XmtpElixirSdk.Storage](XmtpElixirSdk.Storage.md): Local storage helper used by the SDK core.

- [XmtpElixirSdk.Sync](XmtpElixirSdk.Sync.md): Archive, restore, and device-sync operations.
- [XmtpElixirSdk.Types](XmtpElixirSdk.Types.md): Core SDK value objects and enum helpers.

- [XmtpElixirSdk.Types.Action](XmtpElixirSdk.Types.Action.md): Single action option.
- [XmtpElixirSdk.Types.Actions](XmtpElixirSdk.Types.Actions.md): Action list content.
- [XmtpElixirSdk.Types.ApiStats](XmtpElixirSdk.Types.ApiStats.md): API call statistics.
- [XmtpElixirSdk.Types.ArchiveMetadata](XmtpElixirSdk.Types.ArchiveMetadata.md): Archive metadata.
- [XmtpElixirSdk.Types.ArchiveOptions](XmtpElixirSdk.Types.ArchiveOptions.md): Archive options.
- [XmtpElixirSdk.Types.AvailableArchiveInfo](XmtpElixirSdk.Types.AvailableArchiveInfo.md): Available archive info.
- [XmtpElixirSdk.Types.ConsentUpdate](XmtpElixirSdk.Types.ConsentUpdate.md): Consent update from a preference stream.
- [XmtpElixirSdk.Types.ContentTypeId](XmtpElixirSdk.Types.ContentTypeId.md): Content type identifier.
- [XmtpElixirSdk.Types.Conversation](XmtpElixirSdk.Types.Conversation.md): Conversation snapshot.
- [XmtpElixirSdk.Types.ConversationDebugInfo](XmtpElixirSdk.Types.ConversationDebugInfo.md): Conversation debug data.
- [XmtpElixirSdk.Types.ConversationMetadata](XmtpElixirSdk.Types.ConversationMetadata.md): Conversation metadata.
- [XmtpElixirSdk.Types.CreateDmOptions](XmtpElixirSdk.Types.CreateDmOptions.md): DM creation options.
- [XmtpElixirSdk.Types.CreateGroupOptions](XmtpElixirSdk.Types.CreateGroupOptions.md): Group creation options.
- [XmtpElixirSdk.Types.Cursor](XmtpElixirSdk.Types.Cursor.md): Conversation cursor.
- [XmtpElixirSdk.Types.DisappearingSettings](XmtpElixirSdk.Types.DisappearingSettings.md): Message disappearing settings.
- [XmtpElixirSdk.Types.GroupMember](XmtpElixirSdk.Types.GroupMember.md): Group member snapshot.
- [XmtpElixirSdk.Types.GroupSyncSummary](XmtpElixirSdk.Types.GroupSyncSummary.md): Device sync summary.
- [XmtpElixirSdk.Types.GroupUpdated](XmtpElixirSdk.Types.GroupUpdated.md): Group update content.
- [XmtpElixirSdk.Types.HmacKey](XmtpElixirSdk.Types.HmacKey.md): HMAC key material.
- [XmtpElixirSdk.Types.HmacKeyEntry](XmtpElixirSdk.Types.HmacKeyEntry.md): Conversation HMAC key entry.
- [XmtpElixirSdk.Types.Identifier](XmtpElixirSdk.Types.Identifier.md): Account identifier.
- [XmtpElixirSdk.Types.IdentityStats](XmtpElixirSdk.Types.IdentityStats.md): Identity call statistics.
- [XmtpElixirSdk.Types.InboxState](XmtpElixirSdk.Types.InboxState.md): Inbox state snapshot.
- [XmtpElixirSdk.Types.Installation](XmtpElixirSdk.Types.Installation.md): Installation snapshot.
- [XmtpElixirSdk.Types.Intent](XmtpElixirSdk.Types.Intent.md): Intent content.
- [XmtpElixirSdk.Types.KeyPackageStatus](XmtpElixirSdk.Types.KeyPackageStatus.md): Key package status.
- [XmtpElixirSdk.Types.LastReadTime](XmtpElixirSdk.Types.LastReadTime.md): Per-inbox last-read timestamp.
- [XmtpElixirSdk.Types.ListConversationsOptions](XmtpElixirSdk.Types.ListConversationsOptions.md): Conversation listing options.
- [XmtpElixirSdk.Types.ListMessagesOptions](XmtpElixirSdk.Types.ListMessagesOptions.md): Message listing options.
- [XmtpElixirSdk.Types.Message](XmtpElixirSdk.Types.Message.md): Stored message.
- [XmtpElixirSdk.Types.MetadataFieldChange](XmtpElixirSdk.Types.MetadataFieldChange.md): Conversation metadata field change.
- [XmtpElixirSdk.Types.MultiRemoteAttachment](XmtpElixirSdk.Types.MultiRemoteAttachment.md): Multiple remote attachments.
- [XmtpElixirSdk.Types.PermissionPolicySet](XmtpElixirSdk.Types.PermissionPolicySet.md): Per-action permission policies.
- [XmtpElixirSdk.Types.Permissions](XmtpElixirSdk.Types.Permissions.md): Conversation permissions.
- [XmtpElixirSdk.Types.PreferenceUpdate](XmtpElixirSdk.Types.PreferenceUpdate.md): Preference update from a preference stream.
- [XmtpElixirSdk.Types.SendOptions](XmtpElixirSdk.Types.SendOptions.md): Message send options.
- [XmtpElixirSdk.Types.SyncResult](XmtpElixirSdk.Types.SyncResult.md): Sync result.
- [XmtpElixirSdk.Types.TransactionReference](XmtpElixirSdk.Types.TransactionReference.md): Transaction reference content.
- [XmtpElixirSdk.Types.WalletCall](XmtpElixirSdk.Types.WalletCall.md): Wallet call.
- [XmtpElixirSdk.Types.WalletSendCalls](XmtpElixirSdk.Types.WalletSendCalls.md): Wallet send calls content.

## Mix Tasks

- [mix compile.xmtp_native](Mix.Tasks.Compile.XmtpNative.md)

