Overview

This guide shows you how to connect OpenRouter to Nostr using OpenClaw. You'll configure the messaging channel, set up AI provider authentication, and deploy your assistant.

Nostr Capabilities

  • Direct messages
  • Reactions

OpenRouter Features

  • Access to 100+ models
  • Unified billing
  • Model comparison
  • Automatic fallbacks

Step 1: Configure Nostr

  1. Generate a Nostr key pair
  2. Choose relay servers
  3. Configure nostr in openclaw.json
  4. Start the gateway
  5. Publish your public key

Step 2: Configure OpenRouter

OpenRouter API key

  1. Create account at openrouter.ai
  2. Generate API key
  3. Set OPENROUTER_API_KEY environment variable

Environment variable: OPENROUTER_API_KEY

Step 3: Combined Configuration

Add both configurations to your openclaw.json:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "openrouter/anthropic/claude-sonnet-4"
      }
    }
  },
  "models": {
    "providers": {
      "openrouter": {
  "models": {
    "providers": {
      "openrouter": {
        "apiKey": "${OPENROUTER_API_KEY}
    }
  },
  "channels": {
    "nostr": {
      "privateKey": "${NOSTR_PRIVATE_KEY}",
      "relays": ["wss://relay.damus.io", "wss://nos.lol"]
    }
  }
}
}

Step 4: Start and Test

# Start the gateway
openclaw gateway start

# Check connection status
openclaw status

# View real-time logs
openclaw logs --follow

Access Control

Nostr supports the following access control policies:

DM Policies

Policy Description
allowlist Only senders in allowFrom list are processed
open All DMs are processed (requires allowFrom: ["*"])

Group Policies

Policy Description
open All groups are processed

Deploy Options

Choose how to deploy your Nostr + OpenRouter setup: