laso

← All agent guides

What are the best ways to give an AI agent its own wallet?

Last reviewed: August 2026

The short answer

If you want full control of the keys, generate a wallet yourself and enforce limits in your own code. If you want a hosted wallet with caps built in, use Coinbase Agentic Wallet or Crossmint agent wallets. If the agent should pay x402 endpoints in USDC and also buy cards, gift cards, and payouts, a Laso managed wallet holds the key for you and enforces an owner-set spend limit on every payment.

What a wallet for an agent has to do

An agent wallet separates the money from the authority to spend it. A person funds it, the agent spends from it without asking each time, and something other than the model enforces how much. Four questions sort the options: who holds the private key, where the spend limit is enforced, which networks and tokens it supports, and what the agent can buy with it.

The four routes at a glance.
RouteBest whenKey held byLimits
A wallet you generate and run yourselfYou need full control and will write the policy codeYouWhatever you build
Coinbase Agentic WalletYou want a hosted wallet that can also swap tokensCoinbase infrastructure, controlled by the agentCaps per session and per transaction
Crossmint agent walletsYour users fund the agent with a cardNon-custodial, per CrossmintScoped, revocable allowances
Laso managed walletThe agent pays x402 endpoints and buys cards, gift cards, and payoutsLaso custodies it for your accountPer-payment and rolling 24-hour limits set by the owner

Option 1: generate a wallet and run it yourself

The most direct route is a keypair on Solana or Base that your agent code signs with. Nothing sits between you and the funds, and you choose the networks. The cost is that you also own everything around the key: storing it outside the model’s reach, writing the spending policy, and building the audit trail. A prompt is not a limit, so the cap has to live in code that runs before signing. Choose this when you already operate key infrastructure or need full custody.

Option 2: Coinbase Agentic Wallet

Per Coinbase’s Agentic Wallet documentation, the awal CLI gives an agent a wallet for holding and spending USDC. The agent authenticates with an email one-time code, can send USDC, swap tokens, and pay x402 APIs, and works on Base, Polygon, and Solana plus their test networks. Coinbase describes it as a self-custody wallet controlled by the agent whose private keys stay in Coinbase infrastructure, with configurable caps per session and per transaction enforced before any transaction. It is the broadest option if you also want the agent to trade.

Option 3: Crossmint agent wallets

Per Crossmint’s agent wallet overview, these are non-custodial stablecoin wallets that users fund with a card and that support x402, MPP, and onchain payments. The agent spends within limits the user approves, each allowance is scoped and revocable, and Crossmint states that the limits hold onchain. It suits products where end users, not developers, fund and supervise their own agents. Check Crossmint’s Wallets Quickstart for supported chains and setup, since the overview does not list them.

Option 4: a Laso managed wallet

A Laso managed wallet is a Solana wallet Laso custodies for your account, with a linked Base address that feeds the same balance. The agent signs in, announces its connection, and reads the wallet with GET /getAgentWallet. It then pays through agentX402Pay, which settles the x402 payment for any Laso route or any external x402 endpoint, so the agent never holds a key or builds a payment header. The account owner sets a per-payment cap and a rolling 24-hour cap in the dashboard, and an agent can read them but not change them.

# 1. Read the wallet. Send USDC on Solana to wallet_address, or on Base to base_wallet_address.
curl https://laso.finance/getAgentWallet \
  -H "Authorization: Bearer $LASO_ID_TOKEN"
# { "user_id": "usr_...", "has_wallet": true, "wallet_address": "...", "balance_usdc": 12.5,
#   "needs_funding": false, "solana_balance_usdc": 12.5, "base_wallet_address": "0x...", "base_balance_usdc": 0 }

# 2. Read the spend limits before paying
curl https://laso.finance/getAgentSpendLimit \
  -H "Authorization: Bearer $LASO_ID_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"data":{"userId":"usr_..."}}'
# { "result": { "maxPerPaymentUsdc": 1000, "maxPerDayUsdc": 2500, "maxPaymentNowUsdc": 1000, ... } }

# 3. Pay an external x402 endpoint, capped at 1 USDC
curl https://laso.finance/agentX402Pay \
  -H "Authorization: Bearer $LASO_ID_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"data":{"userId":"usr_...","url":"https://api.example.com/paid","maxAmountUsdc":1}}'

Never send funds to the user_id. A usr_... value is an account id, not an address. The tradeoffs are that Laso holds the key, so this is not self-custody, and the limits are a per-payment cap and a rolling daily cap rather than a richer policy engine. In return the same wallet funds Laso’s own products: prepaid cards, gift cards, and payouts to Venmo, PayPal, debit cards, and bank accounts. Setup is in the managed agent wallet guide, and the limits are in spend limit and activity.

How to choose

Run your own keypair if custody is a requirement. Use Coinbase Agentic Wallet if the agent should also swap tokens. Use Crossmint if your end users fund their agents with a card. Use a Laso managed wallet if the agent pays x402 endpoints and also needs to buy things or pay people in the real world, with no key in the agent’s environment. Whichever you pick, fund it with a small amount first. To cap spending further, see how to cap how much your AI agent can spend.

Frequently asked questions

How do I give an AI agent a crypto wallet?

Either generate a keypair your agent code signs with, or use a hosted agent wallet such as Coinbase Agentic Wallet, Crossmint agent wallets, or a Laso managed wallet that holds the key for you.

Should an AI agent hold its own private key?

Only if you can keep the key outside the model’s context and enforce limits in code. A hosted wallet that signs on the agent’s behalf removes the key from the agent’s environment.

How do I limit how much my agent can spend from its wallet?

Enforce caps before signing, not in the prompt. A Laso managed wallet applies a per-payment limit and a rolling 24-hour limit that only the account owner can change.

What network does a Laso agent wallet use?

It has a Solana address and a Base address that feed one USDC balance. Laso moves funds between the two when a payment needs it.

Can my agent use its wallet to buy things, not just pay APIs?

With a Laso managed wallet, yes. The same balance pays for prepaid cards, gift cards, and payouts through agentX402Pay.

More guides

Try it: connect a wallet at laso.finance and you'll have a card, gift card, or payout in minutes.

Building an agent? Point it at laso.finance/SKILL.md — it can set itself up.