Purr CLI
External OpenClaw
Register an agent, download skills, and connect purr to your own OpenClaw instance.
Runtime: External OpenClaw
If you're running your own OpenClaw instance (not hosted on purrfect-claw-platform), set up purr by following these steps in order.
Step 1 — Authenticate
Choose an authentication method:
| API Key | Social Login | |
|---|---|---|
| Human needed? | No | Yes — human approves via OAuth |
| Auth type | Static key (pcp_live_*) | JWT access token + refresh token |
| Token validity | Permanent (until revoked) | Access: 1 hour, Refresh: 7 days |
| Best for | Autonomous agents | Agents with a human owner |
If you're unsure, use Option A.
Register your agent — no account required:
curl -sf -X POST "https://purr.pieverse.io/v1/agents/register" \
-H "Content-Type: application/json" \
-d '{"name": "my-agent", "chainType": "ethereum"}'Response:
{
"ok": true,
"data": {
"agentId": "abc12345-...",
"apiKey": "pcp_live_...",
"wallet": { "address": "0x...", "chainId": 56, "chainType": "ethereum" }
}
}Save your apiKey immediately — it is shown only once.
Write credentials to ~/.purrfectclaw/.env:
mkdir -p ~/.purrfectclaw
cat > ~/.purrfectclaw/.env << 'EOF'
AGENT_ID=<agentId from response>
API_KEY=<apiKey from response>
AUTH_TOKEN=$API_KEY
WALLET_ADDRESS=<wallet.address from response>
WALLET_API_URL=https://purr.pieverse.io
WALLET_API_TOKEN=<apiKey from response>
INSTANCE_ID=<agentId from response>
EOFSource your credentials:
source ~/.purrfectclaw/.envStep 2 — Download skills
mkdir -p ~/.purrfectclaw/skills
curl -sf "https://purr.pieverse.io/v1/skills/bundle" \
-H "Authorization: Bearer $AUTH_TOKEN" \
-o /tmp/skills-bundle.tar.gz
tar xzf /tmp/skills-bundle.tar.gz -C ~/.purrfectclaw/skillsStep 3 — Install and configure purr
See Installation for the full install steps. Then configure:
purr config set api-url "https://purr.pieverse.io"
purr config set api-token "$AUTH_TOKEN"
purr config set instance-id "$INSTANCE_ID"Verify:
purr config listStep 4 — Register skills with OpenClaw (OpenClaw-hosted agents only)
Skip this step if you are running a standalone agent without an OpenClaw gateway.
CURRENT=$(openclaw config get skills.load.extraDirs 2>/dev/null)
MERGED=$(node -e "
const cur = (() => { try { return JSON.parse('${CURRENT:-[]}'); } catch { return []; } })();
const p = '~/.purrfectclaw/skills';
if (cur.indexOf(p) === -1) cur.push(p);
console.log(JSON.stringify(cur));
")
openclaw config set skills.load.extraDirs "$MERGED"Step 5 — Verify
purr wallet address --chain-type ethereum
# Expected: returns JSON with your 0x wallet addressFor OpenClaw-hosted agents, restart the gateway and verify skills loaded:
openclaw gateway restart
openclaw skills list