Xona Wallet: Smart Wallet for your AI Agents
Xona Wallet (previously xPay) is a self-custodial smart wallet built for AI agents: pay-per-use service discovery, smart-routed x402 payments, on-chain trading, private transfers, and guardrails, all from one CLI, SDK, and MCP server.

AI agents are becoming economic actors. They research, generate, trade, and shop. But every one of those actions eventually hits the same wall: someone has to pay.
That is what Xona Wallet solves. Previously known as xPay, Xona Wallet is a smart wallet built specifically for AI agents. It hides x402, USDC, RPC endpoints, and multi-network routing behind one flat surface, so any agent (Claude, Codex, OpenAI, Gemini, or your own) can find and pay for services without writing a single line of payment plumbing.
It ships in three forms, all from the same package:
- CLI:
npm install -g @xona-labs/xpay, thenxpay initand you have a funded-ready wallet - SDK: the same primitives programmatically, with ready-made tool definitions for Claude, OpenAI, and Gemini agent loops
- MCP server: listed on the official MCP Registry as
io.github.xona-labs/xpay. Drop it into Claude Desktop, Cursor, or Codex and the agent gets its own wallet on first boot, no code and no keys required
Here is what lives inside it.
Self-Custodial Wallet
Your keys never leave your machine. xpay init generates a single BIP-39 recovery phrase that derives both a Solana keypair (Phantom-compatible path) and an EVM keypair (MetaMask-compatible path), so one seed covers every network the wallet touches.
The seed is encrypted at rest with scrypt and AES-256-GCM, stored locally under ~/.xpay. There is no server holding your funds, no custodian, and no account to get frozen. The recovery phrase is shown once at creation and is the only recovery path, exactly as self-custody should work.
On macOS, optional biometric unlock lets you approve wallet access with Touch ID instead of typing a passphrase, without weakening the underlying encryption. Biometrics gate access to the passphrase; they never replace it.
Pay-Per-Use Service Discovery
An agent wallet is only useful if the agent can find things worth paying for. xpay discover searches a catalog of more than 21,000 x402 services across Solana, Base, BNB Chain, and other EVM networks, plus hireable agent listings from the AgenC on-chain marketplace, all ranked and returned in one schema.
xpay discover "image generation"
xpay discover "research API" --network solana
Discovery merges independent catalog sources, validates every entry, and caches results on disk, so one flaky source never breaks the search and repeat lookups are instant. The agent asks for a capability in plain language and gets back priced, callable endpoints.
Smart Routing Pay-Per-Use Payments
Paying is one call: xpay pay <url> in the CLI, xpay.use() in the SDK, xpay_use over MCP. Behind that single call, Xona Wallet does the routing a human would otherwise do by hand:
- Network routing: the wallet reads the 402 payment challenge and resolves the right signer automatically. A challenge quoting Solana settles with the Solana key, Base with the EVM key, Stable with the Stable signer. When a service offers several chains, the wallet compares balances against the price and picks one that can actually pay.
- Rail routing: not everything is an HTTP payment. AgenC marketplace listings are priced in SOL and settle through on-chain escrow rather than an
X-Paymentheader. The sameuse()call detects the payment scheme and runs the escrow flow instead, returning a hire receipt. The agent never needs to know the difference. - Token routing: USDC on most networks, USDT0 on Stable, USDG on Robinhood Chain. The wallet reads the asset and the EIP-712 signing domain from the live challenge instead of hardcoding assumptions, which is what keeps payments working across chains with non-standard token contracts.
- Gasless where possible: on networks that support authorization-based transfers, the wallet signs and the facilitator broadcasts, so the agent only needs the stablecoin itself, not native gas.
One instruction in, paid result out. That is the entire interface.
Buy and Sell Tokens On-Chain
Agents can trade directly from the wallet they already hold, with no exchange account and no API key:
- Solana swaps via Jupiter:
xpay token find BONKresolves any token by ticker, name, or mint with price, market cap, liquidity, and verification status.xpay swap 0.5 SOL BONKquotes, confirms, and executes. Bare tickers only resolve to Jupiter-verified tokens, so an agent cannot be tricked into a copycat mint by ticker alone. - Tokenized stocks and RWAs:
xpay token rwalists real-world-asset tokens tradable on Solana, including tokenized stocks and ETFs (xStocks, Ondo Global Markets, Remora) and the treasury-backed USDY, all swappable from USDC. - Robinhood Chain trading:
xpay trendingshows what is moving on Robinhood Chain, andxpay tradebuys and sells tokens there via Uniswap V3 straight from the agent's own wallet.
Every trade path is priced in USD before signing and checked against the wallet's spending guardrail, which brings us to the two features that make this safe.
Private Transfer
Standard blockchain transfers are public: anyone watching the chain sees who paid whom and how much. For agents doing business on behalf of a user, that is a real leak.
Xona Wallet integrates MagicBlock's Private Ephemeral Rollup for private SPL transfers on Solana. Pass private: true on a transfer and the payment routes through the ephemeral rollup, using delayed execution and fund splitting to obscure the amount and recipient on the base chain.
The integration is platform-level: the end user never needs a MagicBlock account. Authorization is proven with the wallet's own key, and Xona Wallet handles the challenge, login, and transaction flow behind the same transfer call.
Guardrail
Giving an agent a wallet only works if you can bound what it does with it. The guardrail is a policy layer that runs before any signer is touched, so a misbehaving agent, a buggy loop, or a prompt-injected LLM cannot bypass it.
xpay guardrail set \
--max-per-tx 0.5 \
--max-per-day 5 \
--require-approval-above 1 \
--allowed-hosts 'api.payai.network,*.xona-agent.com'
- Spend caps: per-transaction and per-day USD limits apply to every paid call, transfer, swap, trade, and marketplace hire. If a payment cannot be priced in USD while caps are set, it fails closed.
- Host allowlists: x402 payments can be restricted to a set of approved services.
- Human-in-the-loop approvals: payments above a threshold require explicit approval. In the CLI that is a confirmation or a Touch ID prompt; over MCP an agent's large payment surfaces as a system dialog you physically approve; in the SDK you wire the approval hook to whatever you want, from a push notification to a webhook.
- Optional intent firewall: the Bento integration adds AI-level screening on top of the caps. Every paid call is checked for malicious intent, such as prompt injection or wallet-drain patterns, before signing. Cleared calls proceed, critical threats are blocked before any funds move, and ambiguous ones escalate to your approval hook.
Caps stop an agent from spending too much. The firewall stops it from spending on the wrong thing.
Xona Resources: What Agents Actually Spend On
A wallet needs an economy around it, and that is where Xona Resources comes in. Xona runs a catalog of pay-per-use AI services behind x402: image generation across premium models, video generation, audio and music, LLM inference, live X (Twitter) data, product search across Google Shopping, Amazon, and eBay, and more. No subscriptions and no API keys, just a wallet that can answer a 402.
Those resources are accessible across seven networks, so agents can pay from wherever their liquidity lives:
- Solana: our home base, where thousands of x402 settlements have been processed in USDC
- Base: native USDC on Coinbase's L2
- SKALE on Base: zero-gas x402 payments via the PayAI facilitator
- BNB Chain: settlement through the B402 (Binance x402) framework
- Arbitrum: native USDC via the PayAI facilitator
- Robinhood Chain: Robinhood's Arbitrum L2, settling in USDG through a dedicated Naven facilitator
- Stable: Tether's payments L1, settling in USDT0 with gasless x402 payments
Xona Wallet speaks to all of them from the same seed phrase. The agent does not choose a chain; it asks for a result, and the wallet finds a network where it can pay.
The Bigger Picture
Commerce for AI agents needs two halves: things worth buying and a wallet smart enough to buy them. Xona Resources is the first half. Xona Wallet is the second.
Self-custody keeps the user in control. Discovery gives agents somewhere to spend. Smart routing removes the chain-by-chain plumbing. Trading, private transfers, and guardrails make the wallet complete rather than a demo.
Get started in one line:
npm install -g @xona-labs/xpay
Then xpay init, fund the printed address with a few dollars of USDC, and your agent is a paying customer of the open internet.