โ† Back to Communication
Communication by @alexrudloff

clawchat-p2p

Encrypted P2P messaging for connecting OpenClaw agents

0
Source Code

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

git clone https://github.com/alexrudloff/clawchat.git
cd clawchat
npm install && npm run build && npm link

Quick Start

# 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:

# 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:

# 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:

# In gateway-config.json, set openclawWake: true for each identity

Poll inbox in your HEARTBEAT.md:

clawchat recv --timeout 1 --as mybot

Full Documentation

See the GitHub repo for:

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.