Skip to main content
Before an agent can pay, its owner has to link and approve it. Linking establishes a secure identity for the agent on this machine, and approval happens in the owner’s browser, so nothing can spend money without a human explicitly allowing it.

The linking lifecycle

1

Start the link (agent / terminal)

prava setup creates the agent’s identity locally and prints a one-time approval URL.
2

Approve (owner / browser)

The owner opens the URL, signs in to Prava, and approves the agent.
3

Confirm (agent / terminal)

prava setup poll waits for the approval and finalizes the link.

prava setup

It prints the approval URL and exits immediately; it does not block:
Give the agent a specific name and platform ("Claude Code", claude-code) rather than a generic "My Agent". The owner sees this when deciding whether to approve.
Use the identifier that matches the agent’s runtime. If none fits, use custom.claude-code · codex · cursor · gemini-cli · hermes · aider · goose · copilot-cli · github-copilot · windsurf · cline · continue · amazon-q · roo-code · kilo-code · sourcegraph-cody · tabnine · augment-code · amp · zed · kiro · blackbox · opencode · qwen-code · kimi-cli · mistral-vibe · warp · coro-code · devin · openhands · jules · swe-agent · manus · openai-operator · claude-computer-use · replit-agent · bolt · v0 · lovable · custom

Approve in the browser

The owner opens the printed URL, signs in at pay.prava.space, and clicks Approve. The link is valid for 15 minutes. If it lapses, run prava setup again.

prava setup poll

After the owner approves, confirm the link:
poll waits up to 15 minutes. Other outcomes:

prava status

Check the current link state at any time:
A linked, active agent prints:
Other states:
Open the link and approve, then run prava setup poll.
Nothing is linked on this machine yet. Run prava setup.

One agent per machine

Each machine holds a single linked agent identity. That identity is stored locally in your home directory and is what proves requests come from this approved agent.
  • To switch to a different agent, remove the local identity and run prava setup again.
  • Keep the identity private: anyone who can read it can act as this agent (within the owner’s guardrails).
Prefer a non-default location for the identity file? Set PRAVA_STATE_DIR to a directory you control before running prava setup.

Owner controls

Approval isn’t the end of the owner’s control. From the Prava dashboard, an owner can revoke any agent (after which its requests stop working immediately) or suspend their whole account. Spending limits and saved addresses are configured there too, and Prava enforces them on every purchase. See Guardrails.