A non-custodial wallet for agents on Robinhood Chain. The key is generated on your machine, USDG funds it, and budget caps decide what it may sign.
# CLI
npm i -g aeron-wallet
aeron-wallet address create the wallet, print its address
aeron-wallet balance ETH + USDG from the chain
aeron-wallet pay https://inference.aeron.sh/v1/chat/completions '{"model":"deepseek/deepseek-chat","messages":[{"role":"user","content":"hello"}]}'
aeron-wallet history
# hand a sub-agent a bounded wallet
aeron-wallet session create --host inference.aeron.sh --budget 0.25 --ttl 2h
AERON_WALLET_SESSION=<token> aeron-wallet mcp
# MCP server, for any agent that speaks MCP
claude mcp add aeron-wallet -- npx -y aeron-wallet mcp
Generated on first run, stored on your machine with 0600 permissions. A hot wallet for metered spending, not savings.
Per-call and daily limits are checked before anything is signed. A leaked agent cannot drain the wallet.
Hand an agent a token bound to named hosts, a budget, and an expiry. An out-of-scope host is refused before the request goes out. Revoking lands on the next call.
It reads the 402 offer, signs an exact-amount USDG authorization, retries with X-PAYMENT, and stores the receipt.
get_address: the wallet address to fundget_balance: ETH and USDG, read from the chainpay: call a machine-payable endpoint, pay if it answers 402history: recent payments and their transactionsAn unbound server adds create_session, list_sessions, and revoke_session. A server bound to a session has none of them: an agent that could mint itself a wider scope would not be contained by one.