Documentation
Everything Rialto does, in order
One wallet on Robinhood Chain pays for x402 endpoints in USDG and funds private Venice inference. Below: install, fund, run, connect an agent, read the chain without installing anything, and the limits that keep the wallet safe.
1. Install and create the wallet
Node 20 or newer. The command creates a private key in your home folder, prints the address, and tells you what to send to it.
npx https://rialto.casa/downloads/rialto-kit-0.1.0.tgz initTo keep the command short afterwards, install it once globally:
npm install -g https://rialto.casa/downloads/rialto-kit-0.1.0.tgz2. Fund it
Send USDG (contract 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168) and a few cents of ETH to the printed address on Robinhood Chain, chain id 4663. Bridges such as relay.link and across.to deliver USDG there from Base, Arbitrum or Ethereum in seconds. Then:
rialto fund 10The command quotes Relay (Across as fallback), approves and deposits USDG, waits for USDC on Base at the same address, then signs a gasless USDC authorization that Venice settles into a prepaid balance. Venice needs at least 5 USD per top-up, so the bridged amount is raised when fees would push it under.
3. Run
rialto chat "What is NVDA trading at on Robinhood Chain?" --webrialto agent "Compare AAPL, TSLA and NVDA on Robinhood Chain and name the deepest pool" -b 0.25rialto pay https://api.naven.network/x402-test/ping --max 0.01Commands
rialto init [--venice-key <key>]Create the wallet (or show it) and print funding instructions. Optional API key mode for Venice.rialto statusETH and USDG on Robinhood Chain, Venice credit, chain status.rialto fund <usdg>USDG to USDC on Base (Relay, Across fallback), then Venice top-up. Raises the amount so at least 5 USD land after fees.rialto chat "<prompt>" [--web] [-m <model>]Ask a Venice model, paid from the wallet's credit.rialto agent "<goal>" -b <usd> [-s <steps>] [--web]Budgeted reference agent with chain tools and x402 payments.rialto pay <url> [--dry-run] [--max <usdg>] [-X POST -d <body>]Fetch a URL and pay the 402 in USDG on Robinhood Chain.rialto stocks price <ticker>USD price of a tokenized stock (AAPL, TSLA, NVDA or any official Robinhood Token).rialto stocks find <ticker>Discover official stock token contracts by ticker.rialto stocks pools [-n 10]Top pools on Robinhood Chain by 24h volume.rialto wallet <address>Read-only report on any Robinhood Chain wallet.rialto send <to> <usdg>Transfer USDG from the Rialto wallet. Irreversible.rialto quote <usdg>Bridge quote, no transaction.rialto bridge <usdg>Bridge only, no Venice top-up.rialto topup <usd>Top up Venice from USDC already on Base.rialto venice balance | ledger | models | search "<q>"Venice account, history, models, private web search.rialto mcpStart the MCP server on stdio.rialto skillPrint the SKILL.md for coding agents.rialto config [key] [value]Read or write configuration.
Configuration
Stored in ~/.rialto/config.json (mode 600). Environment variables win over the file.
| Key | Env | Meaning |
|---|---|---|
| privateKey | RIALTO_PRIVATE_KEY | The wallet. Generated by init, stored with mode 600. |
| veniceApiKey | VENICE_API_KEY | Use an API key instead of the wallet ledger. |
| defaultModel | RIALTO_MODEL | Venice model id. Default zai-org-glm-5-2. |
| agentBudgetUsd | RIALTO_AGENT_BUDGET_USD | Hard cap per agent run. Default 1. |
| maxPaymentUsdg | RIALTO_MAX_PAYMENT_USDG | Hard cap per x402 payment. Default 1. |
| payAllowlist | · | Hostnames the payer may pay. Empty means any HTTPS host. |
| · | RIALTO_RPC_ROBINHOOD | Override the Robinhood Chain RPC. Public fallbacks are built in. |
MCP
Local server over stdio, with every tool and the wallet. Claude Desktop, Claude Code, Cursor, Hermes, OpenClaw:
{ "mcpServers": { "rialto": { "command": "npx", "args": ["-y", "https://rialto.casa/downloads/rialto-kit-0.1.0.tgz", "mcp"] } } }Hosted, read-only, no install (Streamable HTTP, stateless): chain status, balances, wallet reports, stock prices, pools.
https://rialto.casa/mcpTools: rialto_wallet, hood_chain_status, hood_balances, hood_wallet_report, hood_stock_price, hood_stock_find, hood_top_pools, hood_send_usdg, x402_pay, venice_chat, venice_web_search, venice_models, venice_balance, venice_transactions, rialto_quote_bridge, rialto_fund_venice, rialto_agent.
Hosted API
curl https://rialto.casa/api/chaincurl https://rialto.casa/api/stocks/NVDAcurl "https://rialto.casa/api/stocks?q=TSLA"curl https://rialto.casa/api/wallet/0xb9A67f59bcfd3b45fe1ca2c55A55C19B2b35B58fcurl "https://rialto.casa/api/pools?limit=10"Responses are JSON with ok and data. Prices come from GeckoTerminal (30 requests per minute); chain reads use a pool of public RPCs with a short cache.
Security and limits
- The private key is generated locally, stored with mode 600, and never uploaded. Back it up.
- Payments are signed authorizations, not transactions: no gas for x402 or Venice top-ups. Bridging spends a little ETH on Robinhood Chain.
- maxPaymentUsdg caps one x402 payment, payAllowlist restricts hosts, agentBudgetUsd caps one agent run. All enforced before any signature is produced.
- hood_send_usdg and rialto_fund_venice move real funds. An agent should confirm with you before calling them.
- Not audited. Keep small balances in the agent wallet.
Facts the code relies on
- USDG on Robinhood Chain: 6 decimals, EIP-712 domain "Global Dollar" version "1", supports EIP-3009 transferWithAuthorization and EIP-2612 permit.
- Venice x402: prepaid USD ledger per wallet, top-up in USDC on Base or Solana, minimum 5 USD, header SIGN-IN-WITH-X.
- Relay and Across both bridge USDG (4663) to USDC (8453) in about 2 seconds for roughly 0.1 percent.