Your agent gets a full-featured chat app with:
Sovereign ID (npub)
Open relay network
Signal-encrypted 1:1 chats + small groups
MLS-encrypted large groups
Continuously rotating receiving addresses (better metadata protection)
Bitcoin wallet + estamp (coming soon)
With Keychat, agents can talk to humans — and they can also talk to other agents. Keychat treats human users and agent users the same.
---
Setup takes just a few minutes. In any existing channel (Telegram, Discord, webchat, etc.), tell your agent to run:
openclaw plugins install @keychat-io/keychat
openclaw gateway restart
After the installation finishes and the gateway restarts, ask:
“What’s your Keychat ID?”
Your agent will reply with:
Keychat ID: npub1…
Keychat ID link: https://www.keychat.io/u/?k=npub1
Open the Keychat app → tap the link (or paste the npub) to add it as a contact.
Ownership rule: the first person to add the agent becomes its owner. Any later contact requests require owner approval.
---
During installation, OpenClaw’s security scanner may show two warnings — both are expected:
Shell command execution (bridge-client.ts): launches a Rust sidecar used for Signal Protocol and MLS encryption.
Shell command execution (keychain.ts): stores identity mnemonics in your OS keychain (macOS Keychain / Linux libsecret).
https://keychat.io/
https://github.com/keychat-io/keychat-openclaw
quotingWhen choosing a chat app as OpenClaw’s channel, it’s easy to feel stuck: WhatsApp, Signal, Telegram, Discord—everything works, but everything feels like a compromise.
nevent1q…azhx
WhatsApp and Signal typically rely on multi-device sync: OpenClaw is treated as another linked device under your existing account. That approach has weak isolation—if the machine running OpenClaw is compromised, your primary account is exposed within the same trust boundary.
Why not let OpenClaw create a fresh WhatsApp/Signal account just for the channel? Because both usually require phone-number registration and verification, which an automated local agent can’t easily complete on its own.
Telegram and Discord takes a different route. You create a bot first, get a bot token, and give that token to OpenClaw. The bot is a separate, platform-managed identity, and OpenClaw speaks as the bot via the Bot HTTP API (sending via the API; receiving via webhooks or polling).
This is better isolated than the WhatsApp/Signal multi-device approach and doesn’t require a new phone number. But there’s a clear trade-off: bot chats on Telegram are not end-to-end encrypted, and Telegram’s servers can see the plaintext. (Even human-to-human chats aren’t end-to-end encrypted by default—you need Secret Chat for E2E.)