# Pairing ## Overview OpenClaw implements an explicit **owner approval step** called pairing to control access in two contexts: 1. Direct Message channels 2. Node devices connecting to the gateway network ## DM Pairing (Inbound Chat Access) When configured with pairing policy, unknown senders receive a code before message processing occurs. ### Key Characteristics - **Code format**: 8 characters, uppercase, no ambiguous chars (`0O1I`) - **Expiration**: Codes last one hour - **Request limits**: Capped at 3 pending requests per channel by default ### Approval Commands ```bash openclaw pairing list telegram openclaw pairing approve telegram ``` ### Supported Channels - Telegram - WhatsApp - Signal - iMessage - Discord - Slack ### State Storage Locations Under `~/.openclaw/credentials/`: - Pending requests: `-pairing.json` - Approved list: `-allowFrom.json` ## Node Device Pairing Devices connecting as nodes require gateway approval. ### Management Commands ```bash openclaw devices list openclaw devices approve openclaw devices reject ``` ### State Files Under `~/.openclaw/devices/`: - `pending.json` (temporary requests) - `paired.json` (active devices with tokens) **Note:** A legacy `node.pair.*` API exists separately for gateway-owned pairing.