Install

Two minutes to a funded agent.

1 · Create the wallet

Node 20 or newer. The kit installs straight from this site (npx allow-kit once it is on npm). The key is written to ~/.allow/agent.json (mode 600). It never leaves your machine.

npm i -g https://useallow.xyz/downloads/allow-kit-0.1.0.tgz
allow init
allow policy perTxUsd 10      # cap per action
allow policy dailyUsd 50      # cap per 24 h
allow policy owner <your wallet>   # where revoke --sweep sends funds

Fund it: USDC is enough to pay x402 APIs (the seller pays the network fee). Add a little SOL to anchor the registry and to trade. On localnet, allow usdc 10 mints test USDC. Testing? ALLOW_CLUSTER=devnet (the default) or localnet.

Claude Desktop

Settings → Developer → Edit Config, then add:

{
  "mcpServers": {
    "allow": { "command": "npx", "args": ["-y", "https://useallow.xyz/downloads/allow-kit-0.1.0.tgz", "mcp"] }
  }
}

Restart Claude. Ask: "What's my Allow budget?"

Claude Code

claude mcp add allow -- npx -y https://useallow.xyz/downloads/allow-kit-0.1.0.tgz mcp

ChatGPT

ChatGPT talks to remote MCP servers over HTTPS. Run the server and expose it with a tunnel:

allow serve                      # http://localhost:4340
cloudflared tunnel --url http://localhost:4340
allow config chatgpt             # prints the secret MCP path

In ChatGPT: Settings → Apps & Connectors → Advanced → Developer mode, then Create. Paste https://<tunnel>/mcp/<key>, authentication none. The key in the path is the secret; the owner controls (allowance, revoke) are never reachable through the tunnel.

CLI

allow status                 address, balance, allowance left
allow pay <url>              pay an x402 endpoint
allow buy BONK 0.05          quote + swap 0.05 SOL of BONK
allow sell BONK 1000000
allow history                the registry
allow revoke --sweep         stop the agent, send funds home

Trading modes

Prices always come from Jupiter on mainnet. Off mainnet, a swap is simulated: it fills at the fresh Jupiter quote into a paper portfolio and is written to the registry as simulated. Real swaps need ALLOW_CLUSTER=mainnet and ALLOW_LIVE=1.

What's enforced, and where

RuleEnforced by
Per action, per 24 h, total capsAllow, from the registry itself, before signing
Hosts it may payAllow, before the first byte is paid
Price floor of a tradeAllow re-quote, then Jupiter on chain
Freeze-authority tokens refusedAllow, from Jupiter's audit data
RevocationAllow, on the next call; --sweep moves funds on chain
Registry integrityHash chain + ed25519 + Merkle root in an SPL Memo

The caps run on your machine, next to the key. A model can't change them (no tool does), but anyone with shell access to the machine can. Keep the allowance small and the wallet a hot wallet.