Skip to content

XMTP error code glossary

This document lists all error codes defined in LibXMTP, the core library underlying the XMTP SDKs. Each error code is a unique identifier returned to help diagnose issues.

29 error types across 9 crates with 327 total error codes.

mobile

GenericError enum

bindings/mobile/src/lib.rs
Error CodeDescription
GenericError::GenericGeneric error. Unclassified error with string message. May be retryable.
GenericError::FailedToConvertToU32Failed to convert to u32. Numeric conversion failed. Not retryable.
GenericError::JoinErrorJoin error. Tokio task join failed. Not retryable.
GenericError::IoErrorI/O error. File or network I/O failed. May be retryable.
GenericError::LogInitLog init error. Failed to initialize log file. Not retryable.
GenericError::ReloadLogReload log error. Failed to reload log subscriber. Not retryable.
GenericError::LogLog error. Error initializing debug log file. Not retryable.
GenericError::ExpiredTimer expired. Operation timed out. Retryable.

xmtp_api

ApiError enum

crates/xmtp_api/src/lib.rs
Error CodeDescription
ApiError::ApiAPI client error. API operation error (network, deserialization, or other). May be retryable.
ApiError::MismatchedKeyPackagesMismatched key packages. Number of key packages doesn't match installation keys. Not retryable.
ApiError::ProtoConversionProto conversion error. Protobuf conversion failed. Not retryable.

xmtp_api_d14n

MessageBackendBuilderError enum

crates/xmtp_api_d14n/src/queries/builder.rs
Error CodeDescription
MessageBackendBuilderError::MissingV3HostMissing V3 host. V3 host URL not set on builder. Not retryable.
MessageBackendBuilderError::GrpcBuildergRPC builder error. gRPC client builder failed. Not retryable.
MessageBackendBuilderError::MultiNodeMulti-node error. Multi-node client builder failed. Not retryable.
MessageBackendBuilderError::ScwSCW verifier error. Smart contract wallet verifier error. Not retryable.
MessageBackendBuilderError::CursorStoreNotReplacedCursor store not replaced. Stateful client cursor store not set. Not retryable.
MessageBackendBuilderError::UninitializedFieldRead/write client builder error. Read/write client builder failed. Not retryable.
MessageBackendBuilderError::ReadonlyBuilderReadonly builder error. Readonly client builder failed. Not retryable.
MessageBackendBuilderError::BuilderBuilder error. Uninitialized field in builder. Not retryable.
MessageBackendBuilderError::UnsupportedClientUnsupported client. Client kind is not supported. Not retryable.

xmtp_api_grpc

GrpcBuilderError enum

crates/xmtp_api_grpc/src/error.rs
Error CodeDescription
GrpcBuilderError::MissingAppVersionMissing app version. App version not set on builder. Not retryable.
GrpcBuilderError::MissingLibxmtpVersionMissing LibXMTP version. Core library version not set. Not retryable.
GrpcBuilderError::MissingHostUrlMissing host URL. Host URL not set on builder. Not retryable.
GrpcBuilderError::MissingXmtpdGatewayUrlMissing gateway URL. xmtpd gateway URL not set. Not retryable.
GrpcBuilderError::MetadataMetadata error. Invalid gRPC metadata value. Not retryable.
GrpcBuilderError::InvalidUriInvalid URI. URI is malformed. Not retryable.
GrpcBuilderError::UrlURL parse error. URL string is malformed. Not retryable.
GrpcBuilderError::TransportTransport error. gRPC transport creation failed (native only). Not retryable.

GrpcError enum

crates/xmtp_api_grpc/src/error.rs
Error CodeDescription
GrpcError::InvalidUriInvalid URI. URI for channel creation is malformed. Retryable.
GrpcError::MetadataMetadata error. Invalid gRPC metadata value. Retryable.
GrpcError::StatusgRPC status error. gRPC call returned error status. Retryable.
GrpcError::NotFoundNot found. Requested resource not found, empty, or proto conversion failed. Retryable.
GrpcError::UnexpectedPayloadUnexpected payload. Payload not expected in response. Retryable.
GrpcError::MissingPayloadMissing payload. Expected payload not in response. Retryable.
GrpcError::DecodeDecode error. Protobuf decoding failed. Retryable.
GrpcError::UnreachableUnreachable. Infallible error -- should never occur. Retryable.
GrpcError::TransportTransport error. gRPC transport layer error (native only). Retryable.

xmtp_db

ConnectionError enum

crates/xmtp_db/src/encrypted_store/mod.rs
Error CodeDescription
ConnectionError::DatabaseDatabase error. Diesel database query error. May be retryable.
ConnectionError::DecodeErrorDecode error. Protobuf decode failed within DB layer. Not retryable.
ConnectionError::DisconnectInTransactionDisconnect in transaction. Cannot disconnect while transaction is active. Retryable.
ConnectionError::ReconnectInTransactionReconnect in transaction. Cannot reconnect while transaction is active. Retryable.
ConnectionError::InvalidQueryInvalid query. Invalid query parameters or configuration. Not retryable.
ConnectionError::InvalidVersionInvalid version. DB migration version mismatch -- running a newer DB on older LibXMTP. Not retryable.

NotFound enum

crates/xmtp_db/src/errors.rs
Error CodeDescription
NotFound::GroupByWelcomeGroup with welcome ID not found. No group matches the welcome ID. Retryable.
NotFound::GroupByIdGroup with ID not found. Group does not exist in local DB. Retryable.
NotFound::InstallationTimeForGroupInstallation time for group not found. Missing installation timestamp. Retryable.
NotFound::InboxIdForAddressInbox ID for address not found. Address has no associated inbox. Retryable.
NotFound::MessageByIdMessage ID not found. Message does not exist in local DB. Retryable.
NotFound::DmByInboxDM by inbox ID not found. No DM conversation with this inbox. Retryable.
NotFound::IntentForToPublishIntent for ToPublish not found. Failed to transition intent from ToPublish to Published. Retryable.
NotFound::IntentForPublishIntent for Published not found. Intent with specified ID not in expected state. Retryable.
NotFound::IntentForCommittedIntent for Committed not found. Failed to transition intent from Published to Committed. Retryable.
NotFound::IntentByIdIntent by ID not found. Intent does not exist. Retryable.
NotFound::RefreshStateByIdKindAndOriginatorRefresh state not found. No refresh state matching criteria. Retryable.
NotFound::CipherSaltCipher salt not found. Database encryption salt missing. Retryable.
NotFound::SyncGroupSync group not found. No sync group for this installation. Retryable.
NotFound::KeyPackageReferenceKey package reference not found. Key package handle not in store. Retryable.
NotFound::MlsGroupMLS group not found. OpenMLS group not in local state. Retryable.
NotFound::PostQuantumPrivateKeyPost-quantum private key not found. PQ key pair not in store. Retryable.
NotFound::KeyPackageKey package not found. Key package not in store. Retryable.

PlatformStorageError enum

crates/xmtp_db/src/encrypted_store/database/native.rs
Error CodeDescription
PlatformStorageError::PoolPool error. Database connection pool error. Retryable.
PlatformStorageError::DbConnectionDB connection error. R2D2 connection manager error. Not retryable.
PlatformStorageError::PoolNeedsConnectionPool needs connection. Pool must reconnect before use. Retryable.
PlatformStorageError::PoolRequiresPathPool requires path. DB pool requires a persistent file path. Not retryable.
PlatformStorageError::SqlCipherNotLoadedSQLCipher not loaded. Encryption key given but SQLCipher not available. Retryable.
PlatformStorageError::SqlCipherKeyIncorrectSQLCipher key incorrect. PRAGMA key or salt has wrong value. Not retryable.
PlatformStorageError::DatabaseLockedDatabase locked. Database file is locked by another process. Retryable.
PlatformStorageError::DieselResultDiesel result error. Database query error. May be retryable.
PlatformStorageError::NotFoundNot found. Record not found in storage. Not retryable.
PlatformStorageError::IoI/O error. File system I/O error. Retryable.
PlatformStorageError::FromHexHex decode error. Failed to decode hex string. Not retryable.
PlatformStorageError::DieselConnectDiesel connection error. Failed to establish connection. Retryable.
PlatformStorageError::BoxedBoxed error. Wrapped dynamic error. Not retryable.

PlatformStorageError enum

crates/xmtp_db/src/encrypted_store/database/wasm.rs
Error CodeDescription
PlatformStorageError::SAHOPFS error. Origin Private File System (OPFS) error. Retryable.
PlatformStorageError::ConnectionConnection error. Diesel connection error. Retryable.
PlatformStorageError::DieselResultDiesel result error. Database query error. Retryable.

SqlKeyStoreError enum

crates/xmtp_db/src/sql_key_store.rs

Errors thrown by the key store. General error type for Mls Storage Trait

Error CodeDescription
SqlKeyStoreError::UnsupportedValueTypeBytesUnsupported value type. Key store does not allow storing serialized values. Not retryable.
SqlKeyStoreError::UnsupportedMethodUnsupported method. PSK operations not supported by this key store. Not retryable.
SqlKeyStoreError::SerializationErrorSerialization error. Failed to serialize value for key store. Not retryable.
SqlKeyStoreError::NotFoundValue not found. Requested key not in OpenMLS key store. Not retryable.
SqlKeyStoreError::StorageDatabase error. Underlying Diesel database error. May be retryable.
SqlKeyStoreError::ConnectionConnection error. Database connection error. Retryable.

StorageError enum

crates/xmtp_db/src/errors.rs
Error CodeDescription
StorageError::DieselConnectDiesel connection error. Failed to connect to SQLite. Retryable.
StorageError::DieselResultDiesel result error. Database query returned an error. May be retryable.
StorageError::MigrationErrorMigration error. Database migration failed. Not retryable.
StorageError::NotFoundNot found. Requested record does not exist. Not retryable.
StorageError::DuplicateDuplicate item. Attempted to insert a duplicate record. Not retryable.
StorageError::OpenMlsStorageOpenMLS storage error. OpenMLS key store operation failed. Not retryable.
StorageError::IntentionalRollbackIntentional rollback. Transaction was intentionally rolled back. Not retryable.
StorageError::DbDeserializeDB deserialization failed. Failed to deserialize data from database. Not retryable.
StorageError::DbSerializeDB serialization failed. Failed to serialize data for database. Not retryable.
StorageError::BuilderBuilder error. Required fields missing from stored type. Not retryable.
StorageError::PlatformPlatform storage error. Platform-specific storage error. May be retryable.
StorageError::ProstProtobuf decode error. Failed to decode protobuf from database. Not retryable.
StorageError::ConversionConversion error. Proto conversion failed. Not retryable.
StorageError::ConnectionConnection error. Database connection error. Retryable.
StorageError::InvalidHmacLengthInvalid HMAC length. HMAC key must be 42 bytes. Not retryable.
StorageError::GroupIntentGroup intent error. Group intent processing failed. May be retryable.

xmtp_id

AccountIdError enum

crates/xmtp_id/src/associations/signature.rs
Error CodeDescription
AccountIdError::InvalidChainIdInvalid chain ID. Chain ID is not a valid u64. Not retryable.
AccountIdError::MissingEip155PrefixMissing EIP-155 prefix. Chain ID is not prefixed with eip155:. Not retryable.

AssociationError enum

crates/xmtp_id/src/associations/association_log.rs
Error CodeDescription
AssociationError::GenericGeneric association error. Unclassified association error. Not retryable.
AssociationError::MultipleCreateMultiple create operations. Duplicate inbox creation detected. Not retryable.
AssociationError::NotCreatedXID not yet created. Operating on inbox that doesn't exist yet. Not retryable.
AssociationError::MemberNotAllowedMember not allowed. Member kind cannot add the specified kind. Not retryable.
AssociationError::MissingExistingMemberMissing existing member. Required signer not found or signer identity mismatch. Not retryable.
AssociationError::LegacySignatureReuseLegacy signature reuse. Legacy delegated signature used in disallowed context. Not retryable.
AssociationError::NewMemberIdSignatureMismatchNew member ID signature mismatch. Signer doesn't match new member identifier. Not retryable.
AssociationError::WrongInboxIdWrong Inbox ID. Incorrect inbox_id in association. Not retryable.
AssociationError::SignatureNotAllowedSignature not allowed. Signature type not permitted for this role. Not retryable.
AssociationError::ReplayReplay detected. Replayed identity update detected. Not retryable.
AssociationError::MissingIdentityUpdateMissing identity update. Required identity update not provided. Not retryable.
AssociationError::ChainIdMismatchChain ID mismatch. Smart contract wallet chain ID changed. Not retryable.
AssociationError::InvalidAccountAddressInvalid account address. Address is not 42-char hex starting with 0x. Not retryable.
AssociationError::NotIdentifierNot an identifier. Value is not a valid public identifier. Not retryable.

DeserializationError enum

crates/xmtp_id/src/associations/serialization.rs
Error CodeDescription
DeserializationError::MissingActionMissing action. Identity action not present in update. Not retryable.
DeserializationError::MissingUpdateMissing update. Identity update not present. Not retryable.
DeserializationError::MissingMemberIdentifierMissing member identifier. Member identifier field empty. Not retryable.
DeserializationError::SignatureMissing signature. Signature field not present. Not retryable.
DeserializationError::MissingMemberMissing member. Member field not present. Not retryable.
DeserializationError::DecodeDecode error. Protobuf decoding failed. Not retryable.
DeserializationError::InvalidAccountIdInvalid account ID. CAIP-10 account ID is malformed. Not retryable.
DeserializationError::InvalidPasskeyInvalid passkey. Passkey data is malformed. Not retryable.
DeserializationError::InvalidHashInvalid hash. Hash must be 32 bytes. Not retryable.
DeserializationError::UnspecifiedUnspecified value. An unrecognized or unsupported value was encountered. Not retryable.
DeserializationError::DeprecatedDeprecated field. A deprecated field was used. Not retryable.
DeserializationError::Ed25519Ed25519 key error. Failed to create public key from bytes. Not retryable.
DeserializationError::BincodeUnable to deserialize. Bincode deserialization failed. Not retryable.

SignatureError enum

crates/xmtp_id/src/associations/signature.rs
Error CodeDescription
SignatureError::MalformedLegacyKeyMalformed legacy key. Legacy key format is invalid. Not retryable.
SignatureError::Ed25519ErrorEd25519 signature failed. Ed25519 signature verification failed. Not retryable.
SignatureError::TryFromSliceErrorSlice conversion error. Byte slice conversion failed. Not retryable.
SignatureError::InvalidSignature validation failed. Signature did not verify. Not retryable.
SignatureError::UrlParseErrorURL parse error. URL parsing failed. Not retryable.
SignatureError::DecodeErrorDecode error. Protobuf decoding failed. Not retryable.
SignatureError::SignerSigner error. Cryptographic signer operation failed. Not retryable.
SignatureError::InvalidPublicKeyInvalid public key. Public key is not valid. Not retryable.
SignatureError::InvalidClientDataInvalid client data. Client data is malformed. Not retryable.
SignatureError::SignerErrorAlloy signer error. Ethereum signer failed. Not retryable.
SignatureError::SignatureAlloy signature error. Ethereum signature parsing failed. Not retryable.

SignatureRequestError enum

crates/xmtp_id/src/associations/builder.rs
Error CodeDescription
SignatureRequestError::UnknownSignerUnknown signer. Signer not recognized for this request. Not retryable.
SignatureRequestError::MissingSignerMissing signer. Required signature was not provided. Not retryable.
SignatureRequestError::BlockNumberUnable to get block number. Block number not returned after successful SCW verification. May be retryable.

VerifierError enum

crates/xmtp_id/src/scw_verifier/mod.rs
Error CodeDescription
VerifierError::UnexpectedERC6492ResultUnexpected ERC-6492 result. Smart contract wallet signature verification returned unexpected result. Not retryable.
VerifierError::ProviderProvider error. Ethereum RPC provider error. Retryable.
VerifierError::UrlURL parse error. Verifier URL is malformed. Not retryable.
VerifierError::IoI/O error. I/O operation failed. May be retryable.
VerifierError::SerdeSerialization error. JSON serialization/deserialization failed. Not retryable.
VerifierError::MalformedEipUrlMalformed chain ID. Chain ID string lacks expected eip155: prefix. Not retryable.
VerifierError::NoVerifierNo verifier. Verifier not configured. Retryable.
VerifierError::InvalidHashInvalid hash. Hash has invalid length or format. Not retryable.
VerifierError::OtherOther error. Unclassified verifier error. May be retryable.

xmtp_mls

ClientBuilderError enum

crates/xmtp_mls/src/builder.rs
Error CodeDescription
ClientBuilderError::MissingParameterMissing parameter. Required builder parameter not provided. Not retryable.
ClientBuilderError::ClientErrorClient error. Client operation failed during build. May be retryable.
ClientBuilderError::StorageErrorStorage error. Storage initialization failed. Not retryable.
ClientBuilderError::IdentityIdentity error. Identity creation/loading failed. Not retryable.
ClientBuilderError::WrappedApiErrorAPI error. API client initialization failed. Retryable.
ClientBuilderError::GroupErrorGroup error. Group operation failed during build. Not retryable.
ClientBuilderError::DeviceSyncDevice sync error. Device sync setup failed. Not retryable.
ClientBuilderError::OfflineBuildFailedOffline build failed. Builder tried to access the network in offline mode. Not retryable.

ClientError enum

crates/xmtp_mls/src/client.rs
Error CodeDescription
ClientError::PublishErrorCould not publish. Failed to publish messages to the network. May be retryable.
ClientError::StorageStorage error. Database operation failed. May be retryable.
ClientError::ApiAPI error. Network request to XMTP backend failed. Retryable.
ClientError::IdentityIdentity error. Problem with identity operations. Not retryable.
ClientError::TlsErrorTLS Codec error. Encoding/decoding MLS TLS structures failed. Not retryable.
ClientError::KeyPackageVerificationKey package verification failed. Invalid key package received from network. Not retryable.
ClientError::StreamInconsistencyStream inconsistency. Message stream state became inconsistent. Not retryable.
ClientError::AssociationAssociation error. Identity association operation failed. Not retryable.
ClientError::SignatureValidationSignature validation error. A signature failed verification. Not retryable.
ClientError::IdentityUpdateIdentity update error. Failed to process identity update. Not retryable.
ClientError::SignatureRequestSignature request error. Failed to create/process signature request. Not retryable.
ClientError::GroupGroup error. Group operation failed. May be retryable.
ClientError::LocalEventLocal event error. Failed to process local event. Not retryable.
ClientError::DbDatabase connection error. Connection to database failed. Retryable.
ClientError::GenericGeneric error. Unclassified error. May be retryable.
ClientError::MlsStoreMLS store error. OpenMLS key store operation failed. Not retryable.
ClientError::EnrichMessageMessage enrichment error. Failed to enrich message content. Not retryable.

DeviceSyncError enum

crates/xmtp_mls/src/groups/device_sync/mod.rs
Error CodeDescription
DeviceSyncError::IOI/O error. File system or network I/O failed. May be retryable.
DeviceSyncError::SerdeSerialization error. JSON serialization/deserialization failed. Retryable.
DeviceSyncError::AesGcmAES-GCM encryption error. Encryption/decryption of sync payload failed. Retryable.
DeviceSyncError::ReqwestHTTP request error. HTTP request for sync payload failed. Retryable.
DeviceSyncError::ConversionType conversion error. Internal type conversion failed. Retryable.
DeviceSyncError::UTF8UTF-8 error. String is not valid UTF-8. Retryable.
DeviceSyncError::NoPendingRequestNo pending request. No pending sync request to reply to. Retryable.
DeviceSyncError::InvalidPayloadInvalid payload. Sync message payload is malformed. Retryable.
DeviceSyncError::UnspecifiedDeviceSyncKindUnspecified sync kind. Device sync kind not specified. Not retryable.
DeviceSyncError::SyncPayloadTooOldSync payload too old. Sync reply is outdated. Retryable.
DeviceSyncError::BincodeBincode error. Binary serialization failed. Retryable.
DeviceSyncError::ArchiveArchive error. Sync archive operation failed. Retryable.
DeviceSyncError::DecodeDecode error. Protobuf decoding failed. Retryable.
DeviceSyncError::AlreadyAcknowledgedAlready acknowledged. Sync interaction already acknowledged. Not retryable.
DeviceSyncError::MissingOptionsMissing options. Sync request options not provided. Retryable.
DeviceSyncError::MissingSyncServerUrlMissing sync server URL. Sync server URL not configured. Not retryable.
DeviceSyncError::MissingSyncGroupMissing sync group. Sync group not found. Not retryable.
DeviceSyncError::SyncSync summary. Sync completed with errors. May be retryable.
DeviceSyncError::MlsStoreMLS store error. OpenMLS key store operation failed. Retryable.
DeviceSyncError::RecvReceive error. Channel receive failed. Retryable.
DeviceSyncError::MissingFieldMissing field. Required field not present. Retryable.
DeviceSyncError::MissingPayloadMissing payload. Sync payload not found for PIN. Retryable.

EnrichMessageError enum

crates/xmtp_mls/src/messages/enrichment.rs
Error CodeDescription
EnrichMessageError::CodecErrorCodec decode error. Content type codec failed. Not retryable.
EnrichMessageError::DecodeErrorDecode error. Protobuf decoding failed. Not retryable.

GroupError enum

crates/xmtp_mls/src/groups/error.rs
Error CodeDescription
GroupError::UserLimitExceededMax user limit exceeded. Attempted to add too many members. Not retryable.
GroupError::MissingSequenceIdSequence ID not found. Missing sequence ID in local database. Not retryable.
GroupError::AddressNotFoundAddresses not found. Specified addresses have no XMTP identity. Not retryable.
GroupError::WrappedApiAPI error. Network request failed. Retryable.
GroupError::InvalidGroupMembershipInvalid group membership. Group membership state is invalid. Not retryable.
GroupError::LeaveCantProcessedLeave cannot be processed. Group leave validation failed. Not retryable.
GroupError::StorageStorage error. Database operation failed. May be retryable.
GroupError::IntentIntent error. Failed to process group intent. Not retryable.
GroupError::CreateMessageCreate message error. MLS message creation failed. Not retryable.
GroupError::TlsErrorTLS codec error. MLS TLS encoding/decoding failed. Not retryable.
GroupError::UpdateGroupMembershipUpdate group membership error. Failed to update group membership. May be retryable.
GroupError::GroupCreateGroup create error. MLS group creation failed. May be retryable.
GroupError::SelfUpdateSelf update error. MLS self-update operation failed. May be retryable.
GroupError::WelcomeErrorWelcome error. Processing MLS welcome message failed. May be retryable.
GroupError::InvalidExtensionInvalid extension. MLS extension validation failed. Not retryable.
GroupError::SignatureInvalid signature. MLS signature verification failed. Not retryable.
GroupError::ClientClient error. Client operation failed within group. May be retryable.
GroupError::ReceiveErrorReceive error. Processing received group message failed. May be retryable.
GroupError::ReceiveErrorsReceive errors. Multiple message processing failures. May be retryable.
GroupError::AddressValidationAddress validation error. An address/identifier is invalid. Not retryable.
GroupError::LocalEventLocal event error. Failed to process local event. Not retryable.
GroupError::InvalidPublicKeysInvalid public keys. Keys are not valid Ed25519 public keys. Not retryable.
GroupError::CommitValidationCommit validation error. MLS commit validation failed. May be retryable.
GroupError::IdentityIdentity error. Identity operation failed. Not retryable.
GroupError::ConversionErrorConversion error. Proto conversion failed. Not retryable.
GroupError::CryptoErrorCrypto error. Cryptographic operation failed. Not retryable.
GroupError::CreateGroupContextExtProposalErrorGroup context proposal error. Failed to create group context extension proposal. May be retryable.
GroupError::CredentialErrorCredential error. MLS credential validation failed. Not retryable.
GroupError::LeafNodeErrorLeaf node error. MLS leaf node operation failed. Not retryable.
GroupError::InstallationDiffInstallation diff error. Installation diff computation failed. May be retryable.
GroupError::NoPSKSupportNo PSK support. Pre-shared keys are not supported. Not retryable.
GroupError::SqlKeyStoreSQL key store error. OpenMLS key store operation failed. May be retryable.
GroupError::SyncFailedToWaitSync failed to wait. Waiting for intent sync failed. Retryable.
GroupError::MissingPendingCommitMissing pending commit. Expected pending commit not found. Not retryable.
GroupError::ProcessIntentProcess intent error. Failed to process group intent. May be retryable.
GroupError::LockUnavailableFailed to load lock. Concurrency lock acquisition failed. Retryable.
GroupError::TooManyCharactersExceeded max characters. Field value exceeds character limit. Not retryable.
GroupError::GroupPausedUntilUpdateGroup paused until update. Group is paused until a newer version is available. Not retryable.
GroupError::GroupInactiveGroup is inactive. Operation on an inactive group. Not retryable.
GroupError::SyncSync summary. Sync operation completed with errors. May be retryable.
GroupError::DbDatabase connection error. Database connection failed. Retryable.
GroupError::MlsStoreMLS store error. OpenMLS key store failed. Not retryable.
GroupError::MetadataPermissionsErrorMetadata permissions error. Metadata permission check failed. Not retryable.
GroupError::FailedToVerifyInstallationsFailed to verify installations. Installation verification failed. Not retryable.
GroupError::NoWelcomesToSendNo welcomes to send. No welcome messages to send to new members. Not retryable.
GroupError::CodecErrorCodec error. Content type codec failed. Retryable.
GroupError::WrapWelcomeWrap welcome error. Failed to wrap welcome message. Not retryable.
GroupError::UnwrapWelcomeUnwrap welcome error. Failed to unwrap welcome message. Not retryable.
GroupError::WelcomeDataNotFoundWelcome data not found. Welcome data missing from topic. Not retryable.
GroupError::UninitializedResultResult not initialized. Expected result was not initialized. Not retryable.
GroupError::DieselDiesel ORM error. Raw database query failed. May be retryable.
GroupError::UninitializedFieldUninitialized field. Builder field not initialized. Not retryable.
GroupError::DeleteMessageDelete message error. Failed to delete message. Not retryable.
GroupError::DeviceSyncDevice sync error. Device sync operation failed. May be retryable.

GroupMutablePermissionsError enum

crates/xmtp_mls/src/groups/group_permissions.rs

Errors that can occur when working with GroupMutablePermissions.

Error CodeDescription
GroupMutablePermissionsError::SerializationSerialization error. Failed to encode permissions protobuf. Not retryable.
GroupMutablePermissionsError::DeserializationDeserialization error. Failed to decode permissions protobuf. Not retryable.
GroupMutablePermissionsError::PolicyPolicy error. Permission policy validation failed. Not retryable.
GroupMutablePermissionsError::InvalidConversationTypeInvalid conversation type. Wrong conversation type for this operation. Not retryable.
GroupMutablePermissionsError::MissingPoliciesMissing policies. Required permission policies not present. Not retryable.
GroupMutablePermissionsError::MissingExtensionMissing extension. Required MLS extension not found. Not retryable.
GroupMutablePermissionsError::InvalidPermissionPolicyOptionInvalid permission policy option. Invalid permission policy configuration. Not retryable.

IdentityError enum

crates/xmtp_mls/src/identity.rs
Error CodeDescription
IdentityError::CredentialSerializationCredential serialization error. Failed to encode MLS credential. Not retryable.
IdentityError::DecodeDecode error. Protobuf decoding failed. Not retryable.
IdentityError::InstallationIdNotFoundInstallation not found. Installation ID not found in network association state. Not retryable.
IdentityError::BasicCredentialBasic credential error. MLS basic credential validation failed. Not retryable.
IdentityError::LegacyKeyReuseLegacy key re-use. Attempted to reuse a legacy key. Not retryable.
IdentityError::UninitializedIdentityUninitialized identity. Identity not yet initialized. Not retryable.
IdentityError::InstallationKeyInstallation key error. Problem with installation key. Not retryable.
IdentityError::MalformedLegacyKeyMalformed legacy key. Legacy key format is invalid. Not retryable.
IdentityError::LegacySignatureLegacy signature error. Legacy signature is invalid. Not retryable.
IdentityError::CryptoCrypto error. Cryptographic operation failed. Not retryable.
IdentityError::LegacyKeyMismatchLegacy key mismatch. Legacy key does not match address. Not retryable.
IdentityError::OpenMlsOpenMLS error. OpenMLS library error. Not retryable.
IdentityError::KeyPackageGenerationErrorKey package generation error. Failed to generate MLS key package. Not retryable.
IdentityError::InboxIdMismatchInbox ID mismatch. Associated InboxID does not match stored value. Not retryable.
IdentityError::NoAssociatedInboxIdNo associated Inbox ID. Address has no associated InboxID. Not retryable.
IdentityError::RequiredIdentityNotFoundRequired identity not found. Identity was not found in cache. Not retryable.
IdentityError::NewIdentityNew identity creation error. Error creating a new identity. Not retryable.
IdentityError::SignerSigner error. Cryptographic signer failed. Not retryable.
IdentityError::TooManyInstallationsToo many installations. InboxID has reached max installation count. Not retryable.
IdentityError::InvalidExtensionInvalid extension error. MLS extension validation failed. Not retryable.
IdentityError::MissingPostQuantumPublicKeyMissing PQ public key. Post-quantum public key not found. Not retryable.
IdentityError::BincodeBincode serialization error. Binary serialization failed. Not retryable.
IdentityError::UninitializedFieldUninitialized field. Builder field not initialized. Not retryable.

KeyPackageVerificationError enum

crates/xmtp_mls/src/verified_key_package_v2.rs
Error CodeDescription
KeyPackageVerificationError::TlsErrorTLS codec error. MLS TLS encoding/decoding failed. Not retryable.
KeyPackageVerificationError::MlsValidationMLS validation error. Key package verification failed. Not retryable.
KeyPackageVerificationError::WrongCredentialTypeWrong credential type. Unexpected MLS credential type. Not retryable.

SubscribeError enum

crates/xmtp_mls/src/subscriptions/mod.rs
Error CodeDescription
SubscribeError::GroupGroup error. Group operation failed during subscription. May be retryable.
SubscribeError::NotFoundNot found. Subscribed resource not found. Retryable.
SubscribeError::GroupMessageNotFoundGroup message not found. Expected message missing from database. Retryable.
SubscribeError::ReceiveGroupReceive group error. Processing streamed group message failed. May be retryable.
SubscribeError::StorageStorage error. Database operation failed. May be retryable.
SubscribeError::DecodeDecode error. Protobuf decoding failed. Not retryable.
SubscribeError::MessageStreamMessage stream error. Message stream failed. Retryable.
SubscribeError::ConversationStreamConversation stream error. Conversation stream failed. Retryable.
SubscribeError::ApiClientAPI client error. Network request failed. Retryable.
SubscribeError::BoxErrorBoxed error. Wrapped dynamic error. May be retryable.
SubscribeError::DbDatabase connection error. Database connection failed. Retryable.
SubscribeError::ConversionConversion error. Proto conversion failed. Not retryable.
SubscribeError::EnvelopeEnvelope error. Decentralized API envelope error. May be retryable.

xmtp_mls_common

GroupMetadataError enum

crates/xmtp_mls_common/src/group_metadata.rs
Error CodeDescription
GroupMetadataError::SerializationSerialization error. Failed to encode metadata protobuf. Not retryable.
GroupMetadataError::DeserializationDeserialization error. Failed to decode metadata protobuf. Not retryable.
GroupMetadataError::InvalidConversationTypeInvalid conversation type. Protobuf conversation type not recognized. Not retryable.
GroupMetadataError::MissingExtensionMissing extension. Immutable metadata MLS extension not found. Not retryable.
GroupMetadataError::InvalidDmMembersInvalid DM members. DM member data is invalid. Not retryable.
GroupMetadataError::MissingDmMemberMissing DM member. A DM member field is not set. Not retryable.

xmtp_proto

ConversionError enum

crates/xmtp_proto/src/error.rs

General Error types for use when converting/deserializing From/To Protos Loosely Modeled after serdes error type. This general error type avoid circular hard-dependencies on crates further up the tree (xmtp_id/xmtp_mls) if they had defined the error themselves.

Error CodeDescription
ConversionError::MissingMissing field. Required field missing during proto conversion. Not retryable.
ConversionError::UnspecifiedUnspecified field. Protobuf field is unspecified. Not retryable.
ConversionError::DeprecatedDeprecated field. A deprecated protobuf field was used. Not retryable.
ConversionError::InvalidLengthInvalid length. Data has wrong length for conversion. Not retryable.
ConversionError::InvalidValueInvalid value. Data has unexpected value. Not retryable.
ConversionError::DecodeDecode error. Protobuf decoding failed. Not retryable.
ConversionError::EncodeEncode error. Protobuf encoding failed. Not retryable.
ConversionError::UnknownEnumValueUnknown enum value. Protobuf enum has unrecognized value. Not retryable.
ConversionError::EdSignatureEd25519 signature error. Ed25519 signature bytes invalid. Not retryable.
ConversionError::InvalidPublicKeyInvalid public key. Public key validation failed. Not retryable.
ConversionError::InvalidVersionInvalid version. Protocol version not supported. Not retryable.
ConversionError::OpenMlsOpenMLS error. OpenMLS library error. Not retryable.
ConversionError::ProtocolProtocol message error. MLS protocol message error. Not retryable.
ConversionError::BuilderBuilder error. Builder field not initialized. Not retryable.
ConversionError::SliceSlice error. Byte slice conversion failed. Not retryable.

ProtoError enum

crates/xmtp_proto/src/error.rs

Error resulting from proto conversions/mutations

Error CodeDescription
ProtoError::HexHex error. Hex encoding/decoding failed. Not retryable.
ProtoError::DecodeDecode error. Protobuf decoding failed. Not retryable.
ProtoError::EncodeEncode error. Protobuf encoding failed. Not retryable.
ProtoError::OpenMlsOpenMLS error. OpenMLS library error. Not retryable.
ProtoError::MlsProtocolMessageMLS protocol message error. MLS framing error. Not retryable.
ProtoError::KeyPackageKey package error. Key package verification failed. Not retryable.
ProtoError::NotFoundNot found. Proto resource not found. Not retryable.