Skip to navigation

Issue your first wallet

Issue an Agent Wallet that your customer's AI agents can use to make payments on their behalf.
View as Markdown

Agent Wallets let you give your customers wallets that their AI agents can spend from. You decide which customer the wallet belongs to and configure the spending controls that apply when their agents make payments.

You need an existing customer before you can issue a wallet. If you have not created one yet, follow Create your first customer first.

When to use Agent Wallets

Use Agent Wallets when you want your customers’ AI agents to make payments on their behalf. If you only want to accept payments from AI agents, you do not need to issue wallets. Continue to Accept your first payment instead.

1

Create an Agent Wallet

Create a wallet for the customer and give it a name that describes what it will be used for. You can also configure spending controls when you create the wallet.

Request
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": 250,
"monthly": 2000,
"approve_above": 150
}
}'

A successful request returns the wallet, its status and its spending controls. Read the addresses that fund it from Get wallet addresses.

201 Created
{
"id": "wal_fc2ff966abc04de09c22",
"customer_id": "cus_ds9hazr8jd3l",
"name": "Travel",
"currency": "USDC",
"status": "active",
"frozen_at": null,
"frozen_reason": null,
"limits": {
"per_payment": 250,
"session": 0,
"daily": 0,
"monthly": 2000,
"approve_above": 150,
"currency": "USD"
},
"created_at": "2026-09-11T15:01:32.760Z"
}

Choose a name that makes the purpose of the wallet easy for the customer and their AI agents to understand. A customer can have multiple wallets for different purposes.

Wallet names are unique for each customer. If you create another wallet with the same name for the same customer, the existing wallet is returned.

2

Configure spending controls

Spending controls determine how the wallet can be used when an AI agent makes a payment on behalf of the customer.

ControlDescription
per_paymentSets the amount the wallet can spend on an individual payment.
sessionSets the amount the agent can spend in one session.
dailySets the amount the wallet can spend in a UTC day.
monthlySets the amount the wallet can spend during a calendar month.
approve_aboveSets the amount above which the customer must approve a payment.

The limits are expressed in USD while the wallet balance is held in USDC.

If you do not provide a limit when creating the wallet, the wallet inherits the corresponding limit configured for the customer. A value of 0 represents no limit.

Every control is enforced when the agent pays. A payment over any of them is held for the customer to approve. See Limits and controls.

3

Fund the wallet

The customer needs to fund the wallet before their AI agents can use it to make payments.

Get wallet addresses returns an address for each supported network. When funding with stablecoins, send USDC to the address associated with the network being used.

Always show the network

Always present the wallet address together with its network. An address alone is not enough to determine where funds should be sent.

Agent Wallets can also support funding through local bank transfers where available. The funding options available to a customer depend on the currencies and funding methods supported for their account.

Learn more about the available funding methods in Funding Agent Wallets.

4

Confirm the wallet is funded

When funds are credited to the wallet, a wallet.credited event is created. You can use this event to update your application when the customer’s wallet balance changes.

wallet.credited
{
"event": "wallet.credited",
"event_data": {
"wallet_id": "wal_fc2ff966abc04de09c22",
"amount": "50.000000",
"currency": "USDC",
"network": "base",
"balance_after": "50.000000"
}
}

You can also retrieve the customer’s wallets through the API.

Request
curl --request GET \
--url https://api.mitu.ai/v1/customers/cus_ds9hazr8jd3l/wallets \
--header "x-api-key: $MITU_API_KEY"

Once the wallet has a balance, the customer’s AI agents can use it to make supported payments after the customer connects through an AI client.

You have issued your first Agent Wallet

The customer now has an Agent Wallet that can be funded and used by their AI agents within the spending controls you have configured.