Skip to content

elizaos-plugins/plugin-xmtp

Repository files navigation

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 highlight
Loading

Available Client

  • XMTP (@elizaos/plugin-xmtp) - XMTP agent integration

Installation

# XMTP

pnpm add @elizaos/plugin-xmtp

XMTP 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-xmtp

Configuration 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.

About

Enables secure, decentralized, and end-to-end encrypted messaging through the XMTP protocol.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 9