@jonathanprozzi/plugin-xmtp
v1.2.0-jp-fork.8
Published
XMTP plugin for ElizaOS (Fork to support different conversation and content types)
Readme
XMTP Plugin package
Eliza's client packages enable integration with various platforms and services. Each client provides a standardized interface for sending and receiving messages, handling media, and interacting with platform-specific features.
Architecture Overview
graph TD
RT["Agent Runtime"]
CI["Client Interface"]
RT --> CI
%% Main Clients
CI --> DC["Direct Client"]
CI --> DSC["Discord Client"]
CI --> TC["Telegram Client"]
CI --> AC["Auto Client"]
CI --> XMTP["XMTP Client"]
%% Key Features - one per client for clarity
DC --> |"REST API"| DC1["Messages & Images"]
DSC --> |"Bot Integration"| DSC1["Voice & Messages"]
TC --> |"Bot API"| TC1["Commands & Media"]
TWC --> |"Social"| TWC1["Posts & Interactions"]
AC --> |"Trading"| AC1["Analysis & Execution"]
XMTP --> |"E2EE Messaging"| XMTP1["Secure messaging"]
%% Simple styling with better contrast and black text
classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px,color:black
classDef highlight fill:#e9e9e9,stroke:#333,stroke-width:2px,color:black
class RT,CI highlightAvailable Client
- XMTP (@elizaos/plugin-xmtp) - XMTP agent integration
Installation
# XMTP
pnpm add @elizaos/plugin-xmtpXMTP Client
The XMTP client enables secure, decentralized, and encrypted messaging.
Manual Setup
import { xmtpPlugin } from "@elizaos/plugin-xmtp";
import { character } from "./character";
export const projectAgent: ProjectAgent = {
character,
init: async (runtime: IAgentRuntime) => await initCharacter({ runtime }),
plugins: [xmtpPlugin],
};Auto Setup
# Run this command in your project directory
elizaos add plugins @elizaos/plugin-xmtpConfiguration in .env
WALLET_KEY= // the private key of the wallet
XMTP_SIGNER_TYPE= // the type of signer to use (SCW or EOA)
XMTP_SCW_CHAIN_ID= // (optional) the chain id for smart contract wallet
XMTP_ENV= // (optional) XMTP environment (dev, local, production)For more information about XMTP visit it's agent examples repo
Why XMTP
- End-to-end & compliant: Data is encrypted in transit and at rest, meeting strict security and regulatory standards.
- Open-source & trustless: Built on top of the MLS protocol, it replaces trust in centralized certificate authorities with cryptographic proofs.
- Privacy & metadata protection: Offers anonymous or pseudonymous usage with no tracking of sender routes, IPs, or device and message timestamps.
- Decentralized: Operates on a peer-to-peer network, eliminating single points of failure.
- Multi-tenant: Allows multi-agent multi-human confidential communication over MLS group chats.
See FAQ for more detailed information.
Web inbox
Interact with the XMTP protocol using xmtp.chat the official web inbox for developers using the latest version powered by MLS.

