Get started building with XMTP
XMTP (Extensible Message Transport Protocol) is the largest and most secure decentralized messaging network. XMTP is open and permissionless, empowering any developer to build end-to-end encrypted 1:1, group, and agent messaging experiences, and more.
To learn more, see Why build with XMTP?.
🛠️ Phase 0: Explore XMTP developer tools
- 
Pick your SDK:
 - 
Use llms-full.txt to provide the full text of the XMTP developer documentation to an AI coding assistant.
 - 
Use xmtp.chat, the official web chat app for developers, to interact with and test your app
 - 
Run a local XMTP node for development and testing.
 
💬 Phase I: Build core messaging
- 
Create an XMTP client. Be sure to set the
appVersionclient option. - 
Create a group chat or direct message (DM) conversation.
With XMTP, "conversation" refers to both group chat and DM conversations.
 - 
Send messages in a conversation.
 - 
Manage group chat permissions and metadata.
 - 
Be sure to observe rate limits.
 
📩 Phase II: Manage conversations and messages
- 
List existing conversations from local storage.
 - 
Stream new conversations from the network.
 - 
Stream new messages from the network.
 - 
Sync new conversations from the network.
 - 
Sync a specific conversation's messages and preference updates from the network.
 
💅🏽 Phase III: Enhance the user experience
- 
Implement user consent, which provides a consent value of either unknown, allowed or denied to each of a user's contacts. You can use these consent values to filter conversations. For example:
- Conversations with allowed contacts go to a user's main inbox
 - Conversations with unknown contacts go to a possible spam tab
 - Conversations with denied contacts are hidden from view.
 
 - 
Support rich content types.
- Attachments
- Single remote attachment
 - Multiple remote attachments
 - Attachments smaller than 1MB
 
 - Reactions
 - Replies
 - Read receipts
 - Onchain transactions
 - Onchain transaction references
 
 - Attachments
 - 
Implement push notifications, if applicable.
 
🧪 Phase IV: Test and debug
- 
Stress and burn-in test your chat app.
 - 
Found a bug or need help? Contact dev support.
 

