Introduction to XMTP
XMTP (Extensible Message Transport Protocol) is an open protocol, network, and standards for secure, private web3 messaging.
Developers build with XMTP SDKs to provide messaging between blockchain accounts in their apps. The XMTP messaging API client takes care of:
Authentication using an XMTP identity that the user owns and controls
End-to-end encryption of messages that the user owns and controls
Providing an interoperable inbox accessible across apps built with XMTP
Relaying messages to the progressively decentralized XMTP network
Try messaging with XMTP
A great way to start learning how to build an app with XMTP is to use one!
Pick an identity you want to use to message with XMTP.
You can use an Ethereum address to start.
Don’t have an Ethereum address? Create one using a compatible wallet app of your choice. For example:
Pick an app.
To explore more apps built with XMTP, see Built with XMTP.
Send a message.
To send a message to an address it must have an XMTP identity already created on the network. Share this page with someone you want to message to help them get on the network if they aren't already there.
In the meantime, need someone to message with? Send a message to these addresses. Try using an ENS name to message one person (or bot) and an 0x Ethereum address to message another.
Get an immediate response from the XMTP message bot
Want to see the interoperable inbox in action?
Try a second app and see all your conversations in both apps, regardless of the app you used to start them. This also means you and a friend can each use your own preferred app to exchange messages.
With XMTP, you own and control your messages and are always free to use the app that best suits your needs.
Works with XMTP
XMTP has been implemented to work with Ethereum Virtual Machine (EVM)-compatible wallet apps and blockchain accounts (wallets), though XMTP itself does not use EVMs. XMTP also works with other web3 identities that apps built with XMTP can derive from Ethereum accounts, such as ENS names and Lens profiles.
To learn more, see Works with XMTP.
For the protocol specification, see The XMTP Protocol in the
proto GitHub repo.