> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mitu.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mitu.ai/_mcp/server.

# Agent Wallets

An Agent Wallet belongs to one of your customers and gives their AI agent a controlled balance it can use to make payments on their behalf. Your business decides which customers receive wallets, what each wallet is called and the spending controls that apply, while the customer owns the funds held in the wallet.

Wallets are created explicitly rather than automatically when a customer signs in or connects an AI client. Each wallet maintains its own balance, controls and funding addresses, which makes it possible for a customer to separate money by purpose without giving their agent unrestricted access to everything they hold.

## Create a wallet

Create a wallet for an existing customer and give it a name that both the customer and their AI agent can understand.

**`Create a wallet`**

```bash title="Create a wallet"
curl --request POST \
  --url https://api.mitu.ai/v1/customers/cus_ds9hazr8jd3l/wallets \
  --header "x-api-key: $MITU_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "Travel",
    "limits": {
      "per_payment": 25,
      "monthly": 200,
      "approve_above": 50
    }
  }'
```

**`Response`**

```json title="Response"
{
  "id": "wal_fc2ff966abc04de09c22",
  "customer_id": "cus_ds9hazr8jd3l",
  "name": "Travel",
  "currency": "USDC",
  "status": "active",
  "frozen_at": null,
  "frozen_reason": null,
  "limits": {
    "per_payment": 25,
    "session": 0,
    "daily": 0,
    "monthly": 200,
    "approve_above": 50,
    "currency": "USD"
  },
  "created_at": "2026-09-11T15:01:32.760Z"
}
```

### Parameters

| Parameter              | Type     | Required | Description                                                                        |
| ---------------------- | -------- | -------- | ---------------------------------------------------------------------------------- |
| `name`                 | `string` | Yes      | A customer-friendly name for the wallet, such as `Travel`, `Office` or `Shopping`. |
| `limits.per_payment`   | `number` | No       | The most one payment may be.                                                       |
| `limits.session`       | `number` | No       | The most the agent may spend in one session.                                       |
| `limits.daily`         | `number` | No       | The most the wallet may spend in a UTC day.                                        |
| `limits.monthly`       | `number` | No       | The most the wallet may spend in a calendar month.                                 |
| `limits.approve_above` | `number` | No       | The amount above which the customer must approve a payment.                        |

The response does not include funding addresses. Read them with [Get wallet addresses](/api-reference/agent-wallets/get-wallet-addresses). See [Limits and controls](/platform/agent-wallets/limits-and-controls) for how each control is enforced.

You can also issue wallets from the dashboard by opening **Wallets**, choosing **Create wallet**, selecting the customer and configuring the wallet name and controls.

## Wallet creation is explicit

Creating a customer does not automatically create a wallet, and neither does signing in, connecting through MCP or asking for a balance. A customer can therefore exist without an Agent Wallet, and that is a normal account state rather than an error.

This distinction keeps wallet issuance under your control. You decide which customers should receive spending capabilities and when those wallets should be created. If a customer does not need an Agent Wallet, their customer account can continue to exist and use other parts of your product without one.

## Wallet names

A wallet name is part of the customer-facing interface, not just an internal label. Customers may refer to wallets by name when instructing their AI agents, so names should be short, distinct and easy to understand in natural language. Names such as `Travel`, `Shopping` and `Office` are generally clearer than identifiers such as `Wallet 1` or `Main 2`.

Wallet names are unique within a customer because an agent needs an unambiguous way to determine which balance the customer intends to use. If a customer has several wallets, the wallet name becomes particularly important when a payment is being made.

## Limits

Spending controls are configured for each wallet when it is created and can determine how the wallet may be used. Limits that are omitted during creation can inherit the controls already configured for the customer, so an omitted value should not automatically be interpreted as unlimited spending.

The controls supported on the wallet are `per_payment`, `session`, `daily`, `monthly` and `approve_above`. All of them are enforced when the agent pays, and they can be changed later through the wallet's policy. A wallet can also be frozen on its own.

See [Limits and controls](/platform/agent-wallets/limits-and-controls) for the details.

## Retrieve a customer's wallets

Retrieve the wallets belonging to a customer through the API.

```http
GET /v1/customers/{customer_id}/wallets
```

The response contains the wallets issued to that customer together with their balances, configured controls and other wallet information. A customer with no wallets should be handled as a valid result rather than as an integration failure.

## What an AI agent can do

Once the customer is connected, their AI agent can use wallet capabilities made available by Mitu to inspect the wallets it can use, check balances, retrieve funding addresses and complete permitted payments. The wallet remains owned by the customer even when an AI agent is using it.

An AI agent cannot create wallets, withdraw funds, move money between wallets, change spending controls or take ownership of a wallet. Those operations remain outside the agent's spending capabilities so that giving an agent permission to pay does not give it unrestricted control over the customer's money.

See [Wallet tools](/platform/agent-wallets/wallet-tools) for the capabilities available to connected AI agents.

## Related

#### [Limits and controls](/platform/agent-wallets/limits-and-controls)

Understand the spending controls configured on Agent Wallets.

#### [Funding](/platform/agent-wallets/funding)

Fund an Agent Wallet and make its balance available for payments.

#### [Wallet tools](/platform/agent-wallets/wallet-tools)

See the wallet capabilities available to connected AI agents.

#### [Multiple wallets](/platform/agent-wallets/multiple-wallets)

Give a customer separate wallets for different purposes.

#### [Customers](/platform/customers/customer-api)

Understand the customer record an Agent Wallet belongs to.

#### [Build agents that can pay](/guides/use-cases/agent-purchasing)

Let the AI agent you are building make payments using an Agent Wallet.