Skip to main content

Commands

The wallet is per-agent, so every command needs an active user (naive use <alice>). Unlike cards, there is no company-level fallback mount — the wallet exists only per-agent.
create, fund, transfer, policy, and sweep require an operator credential — a signed-in session (naive auth login), or an API key minted with the wallet:admin scope for CI. An agent’s key is refused, both server-side and by the CLI. Reads (show, balance) are agent-safe.

Show

Returns the wallet’s address, network, custody backend, and spend policy. If the agent has no wallet yet, returns a no_wallet error — provision one with naive wallet create, or declare has.crypto on the agent in naive.config.ts.

Balance

Reads USDC balances (Base). The balance is the budget — an agent cannot spend past it. --network takes a CAIP-2 id.

Create

Provisioning is idempotent — re-running returns the existing wallet. perTxMax is written into the custody plane as a static account policy, so it holds even if the agent runtime is compromised.

Policy

perTxMax is enforced twice — at runtime, and inside the custody plane at signing time. This is the control that replaces an approval queue for payments. The default policy if you set none is perTxMax: "0.50".
Changing perTxMax re-issues the custody-plane policy too, so both layers move together and the new cap holds at signing time. The re-issue happens before the new policy is stored: if the custody plane can’t be reached the command fails and nothing changes, rather than storing a cap that isn’t being enforced.

Fund

The balance is the agent’s real budget — fund only what you can afford to lose.

Transfer

Transfers are bounded by the wallet’s perTxMax, the same cap that bounds agent payments.

Sweep

Drains the wallet back to the treasury (or --to an address) to decommission it. Sweeping moves the funds out but does not delete the wallet — the agent simply has nothing left to spend.