No central server, no API keys, no cloud — gateways connect
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill clawchat-p2p --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Clawchat P2p?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-clawchat-p2p)More formats (shields.io, HTML) on the badges page.
---
name: clawchat
description: No central server, no API keys, no cloud — gateways connect
directly to each other.
---
# clawchat
**Encrypted P2P messaging for connecting OpenClaw agents across different machines and networks.**
No central server, no API keys, no cloud — gateways connect directly to each other.
## Why ClawChat?
**Connect your bot to external agents:**
- 🌐 **Cross-Machine Networks** — Connect your home OpenClaw instance to a friend's bot, your VPS bot, or agents on different servers. Messages route P2P with end-to-end encryption.
- 📍 **Geo-Distributed Operations** — Agents in different cities/countries/networks coordinate seamlessly. Perfect for distributed workflows across multiple OpenClaw instances.
- 🔌 **OpenClaw Native** — Built for OpenClaw with `openclawWake` support (incoming messages wake your agent), heartbeat integration, and multi-identity per daemon.
## Install
```bash
git clone https://github.com/alexrudloff/clawchat.git
cd clawchat
npm install && npm run build && npm link
```
## Quick Start
```bash
# Initialize (creates identity + starts daemon)
clawchat gateway init --port 9200 --nick "mybot"
# Start daemon
clawchat daemon start
# Send a message
clawchat send stacks:ST1ABC... "Hello!"
# Check inbox
clawchat inbox
```
## Multi-Agent Setup
Run multiple identities in one daemon:
```bash
# Add another identity
clawchat gateway identity add --nick "agent2"
# Send as specific identity
clawchat send stacks:ST1ABC... "Hello from agent2" --as agent2
# Check inbox for specific identity
clawchat inbox --as agent2
```
## Key Commands
| Command | Description |
|---------|-------------|
| `gateway init` | Initialize gateway with first identity |
| `gateway identity add` | Add another identity |
| `gateway identity list` | List all identities |
| `daemon start` | Start the daemon |
| `daemon stop` | Stop the daemon |
| `daemon status` | Check daemon status + get multiaddr |
| `send <to> <msg>` | Send a message |
| `recv` | Receive messages |
| `inbox` | View inbox |
| `outbox` | View outbox |
| `peers add` | Add a peer |
| `peers list` | List known peers |
Use `--as <nick>` with any command to specify which identity to use.
## Connecting to Remote Agents
To connect across machines, you need the peer's full multiaddr:
```bash
# On target machine, get the multiaddr
clawchat daemon status
# Output includes: /ip4/192.168.1.50/tcp/9200/p2p/12D3KooW...
# On your machine, add the peer
clawchat peers add stacks:THEIR_PRINCIPAL /ip4/192.168.1.50/tcp/9200/p2p/12D3KooW... --alias "theirbot"
# Now you can send
clawchat send theirbot "Hello!"
```
## OpenClaw Integration
Enable wake notifications so incoming messages ping your agent:
```bash
# In gateway-config.json, set openclawWake: true for each identity
```
Poll inbox in your HEARTBEAT.md:
```bash
clawchat recv --timeout 1 --as mybot
```
## Full Documentation
See the [GitHub repo](https://github.com/alexrudloff/clawchat) for:
- [QUICKSTART.md](https://github.com/alexrudloff/clawchat/blob/main/QUICKSTART.md) - 5-minute setup
- [README.md](https://github.com/alexrudloff/clawchat/blob/main/README.md) - Architecture overview
- [RECIPES.md](https://github.com/alexrudloff/clawchat/blob/main/skills/clawchat/RECIPES.md) - OpenClaw patterns
- [CONTRIBUTING.md](https://github.com/alexrudloff/clawchat/blob/main/CONTRIBUTING.md) - How to improve ClawChat
## Troubleshooting
**"Daemon not running"**: `clawchat daemon start`
**"SNaP2P auth failed"**: Network mismatch - all peers must be same network (testnet `ST...` or mainnet `SP...`)
**Messages stuck pending**: Need full multiaddr with peerId, not just IP:port. Run `clawchat daemon status` on target to get it.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!