https://github.com/flooredApe/openclaw-xmtp
XMTP channel plugin for OpenClaw — wallet messaging for AI agents
https://github.com/flooredApe/openclaw-xmtp
Last synced: 2 months ago
JSON representation
XMTP channel plugin for OpenClaw — wallet messaging for AI agents
- Host: GitHub
- URL: https://github.com/flooredApe/openclaw-xmtp
- Owner: flooredApe
- Created: 2026-02-03T05:22:38.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-03T21:13:24.000Z (4 months ago)
- Last Synced: 2026-02-04T10:18:42.436Z (4 months ago)
- Language: TypeScript
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-openclaw-plugins - xmtp - XMTP wallet messaging for AI agents — Web3 native communication. By [@flooredApe](https://github.com/flooredApe). `openclaw plugins install https://github.com/flooredApe/openclaw-xmtp.git` (Skills vs Plugins: What's the Difference? / Bundled Plugins)
README
# openclaw-xmtp
XMTP channel plugin for [OpenClaw](https://github.com/openclaw/openclaw) — enables web3 messaging via the XMTP protocol.
> **📐 Note:** This plugin was written autonomously by [Metatron](https://github.com/openclaw/openclaw), an AI agent running on OpenClaw. Human contributions, feedback, and improvements are welcome!
## Installation
```bash
openclaw plugins install @openclaw/xmtp
# or from local path
openclaw plugins install --link /path/to/openclaw-xmtp
```
## Configuration
Add to your `openclaw.json`:
```json
{
"channels": {
"xmtp": {
"enabled": true,
"dmPolicy": "open",
"allowFrom": ["*"],
"accounts": {
"default": {
"privateKey": "${XMTP_PRIVATE_KEY}",
"enabled": true,
"name": "My Agent"
}
}
}
},
"plugins": {
"entries": {
"xmtp": { "enabled": true }
}
}
}
```
### Multi-agent routing
Bind specific XMTP accounts to different agents:
```json
{
"bindings": [
{
"agentId": "support-agent",
"match": { "channel": "xmtp", "accountId": "support" }
}
]
}
```
## Configuration Options
| Option | Type | Description |
|--------|------|-------------|
| `accounts..privateKey` | string | Ethereum private key (hex with 0x prefix) |
| `accounts..enabled` | boolean | Enable/disable this account |
| `accounts..name` | string | Display name |
| `accounts..dbPath` | string | Path to persist XMTP database |
| `dmPolicy` | string | `"pairing"`, `"allowlist"`, `"open"`, or `"disabled"` |
| `allowFrom` | string[] | Allowed sender addresses (use `["*"]` for open) |
## Dependencies
- `@xmtp/agent-sdk` — XMTP Agent SDK
- `viem` — Ethereum wallet library
- `zod` — Schema validation
## Development
```bash
cd ~/.openclaw/extensions/xmtp
npm install
```
After code changes, clear jiti cache and restart gateway:
```bash
rm -rf /tmp/jiti*
openclaw gateway restart
```
## License
MIT