Skip to navigation

Give your customers Agent Wallets

Issue wallets your customers' AI agents can use to make payments on their behalf, within controls you configure.
View as Markdown

Agent Wallets let you give your customers wallets that their AI agents can use to make payments on their behalf. Your business decides which customers receive wallets and configures the spending controls, while the customer owns the funds and can fund their wallet using supported stablecoins or local bank transfers.

Once funded, their AI agent can use the available balance to make permitted payments. A customer can have one wallet or several wallets for different purposes, such as Travel, Office, Groceries or Research.

Agent Wallets are optional

Agent Wallets are independent from your MCP integration. You do not need to issue a wallet for a customer to connect to your product through MCP, and you do not need Agent Wallets to accept payments from other AI agents.

Before you begin

You need a Mitu account, a server-side API key and a customer who should receive the wallet. The customer can be created through the API or identified through your existing OAuth sign in flow.

If you have not created customers yet, start with Create your first customer.

1

Choose the customer

Every Agent Wallet belongs to a customer. If you manage customer records through the API, use the customer’s Mitu ID when creating the wallet. If the customer connects through OAuth, their Mitu customer record is created or associated when they first sign in, and you can use that customer record when issuing the wallet.

Creating a customer does not automatically create a wallet. You decide which customers should receive one.

Learn more about Customers and Connect customer accounts.

2

Create the Agent Wallet

Create a wallet for the customer and give it a name that describes what it should be used for.

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": 100,
"monthly": 1000,
"approve_above": 250
}
}'

A successful response returns the wallet, its configured controls and the information needed to fund it.

{
"id": "wal_fc2ff966abc04de09c22",
"customer_id": "cus_ds9hazr8jd3l",
"name": "Travel",
"currency": "USDC",
"limits": {
"per_payment": 100,
"monthly": 1000,
"approve_above": 250,
"currency": "USD"
},
"addresses": [
{
"network": "base",
"address": "0xd7Ca1fdA..."
},
{
"network": "tempo",
"address": "0xd7Ca1fdA..."
},
{
"network": "solana",
"address": "3c6SpTNK..."
}
]
}

Choose a wallet name that is easy for the customer and their AI agent to understand. Names such as Travel, Office or Groceries are more useful than generic names such as Wallet 1.

Learn more about Agent Wallets.

3

Configure spending controls

Configure spending controls based on how the wallet is intended to be used. These controls let you determine how much can be spent and when the customer needs to approve a payment.

ControlPurpose
per_paymentControls how much can be spent on an individual payment.
monthlyControls how much can be spent from the wallet during a month.
approve_aboveSets the amount above which customer approval is required.

Spending controls let you create wallets for different purposes and levels of access without giving an AI agent unrestricted spending authority. A travel wallet, for example, may need different limits from a wallet intended for routine business purchases.

Learn more about Limits and controls.

4

Fund the wallet

The customer needs to fund the wallet before their AI agent can spend from it. Agent Wallets can be funded using supported stablecoins or local bank transfers, and once funding is confirmed, the balance becomes available for the customer’s AI agent to use.

For stablecoin funding, use one of the supported wallet addresses returned when the wallet is created. Always present the network together with the address so the customer knows which network to use. For local currency funding, the customer can fund the wallet through a supported bank transfer flow.

Learn more about Funding.

5

Connect the customer

Before an AI agent can access a customer’s wallets, Mitu needs to know which customer the AI client is acting for. Customers can connect using a customer key or your existing OAuth sign in flow.

With a customer key, the AI client connects using the MCP URL and the customer’s mcpk_... credential. With OAuth, the customer signs in using the account they already have with your product. Once the customer has been identified, their AI agent can access the wallet capabilities available to that customer.

Learn more in Connect customer accounts.

6

Let the customer's agent use the wallet

Once the customer is connected and the wallet is funded, their AI agent can use the wallet on their behalf. The agent can view the wallets available to the customer, check balances, retrieve funding information and make supported payments from a wallet it is allowed to use.

The agent cannot create wallets, change spending controls, withdraw the customer’s funds or use a wallet that does not belong to the connected customer. When the customer has several wallets, the agent can use the wallet that matches the purpose of the payment.

For example, the customer might say:

Pay for the hotel from my Travel wallet.

Mitu checks that the wallet belongs to the customer and applies the configured spending controls before allowing the payment to proceed.

Learn more about Wallet tools and Multiple wallets.

7

Track wallet activity

Configure webhooks to keep your application updated when wallet activity occurs. Wallet events can notify your backend when a wallet is created, funded or used for a payment, allowing you to keep your own customer experience and records in sync with wallet activity rather than relying on the dashboard as your only source of information.

Learn more about Webhooks and Events.

Your customer can now use an Agent Wallet

Your customer now has a wallet their AI agent can use to make payments on their behalf within the controls you configured. You continue to decide which customers receive wallets and how those wallets can be used, while the customer owns the funds and their AI agent can use the permitted wallet capabilities without receiving unrestricted control over the customer’s money.

You can issue additional wallets when a customer needs separate balances or spending controls for different purposes.

Continue building