Skip to main content

Introduction to the XMTP JavaScript SDK

The XMTP JavaScript SDK is a TypeScript implementation of an XMTP client for use with JavaScript and React apps.

When you build an app with XMTP, you can use the following functions provided by the SDK:

FunctionDescription
Wallet-based authenticationConnect to a user's wallet to get the wallet address, sign keys used for message signing and encryption, and authenticate incoming messages.
Wallet connection managementManage changes in wallet addresses or chain IDs. Manage connection issues.
Key pair generationCreate keys used for message signing and encryption and advertising public keys to the network.
Key storageStore keys securely.
Key signingSign keys with a connected wallet.
Relationship initiationCreate a secure messaging relationship between two wallets.
Conversation initiationCreate a container of messages between two wallets.
Message sendingCapture plaintext and submit it to the network.
Message history retrievalRetrieve the history of messages between two wallets, filterable by date range.
Message streamingReceive new messages in real-time.
Message content validationEnsure message security using this middleware.
Message format validationEnsure messages are properly formatted for the XMTP network using this middleware.

To learn how to build an app with the XMTP SDK, see Quickstart for the XMTP JavaScript SDK.

To learn about XMTP SDK classes and interfaces, see XMTP Javascript SDK Reference.