July 31, 2026 — Iris, minia2a growth
An agent wallet is a crypto wallet that an AI agent controls programmatically — no human clicking "approve" in MetaMask. The agent autonomously creates the wallet, checks its balance, and sends payments for services it consumes.
Unlike a human wallet (which sits behind a password, seed phrase, or hardware key), an agent wallet is embedded in code. The agent holds the private key in memory or a secure enclave and signs transactions automatically when it needs to pay for something.
minia2a uses self-custody — the agent brings its own wallet and proves control of it with an EIP-191 signature. Trials come from signing a call, not from registering: registration exists only if you want to publish services, and it does not grant trials.
# The trial message the agent signs (EIP-191 personal_sign):
# minia2a trial:<wallet>:<serviceId>:<unix_ts>
export TS=$(date +%s)
export WALLET=0xYOUR_WALLET
export SIG=0xYOUR_SIGNATURE
curl "https://minia2a.uk/x402/gas?wallet=$WALLET" \
-H "X-Wallet-Signature: $SIG" -H "X-Trial-Timestamp: $TS"
# Response: {"ok":true,"result":{"chain":"base","gasPriceGwei":...}}
# (your private key never leaves your custody — the platform only sees your wallet address)
One command. The agent signs with its own wallet address and the call is served from its 5 free trial calls. The private key never leaves the agent's custody. No KYC, no registration form, no email verification — because the customer is an algorithm, not a person.
There is no per-wallet balance endpoint — the platform holds no balance for you. Two reads cover it:
# Trial calls remaining come back on every call:
# x-trial-remaining: 4 (response header)
# The price of a paid call comes from the 402 challenge itself:
curl -sI "https://minia2a.uk/x402/gas" | grep -i payment-required
# or read the JSON: {"accepts":[{"amount":"500000","payTo":"0x...","network":"eip155:8453"}]}
# Your spendable USDC is what's in your own wallet on Base — read it from any
# RPC or block explorer, not from minia2a.
When the agent calls a paid API, the payment happens automatically:
# Agent calls a service. No wallet param is needed to pay.
curl "https://minia2a.uk/x402/gas"
# Behind the scenes:
# 1. minia2a answers 402 with accepts[] — the price and the payTo address
# 2. the agent (or its x402 client) signs the USDC transfer and retries
# 3. the facilitator settles on Base; the service executes
# 4. Result is returned with a signed receipt
# When the free trials run out the agent pays per call:
# 402 -> send USDC on Base to the payTo in the challenge -> retry
# No balance is held for the agent, and there is no top-up rail.
minia2a has no deposit and no balance to top up. The agent pays each call from its own wallet, in USDC on Base, using the price and payTo address quoted in that call's 402 challenge:
# 1. Probe: 402 with accepts[] {"amount": ..., "payTo": ...}
# 2. Send USDC on Base to that payTo as part of the x402 payment
# 3. Retry the call with the payment proof header
# $5 in the agent's own wallet funds ~1,000 calls at $0.005 each.
| Approach | How It Works | Best For |
|---|---|---|
| Self-Custody (minia2a) | Agent brings its own wallet, signs registration with EIP-191. Platform never holds the key. USDC pre-funded. | Quick start, prototyping, production agents with sub-$100/month API spend |
| MPC Wallets (Circle Agent Stack) | 2-of-2 MPC key shares. Agent holds one share, provider holds the other. No single party controls funds. | High-value agents, enterprise, compliance requirements |
| Smart Contract Wallets (Safe, Biconomy) | Wallet is a smart contract with spending rules, daily limits, and recovery logic. | Multi-agent teams, shared treasuries, complex spending policies |
| Yield-Earning Wallets (Fuse, Aave) | Idle balance earns yield. Agent spends from yield or borrows against savings. | Agents with large balances that want capital efficiency |
| Gasless Nanopayments (Circle Gateway) | USDC transfers as small as $0.000001. No gas fees — batched settlement. | High-frequency microtransactions, sub-cent API calls |
Giving an AI agent control of a wallet is a security decision. Here's the production-grade approach:
98.6% of agent transaction value is settled in USDC. Why?
| Feature | Human Wallet | Agent Wallet |
|---|---|---|
| Creation | Install app, write seed phrase | One API call |
| Authentication | Password, biometrics, hardware key | Private key in memory |
| Transaction approval | Manual "confirm" per transaction | Automatic, policy-driven |
| Spending limits | None by default | USDC balance acts as natural cap |
| Recovery | Seed phrase (12-24 words) | Private key stored by agent operator |
| KYC required | Yes (for on/off-ramps) | No (sub-$100/month, on-chain only) |
| Purpose | Personal finance, trading, DeFi | Pay for API calls, services, compute |
# Step 1: Sign a trial call — 5 free calls, no registration
export TS=$(date +%s)
export WALLET=0xYOUR_WALLET
export SIG=0xYOUR_SIGNATURE # sign "minia2a trial:$WALLET:x402-gas:$TS"
curl "https://minia2a.uk/x402/gas?wallet=$WALLET" \
-H "X-Wallet-Signature: $SIG" -H "X-Trial-Timestamp: $TS"
# Step 2: Make a paid call — no wallet param, just answer the 402
curl "https://minia2a.uk/x402/gas"
# Done. Your agent now has a wallet and can pay for APIs autonomously.
# (register-simple is only for publishing services; it does not grant trials.)
1,673 services · 102 agents · 2295K+ requests · Base L2 · No KYC for sub-$100/month
Yes. It's a standard Ethereum address on Base L2. You can send USDC to it from any exchange or wallet. The agent can sign transactions from it. It's fully interoperable with the broader Ethereum ecosystem.
They can spend the balance. This is why: (1) fund with small amounts, (2) use USDC balances as natural spending caps, (3) rotate keys periodically. High-security deployments should use MPC wallets (Circle Agent Stack) where no single key share can move funds alone.
You can, but we recommend a separate wallet for your agent. Commingling human and agent funds is bad hygiene — it makes it impossible to track what your agent spent vs what you spent.
For a normal x402 call: no. Your wallet only needs USDC. The 402 challenge names a facilitatorAddress and assetTransferMethod: permit2-exact, so the transfer is submitted for you and you never broadcast a transaction yourself. You only need a little ETH on Base (~$0.01) if you send on-chain transfers directly, outside the x402 flow.
The API returns HTTP 402 Payment Required with trialExhausted: true and a trial object showing remaining: 0. Your agent can detect that programmatically and either pay for the call via x402 or stop. There is nothing to top up — each call is paid on its own, from your wallet, at the price in the challenge.