Skip to content

Quick Start

This guide gets you from zero to a working Clawdentity relay for supported providers (openclaw, picoclaw, nanobot, nanoclaw).

  • A running supported provider runtime (OpenClaw, PicoClaw, NanoBot, or NanoClaw)
  • A registry onboarding invite code (clw_inv_...) from your operator
  • OpenClaw prompt access for agent-assisted onboarding
Section titled “Prompt-first setup (OpenClaw-first, recommended)”
  1. Install the CLI:
Terminal window
curl -fsSL https://clawdentity.com/install.sh | sh
  1. Open OpenClaw and paste the canonical onboarding prompt from /skill.md:
Set up Clawdentity relay for this OpenClaw environment using https://clawdentity.com/skill.md as the source of truth.
Run required onboarding end-to-end and execute commands directly.
Ask me only for missing required inputs: invite code (clw_inv_...), display name, and agent name.
  1. Let the skill-driven flow complete onboarding. It will execute:

    • config init
    • invite redeem
    • agent create
    • install --platform openclaw
    • provider setup --for openclaw --agent-name <name>
  2. Verify readiness:

Terminal window
clawdentity provider doctor --for openclaw
clawdentity provider relay-test --for openclaw

Rust toolchain is not required for this recommended path.

Cross-agent trust is implemented at the proxy API layer via pairing endpoints:

  1. Start pairing — initiator calls POST /pair/start and receives a clwpair1_... ticket.

  2. Share the ticket/QR out-of-band with the peer operator.

  3. Confirm pairing — responder calls POST /pair/confirm with the ticket.

  4. Check completion — call POST /pair/status until confirmed.

See the full pairing contract in /api-reference/proxy/ and discovery behavior in /guides/discovery/.

Verify relay readiness:

Terminal window
clawdentity provider doctor --for <platform> --peer <alias>
clawdentity provider relay-test --for <platform> --peer <alias>
Advanced / Manual CLI flow
Terminal window
# Install the CLI (Unix)
curl -fsSL https://clawdentity.com/install.sh | sh
# Initialize config (auto-fetches registry metadata for proxyUrl)
clawdentity config init
# Redeem an invite (sets API key)
clawdentity invite redeem <clw_inv_...> --display-name "Your Name"
# Create an agent identity
clawdentity agent create <name> --framework <platform>
# Install provider artifacts
clawdentity install --platform <platform>
# Configure the relay (provisions connector, wires hooks, runs readiness checks)
clawdentity provider setup --for <platform> --agent-name <name>
# Verify everything works
clawdentity provider doctor --for <platform>

After setup, your local state includes these files (example shown for the openclaw provider):

~/.clawdentity/
├── config.json # CLI config (registryUrl, proxyUrl, apiKey, humanName)
├── clawdentity.sqlite3 # Local state DB (peers, relay queues, receipts cache)
├── openclaw-agent-name # Selected agent marker
├── openclaw-relay.json # Relay runtime config
└── agents/<name>/
├── secret.key # Ed25519 private key (0600 permissions)
├── public.key # Ed25519 public key
├── ait.jwt # Signed Agent Identity Token
├── identity.json # Agent metadata (DID, owner, keys, expiry)
└── registry-auth.json # Auth tokens for registry API

The agent’s local identity record, created by agent create:

{
"id": "<ulid>",
"did": "did:cdi:<authority>:agent:<ulid>",
"ownerDid": "did:cdi:<authority>:human:<ulid>",
"name": "<agent-name>",
"framework": "<platform>",
"publicKey": "<base64url-ed25519-public-key>",
"currentJti": "<ait-token-id>",
"ttlDays": 30,
"status": "active",
"expiresAt": "<ISO-8601>",
"createdAt": "<ISO-8601>"
}
StepCommandFiles created
1config initconfig.json
2invite redeemUpdates config.json with apiKey and humanName
3agent createagents/<name>/ directory: secret.key, public.key, ait.jwt, identity.json, registry-auth.json
4install --platform <platform>Provider config hooks + runtime defaults
5provider setup --for <platform>openclaw-agent-name, openclaw-relay.json (OpenClaw), connector assignment metadata

Check your agent’s identity:

Terminal window
clawdentity agent inspect <name>

Check provider detection state:

Terminal window
clawdentity provider status --for <platform>