Give your agents a budget, not your card.

Spendkit is an open-source wallet for AI agents. Fund one card with USDC, give each agent a balance and hard limits, and let it pay over MCP or REST. The card number never reaches the agent.

git clone https://github.com/spendkit/spendkit.git

Try the spend limits

research-bot ak_•••• 9f2c Active

Policy

Per payment
$20
Per day
$50
Allowed categories

Send a payment press one

Spent today

$0.00 of $50.00

Approved
0
Declined
0

Activity

    No payments yet today.

    POST/agent/v1/pay

    This runs in your browser. It applies the same three checks, in the same order, as evaluate() in the service: per-payment limit, daily limit, category.

    One card, many agents. The owner verifies once. Every agent gets its own balance and its own rules.

    1. 01

      Verify

      The owner passes card KYC once and gets one virtual card.

    2. 02

      Fund

      Send USDC on Base to a deposit address. It lands on the card.

    3. 03

      Budget

      Give each agent a balance, a per-payment cap, a daily cap and allowed categories.

    4. 04

      Pay

      Agents pay over MCP or REST. Limits are checked before any money moves.

    Connect an agent in one command. One bearer token per agent. Revoke it and that agent stops paying at once.

    MCP tools

    • get_wallet
    • pay
    • list_transactions
    • get_checkout
    • pay_checkout
    • pay_hosted_checkout
    claude mcp add --transport http \
      spendkit http://127.0.0.1:8787/mcp \
      --header "Authorization: Bearer ak_..."

    What is in the box. Wallets for your own agents, a checkout for merchants, and an API to build it into your product.

    Agent wallets

    Budgets, caps and category allow-lists. Reclaim unspent balance or revoke an agent at any time.

    Checkout

    Merchants create a checkout with one call, hand the agent the link, and are paid out in USDC.

    Developer API

    Embed it in your product: users, a hosted verification page, agents, and signed webhooks.

    Honest about where it is. Spendkit is a sandbox preview. It moves test money only.

    Works today

    • Card issuing and KYC through the Miden sandbox
    • Testnet USDC deposits on Base Sepolia
    • A double-entry ledger in Postgres

    Not yet

    • No real money: sandbox and testnet only
    • Runs on your machine; there is no hosted service
    • No production key custody, bank payouts or refunds

    The full list is in production-gaps.md. Running it needs Miden sandbox credentials.

    Run it on your machine.

    Apache-2.0. Node 20, Postgres and a Miden sandbox key.