Skip to main content Crate xmtp_configuration Copy item path Source AuthConfiguration What a client must present to be admitted. The client acts only on
enabled and required_scopes; the rest exists for operator tooling. DockerUrls Local chain used for smart-contract-wallet verification. GrpcUrls Temporary test URL names. Remove with the Task 9 binding update. GrpcUrlsToxic Temporary fault-test URL name. Remove with the Task 9 binding update. LimitsConfiguration Request shapes the deployment accepts. A client chunks its work to these
values rather than to its compiled constants. MlsConfiguration Advisory group shapes. The backend publishes them and does not enforce them. RetentionConfiguration How long the deployment keeps each payload kind, in seconds. ServerConfiguration One immutable snapshot of what a deployment published. SigningKeyDescription Public identity of one accepted signing key. Never the key itself. StaticConfigProvider A provider a test constructs from any values, with no database and no
fetch. Passing one to the builder disables fetch, store, refresh, and the
identifier check. StoredConfigProvider The provider backed by the copy stored in the client database. ServerConfigurationError Why a published configuration cannot be used. ACTIVE_DATABASE_POLL_INTERVAL Maximum delay between fresh database checks while work is active. ANVIL_URL_DEFAULT Local chain address when no worktree environment is loaded. AUTH_LOCKOUT_COOLDOWN Time before one authentication probe is allowed after lockout. BACKEND_DEFAULT_GROUP_MESSAGE_SECONDS Default age for ordinary group messages, in seconds. BACKEND_DEFAULT_KEEPALIVE_INTERVAL_MS Default interval between stream keepalive frames, in milliseconds. BACKEND_DEFAULT_KEY_PACKAGE_SECONDS Default age for key packages, in seconds. BACKEND_DEFAULT_MAX_ENVELOPE_BYTES Default maximum encoded envelope size, in bytes. BACKEND_DEFAULT_MAX_HTTP2_STREAMS Default maximum HTTP/2 streams per connection. BACKEND_DEFAULT_MAX_IDENTITY_ENTRIES Default maximum identity entries per inbox. BACKEND_DEFAULT_MAX_LOOKUP_IDENTIFIERS Default maximum identifiers in one inbox lookup. BACKEND_DEFAULT_MAX_NEWEST_FULL_TOPICS Default maximum number of full newest topics. BACKEND_DEFAULT_MAX_NEWEST_METADATA_TOPICS Default maximum number of metadata-only newest topics. BACKEND_DEFAULT_MAX_PING_BURST Default client ping token-bucket burst. BACKEND_DEFAULT_MAX_PING_FRAMES_PER_SECOND Default client ping rate, in frames per second. BACKEND_DEFAULT_MAX_PUBLISH_TOPICS Default maximum number of topics in one publish. BACKEND_DEFAULT_MAX_QUERY_LIMIT Default maximum query limit. BACKEND_DEFAULT_MAX_QUERY_TOPICS Default maximum number of query topics. BACKEND_DEFAULT_MAX_REQUEST_BYTES Default maximum encoded request size, in bytes. BACKEND_DEFAULT_MAX_RESPONSE_BYTES Default maximum encoded response size, in bytes. BACKEND_DEFAULT_MAX_SCW_SIGNATURES Default maximum smart-contract-wallet signatures per request. BACKEND_DEFAULT_MAX_STATIC_TOPICS Default maximum topics in a static subscription. BACKEND_DEFAULT_MAX_STREAM_TOPICS Default maximum registered topics per stream. BACKEND_DEFAULT_MAX_UPDATE_ADDS Default maximum topics added by one stream update. BACKEND_DEFAULT_MAX_UPDATE_BURST Default stream update token-bucket burst. BACKEND_DEFAULT_MAX_UPDATE_FRAMES_PER_SECOND Default stream update rate, in frames per second. BACKEND_DEFAULT_MAX_UPDATE_REMOVES Default maximum topics removed by one stream update. BACKEND_DEFAULT_QUERY_LIMIT Default per-topic query limit. BACKEND_DEFAULT_STATEMENT_TIMEOUT_MS Default database statement timeout. Client identity waits exceed this value. BACKEND_DEFAULT_WELCOME_SECONDS Default age for welcome messages, in seconds. BACKEND_GROUP_ID_BYTES Group and commit-log topic identifier length, in bytes. BACKEND_INSTALLATION_ID_BYTES Welcome, key-package, and identity topic identifier length, in bytes. BACKEND_TEST_TOXIC_URL_DEFAULT Local backend proxy URL when no worktree environment is loaded. BACKEND_TEST_URL_DEFAULT Local backend URL when no worktree environment is loaded. BUSY_TIMEOUT max time the database will wait to acquire a lock for a table CIPHERSUITE CONFIGURATION_REFRESH_ATTEMPTS Attempts in one refresh run. After the last failure the run ends and the
stored copy is left alone (CFG-047). CONFIGURATION_REFRESH_BACKOFF Waits between the attempts of one run (CFG-046). CONFIGURATION_REFRESH_INTERVAL How long after one refresh run ends before the next one starts, before
jitter (CFG-046). The first run starts this long after build. CONFIGURATION_REFRESH_JITTER Random spread added to each wait, so a fleet of clients does not refresh
in lockstep (CFG-046). CREATE_PQ_KEY_PACKAGE_EXTENSION DEFAULT_CONSUMER_LEASE_DURATION Lease duration for the default app message consumer. DEFAULT_GROUP_DESCRIPTION DEFAULT_GROUP_IMAGE_URL_SQUARE DEFAULT_GROUP_NAME ENABLE_COMMIT_LOG GROUP_KEY_ROTATION_INTERVAL_NS GROUP_MEMBERSHIP_EXTENSION_ID GROUP_PERMISSIONS_EXTENSION_ID GRPC_PAYLOAD_LIMIT Maximum bytes in one gRPC payload. HMAC_SALT IDENTITY_DEPENDENCY_CONCURRENCY Maximum concurrent identity proof requests in one resolver batch. IDENTITY_REFERENCE_RETRY_INTERVAL Minimum interval between primary reads for an absent identity update. IDENTITY_REFERENCE_WAIT Healthy primary-read time allowed for an absent pinned identity update.
This exceeds the backend’s default statement timeout. INSTALLATION_THRESHOLD_FOR_WELCOME_POINTER_SENDING KEYS_EXPIRATION_INTERVAL_NS KEY_PACKAGE_QUEUE_INTERVAL_NS KEY_PACKAGE_ROTATION_INTERVAL_NS Interval in NS used to compute next_key_package_rotation_ns.
This defines how often a new KeyPackage should be rotated ,
but does not determine the actual KeyPackage expiration. LOCALHOST MAX_CONSECUTIVE_AUTH_FAILURES Maximum consecutive credential rejections and callback failures. MAX_DB_POOL_SIZE Max Size the Database Pool is allowed to grow to MAX_GROUP_SIZE MAX_GROUP_SYNC_RETRIES MAX_INSTALLATIONS_PER_INBOX MAX_INTENT_PUBLISH_ATTEMPTS MAX_PAST_EPOCHS MAX_PUBLISHED_VALUE Largest published numeric value, 2^53 - 1. MAX_SERVER_IDENTIFIER_BYTES Longest operator identifier, in bytes. Shared with the backend so one rule
governs what it accepts and what a client will store. MIN_DB_POOL_SIZE Minimum amount of connections to keep open & idle to the database in the pool MIN_RECOVERY_REQUEST_VERSION MLS_PROTOCOL_VERSION MUTABLE_METADATA_EXTENSION_ID MLS Extension Types NOTIFICATION_BATCH_TOPICS Maximum total adds and removes in one notification request. NOTIFICATION_REQUEST_TIMEOUT Bound the complete notification operation, including auth and transport retries. OPENMLS_KV_TARGET Target for xmtp_db::sql_key_store instrumentation. Enable via openmls_kv=trace. POST_QUANTUM_CIPHERSUITE PROPOSALS_MIN_PROTOCOL_VERSION Default floor written into MIN_SUPPORTED_PROTOCOL_VERSION when a
group is migrated via enable_proposals without an explicit override. RECEIVER_FALLBACK_INTERVAL Maximum delay before a receiver with no progress falls back to Query. SEND_MESSAGE_UPDATE_INSTALLATIONS_INTERVAL_NS STREAM_BARRIER_TIMEOUT Maximum duration of one bounded catch-up operation. STREAM_BATCH_BYTES Maximum encoded bytes in one admission transaction or fetched page. STREAM_BATCH_ROWS Maximum rows in one admission transaction or fetched page. STREAM_BLOCKED_WELCOME_RESCAN_INTERVAL How often a long-lived client rechecks Welcomes it could not process, so
their retention deadline is reached without restarting the client. STREAM_GROUP_BYTES Maximum pending group bytes across all group topics. STREAM_GROUP_ROWS Maximum pending group rows across all group topics. STREAM_IDENTITY_BYTES Reserved pending identity bytes. STREAM_IDENTITY_ROWS Reserved pending identity rows, separate from group and Welcome capacity. STREAM_LOCAL_READ_BYTES Maximum decoded bytes returned by one local message read. STREAM_LOCAL_READ_ROWS Maximum rows returned by one local message read. STREAM_PERMANENT_RETRY_INITIAL First delay before retrying a receiver that failed with a permanent error.
A permanent classification describes this response, not every later one, so
the retry never stops. It only slows down. STREAM_PERMANENT_RETRY_MAX Longest delay between retries of a receiver that keeps failing permanently. STREAM_TOPIC_BYTES Maximum pending encoded bytes for one topic. STREAM_TOPIC_ROWS Maximum pending rows for one topic. STREAM_WELCOME_BYTES Reserved pending Welcome bytes. STREAM_WELCOME_ROWS Reserved pending Welcome rows, separate from group and identity capacity. SUPER_ADMIN_METADATA_PREFIX SYNC_BACKOFF_TOTAL_WAIT_MAX_SECS the total wait for all attempts SYNC_BACKOFF_WAIT_MS the base backoff time that is multiplied by 3 SYNC_JITTER_MS jitter time between attempts in ms SYNC_UPDATE_INSTALLATIONS_INTERVAL_NS WASM_VFS_DIRECTORY VFS Directory for OPFS WASM_VFS_NAME WELCOME_HPKE_LABEL WELCOME_POINTEE_ENCRYPTION_AEAD_TYPES_EXTENSION_ID WELCOME_WRAPPER_ENCRYPTION_EXTENSION_ID WORKER_RESTART_DELAY Duration to wait before restarting workers in case of an error. ConfigProvider One immutable configuration, read by every consumer in section 6.4. backend_test_toxic_url Local backend proxy URL for fault tests. See backend_test_url . backend_test_url Local backend URL for client tests. is_caip2_chain_id A CAIP-2 identifier is namespace:reference, where the namespace is three
to eight lowercase characters and the reference is one to thirty-two. The
client only needs the shape; the verifier owns the routes. validate_server_identifier Check the shape of an operator identifier. The backend refuses to start
with one that fails, and a client refuses to store one. version_is_below Compare two versions on major, minor, and patch only. A prerelease tag
never makes a client too old for a minimum it otherwise satisfies.