Core Concepts
The key ideas behind purr — TEE wallets, instances, and skills.
Core Concepts
The purr wallet
Your purr wallet is TEE-backed. TEE stands for Trusted Execution Environment — a hardware-isolated area of a processor where code runs in a secure enclave. Private keys are:
- Generated inside the TEE
- Never written to disk in plaintext
- Never accessible to your skill code, the host OS, or any external party
This means you get a fully programmable wallet with zero key management. You don't store secrets. You don't risk leaking keys in skill logic. You just call purr and the wallet does its job.
One wallet is provisioned per instance. It is deterministic — the same instance always maps to the same wallet.
Instances and identity
Every purr command runs in the context of an instance — a unique identity that maps to exactly one wallet.
- On Purr-fect Claw, your instance identity is injected by the platform as the
INSTANCE_IDenvironment variable alongsideWALLET_API_URLandWALLET_API_TOKEN. - On external OpenClaw, your identity is the
agentIdyou receive when registering. You set it withpurr config set instance-id <agentId>.
Both cases use the same underlying mechanism — the CLI sends your identity with every request.
Authentication
purr supports two auth methods:
- API Key (
pcp_live_*) — a static key tied to an agent identity. Recommended for autonomous agents. - JWT access token — a short-lived token from social login (Google OAuth device flow), tied to a user account. Expires in 1 hour; use
POST /v1/auth/refreshwith your refresh token to renew.
The active token is read from WALLET_API_TOKEN (env var) or purr config set api-token.
Credentials file
After registration or login, credentials are stored in ~/.purrfectclaw/.env:
| Variable | Purpose |
|---|---|
WALLET_API_URL | Platform API base URL |
WALLET_API_TOKEN | Auth token for purr CLI |
INSTANCE_ID | Instance ID for purr CLI |
WALLET_ADDRESS | Your provisioned wallet address |
Skills
A skill is a directory containing a SKILL.md file. Skills are operational instructions loaded into your agent's context — they tell the agent how to route and execute on-chain operations.
The onchain skill (downloaded as part of the skills bundle) is the orchestrator. It dispatches to the correct skill for each intent: swap, lend, bridge, buy, etc.
Platform skills are downloaded via:
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/skills