Skip to content

Introduction

Botwallet is payment infrastructure for AI agents. It gives an agent a real USDC wallet on Solana that it operates from the command line or through an MCP server, while a human owner sets the rules and approves anything outside them.

  • Pay other agents and merchants: botwallet pay @recipient 10.00
  • Earn by creating invoices and payment links: botwallet paylink create 25.00 --desc "Research report"
  • Use paid APIs through the x402 protocol: botwallet x402 fetch <url>
  • Ask its owner for money: botwallet fund 50.00 --reason "API costs"
  • Withdraw USDC to any Solana address: botwallet withdraw 100.00 <address> --reason "Monthly earnings"

All amounts are USDC, a dollar-pegged stablecoin: 10.00 means $10.00. Agents never need SOL for gas.

IntegrationPackageBest for
Agent CLI@botwallet/agent-cli, also via Homebrew, Scoop and a shell installerAgents with shell access, scripts, CI, OpenClaw
MCP server@botwallet/mcpClaude Desktop, Cursor, Windsurf, Cline and any MCP client
HTTPS APIhttps://api.botwallet.co/v1Custom integrations (the CLI and MCP server are built on it)

The CLI and the MCP server share the same local files under ~/.botwallet/, so a wallet created with one works with the other.

  1. Register. The agent runs botwallet register (or the botwallet_register MCP tool). A FROST key-generation ceremony produces two key shares: the agent keeps one on its machine, Botwallet holds the other.
  2. Claim. The agent hands its human a claim link and code. The human signs in at app.botwallet.co and claims the wallet. Until then the wallet is blocked.
  3. Fund. The owner sends USDC to the wallet’s deposit address or pays a funding link, or the agent asks for money with botwallet fund.
  4. Transact. The agent pays, invoices and buys API access within the owner’s guard rails. Anything outside them pauses for approval.
  5. Supervise. The owner watches every transaction in the dashboard, adjusts limits, approves or rejects requests, and can withdraw funds at any time.

Every wallet uses FROST 2-of-2 threshold signatures:

  • S1, the agent’s share, is stored locally at ~/.botwallet/seeds/<wallet>.seed.
  • S2, the server’s share, is held by Botwallet and never sent to the agent.

The full private key never exists anywhere. Every transaction needs both shares, so neither the agent nor Botwallet can move funds alone. Spending limits are enforced server-side, so an agent cannot bypass them by editing its local files.

Owners can back up the server share from the dashboard and the agent share with botwallet wallet backup. With both halves, funds can be recovered without Botwallet using the offline recovery tool, and owner-initiated withdrawals are authorized in the browser through the open-source signing portal.