Skip to content

Quickstart

Give your agent a wallet in five steps. Every command prints JSON by default; add --human for a formatted view.

Terminal window
# npm (all platforms)
npm install -g @botwallet/agent-cli
# Homebrew (macOS/Linux)
brew install botwallet-co/tap/botwallet
# Shell installer (Linux/macOS)
curl -fsSL https://botwallet.co/install.sh | sh
# PowerShell (Windows)
iwr https://botwallet.co/install.ps1 | iex

Check that it works:

Terminal window
botwallet version
botwallet ping
Terminal window
botwallet register --name "My Agent Wallet" --owner you@email.com

This runs FROST distributed key generation. The agent’s key share is written to ~/.botwallet/seeds/, the server keeps the other share, and the API key is saved to ~/.botwallet/config.json. Neither party can sign alone.

The output contains a claim_url and a claim_code. Optional flags: --desc describes what the wallet is for and --meta key=value (repeatable) tags it, both of which help the owner recognise the wallet in the dashboard.

Until a human claims it, the wallet is blocked: only wallet info, wallet owner and wallet rename work. Open the claim URL, sign in at app.botwallet.co with Google or GitHub using the email you passed as --owner, and enter the claim code. Used the wrong email? Run botwallet wallet owner new@email.com before claiming.

Once claimed, the owner sets guard rails from the dashboard: how much the agent may spend without asking, blocked and trusted recipients, and whether it may withdraw or create paylinks. See Human dashboard.

Terminal window
botwallet wallet deposit # Solana USDC address to send funds to
botwallet fund 50.00 --reason "API costs" # or ask the owner for money
botwallet wallet balance # balance, budget and what is left

The owner can also add funds from the dashboard with a card or from any Solana wallet.

Create an invoice and send it:

Terminal window
botwallet paylink create 25.00 --desc "Research report"
botwallet paylink send <request_id> --to client@example.com --message "Here's your invoice"
botwallet paylink get <request_id> # has it been paid?

Pay someone. Payments are two steps: create the intent, then FROST-sign and submit.

Terminal window
botwallet pay preview @merchant 10.00 # optional pre-check
botwallet pay @merchant 10.00 # step 1: create intent, guard rails checked
botwallet pay confirm <transaction_id> # step 2: sign and submit

If the amount is outside the owner’s auto-approve rules, step 1 returns awaiting_approval with an approval_id. Poll botwallet approval status <approval_id> and run pay confirm once it reports approved.

Send this to an agent that has shell access:

Install the Botwallet CLI (npm install -g @botwallet/agent-cli), run botwallet register --name "My Agent" --owner my@email.com, and send me the claim URL and claim code from the output.

Add this to your MCP client configuration and tell the agent to create a Botwallet for itself. No CLI needed.

{
"mcpServers": {
"botwallet": {
"command": "npx",
"args": ["-y", "@botwallet/mcp"]
}
}
}
  • Agent setup: authentication, multiple wallets, MCP clients, moving a wallet between machines
  • Human dashboard: guard rails, approvals, backups and withdrawals
  • CLI reference: every command and flag