This guide walks you through setting up ClawKey from scratch, including creating API keys, configuring Telegram, installing dependencies, and completing device verification through VeryAI.
- Open Chrome or Edge.
- Go to: https://platform.openai.com
- Sign in to your account.
- Open: https://platform.openai.com/api-keys
- Click Create new secret key.
- Name it (example:
openclaw). - Click Create.
- Copy the key (format:
sk-...). - Paste it into Notepad and keep it safe.
- Open Telegram.
- Search for @BotFather.
- Click Start.
- Type:
/newbot- Enter a bot name (any name).
- Enter a username that ends with
_bot(example:mypalm_test_bot).
BotFather will send:
Use this token to access the HTTP API:
123456789:AAxxxxxxxxxxxxxxxx
Copy the entire token and store it safely.
- Go to https://nodejs.org
- Download the LTS version.
- Install it (Next → Install → Finish).
Open PowerShell and run:
node -v
npm -vYou should see version numbers.
In PowerShell:
npm install -g openclaw@latestVerify installation:
openclaw --versionThis is where you enter the API Key and Bot Token.
openclaw onboard- AI Provider → select
OpenAI - Auth method → select
API Key - Enter OpenAI API Key → paste your
sk-...key - Messaging platform → select
Telegram - Enter Telegram Bot Token → paste the token
- Any remaining questions → choose Default / press Enter
In PowerShell:
notepad $env:USERPROFILE\.openclaw\identity\device.jsonFind:
"deviceId": "..."Copy only the value inside the quotes. Do not edit the file.
In PowerShell:
notepad $env:USERPROFILE\clawkey-register.jsPaste the following code:
const crypto = require("crypto");
const fs = require("fs");
const os = require("os");
const identity = JSON.parse(
fs.readFileSync(`${os.homedir()}/.openclaw/identity/device.json`, "utf8")
);
const message = `clawkey-register-${Date.now()}`;
const privateKey = crypto.createPrivateKey(identity.privateKeyPem);
const signature = crypto.sign(null, Buffer.from(message, "utf8"), privateKey);
const publicKeyDer = crypto
.createPublicKey(identity.publicKeyPem)
.export({ type: "spki", format: "der" });
const challenge = {
deviceId: identity.deviceId,
publicKey: publicKeyDer.toString("base64"),
message,
signature: signature.toString("base64"),
timestamp: Date.now(),
};
fs.writeFileSync(
`${os.homedir()}/challenge.json`,
JSON.stringify(challenge, null, 2)
);
console.log("challenge.json created");Save the file and close Notepad.
In PowerShell:
node $env:USERPROFILE\clawkey-register.jsOpen the file to confirm:
notepad $env:USERPROFILE\challenge.jsonIn PowerShell:
curl.exe -X POST "https://api.clawkey.ai/v1/agent/register/init" \
-H "Content-Type: application/json" \
--data-binary "@$env:USERPROFILE\challenge.json"From the response, copy the value of registrationUrl.
If the URL contains \u0026, replace it with &.
- Open Chrome or Edge.
- Paste the
registrationUrlinto the address bar. - Allow camera access if prompted.
- Follow the on-screen instructions to scan your palm.
- Wait until the process completes.
Replace <DEVICE_ID> with your actual deviceId:
curl.exe -s "https://api.clawkey.ai/v1/agent/verify/device/<DEVICE_ID>"If you see:
{"registered":true,"verified":true}the process is complete.