Docs · Solana
Canalport on Solana
Technical reference: Rialto open-source kit, version 0.11.0.
One wallet on Solana. It pays x402 endpoints in USDC and funds private Venice AI inference from the same address. Everything below runs on your machine; the private key never leaves it.
Install
Node 20 or newer. The first command creates the Solana keypair and prints the address to fund.
npx https://www.rialto.casa/downloads/rialto-kit-0.11.0.tgz sol init
npm i -g https://www.rialto.casa/downloads/rialto-kit-0.11.0.tgz
Send USDC to the printed address from any wallet or exchange. Payments need no SOL: the facilitator pays the transaction fee. Keep a little SOL only if you want to send or burn tokens yourself.
Fund Venice
Venice accepts USDC on Solana for top-ups through its own x402 endpoint. The kit builds the transfer, signs it, and Venice's facilitator lands it. The credit goes to the Venice ledger of the same address.
rialto sol fund 5
rialto venice balance
rialto chat "Explain x402 in two sentences"
Minimum top-up 5 USD. The wallet must hold the USDC already; the kit never bridges or swaps on your behalf.
Pay any x402 endpoint
An endpoint that answers 402 with a USDC-on-Solana option gets paid in one request. The ceiling and the allowlist apply before anything is signed.
rialto sol pay https://api.venice.ai/api/v1/x402/top-up -X POST --dry-run
rialto sol pay https://example.com/x402/report --max 0.05
Commands
| rialto sol init | Create the Solana keypair (or show it). The secret stays in ~/.rialto/config.json, mode 600. |
| rialto sol status [address] | SOL, USDC and Canalport balances of an address (default: this wallet), current slot. |
| rialto sol address | Print this wallet's public key, to fund it. |
| rialto sol fund <usd> | Top up Venice straight from this wallet's USDC on Solana. Minimum 5. No bridge, no SOL fee. |
| rialto sol pay <url> [-X POST] [-d body] [--max usdc] [--dry-run] | Fetch a URL and pay in USDC on Solana if it answers 402 with a Solana option. --dry-run shows the price without paying. |
| rialto sol config mint <address> | Set the Canalport mint once the token is live. CANALPORT_SOLANA_MINT overrides it. |
| rialto sol token [mint] | Supply, decimals, authorities, the largest holders with owners, price and pool. |
| rialto sol holders [mint] [-n 20] | Every holder by a full scan of the mint's token accounts, top holders, concentration. |
| rialto sol burns [mint] [-s 100] | Burn instructions in the mint's recent transactions: amount, authority, time, signature, total. |
| rialto sol trades [mint] [-l 20] | Recent trades on the deepest pool: buys and sells, USD size, price, last hour totals. |
| rialto sol stock <symbol> | Tokenized stocks on Solana (AAPLx, TSLAx, NVDAx…): mint, USD price, deepest pool. |
| rialto sol send <to> <amount> --yes [--sol | --rialto] | Send USDC (default), SOL or Canalport from this wallet. Irreversible. |
| rialto sol burn <amount> --yes | Burn Canalport from this wallet. The supply shrinks for good. Irreversible. |
| rialto sol watch [-e 15] [--json] [--once] | Follow Solana live: slot, this wallet's balances, the Canalport trade tape. |
| rialto chat "<prompt>" [--model m] [--web] | One Venice completion from the wallet's credit. --web adds private web search. |
| rialto agent "<goal>" [-b 0.25] [--cap sol_pay=0.05] | The budgeted reference agent: plans, calls tools, stops at the budget. --cap tool=usd caps one tool for the run; repeat it per tool. |
| rialto venice balance | ledger | models | search "<q>" | Venice account, history, models, private web search. |
| rialto mcp | Start the MCP server on stdio for Claude Code, Cursor, Codex or any MCP client. |
| rialto skill | Print the SKILL.md for coding agents. |
| rialto config [key] [value] | Read or set defaultModel, agentBudgetUsd, maxPaymentUsdg (the per-payment ceiling, in dollars), payAllowlist, toolCaps (sol_pay=0.05,venice=0.03). |
The token
Once the Canalport mint is live on Solana, set it in the kit and every ledger command reads it from the chain: supply and authorities, every holder by a full token-account scan, burn instructions with their signatures, the trade tape. Classic Token and Token-2022 mints both work.
rialto sol config mint <address>
rialto sol holders -n 25
rialto sol burns -s 200
The public Solana endpoint throttles transaction reads, so burn scans may need a private RPC: set SOLANA_RPC_URL to a free Helius, QuickNode or Triton endpoint.
MCP for coding agents
The local MCP server exposes the Solana tools and Venice inference to Claude Code, Cursor, Codex or any MCP client. Reads are free; sends, burns and payments are marked irreversible so the agent asks first.
{"mcpServers":{"rialto":{"command":"npx","args":["-y","https://www.rialto.casa/downloads/rialto-kit-0.11.0.tgz","mcp"]}}}Tools: sol_status, sol_token, sol_holders, sol_burns, sol_trades, sol_stock, sol_pay, sol_fund, sol_send, sol_burn, venice_chat, venice_web_search, rialto_agent. rialto skill prints the SKILL.md.
Guardrails
maxPaymentUsdg: the per-payment ceiling, in dollars (default 1). Applies to USDC on Solana too.payAllowlist: hosts the payer may pay. Empty means any HTTPS host.agentBudgetUsd: hard budget for one agent run, inference plus payments (default 1).toolCaps: one cap per tool inside a run. sol_pay is refused once its cap is spent, and the remaining cap becomes the ceiling of the next payment; venice stops inference at its cap. Set per run with--cap sol_pay=0.05 --cap venice=0.03, or once withrialto config toolCaps sol_pay=0.05,venice=0.03.- Every irreversible command (send, burn) refuses to run without
--yes. - Environment:
SOLANA_RPC_URL,RIALTO_SOLANA_MINT,SOLANA_SECRET_KEY(base58),VENICE_API_KEYfor key mode.
Not audited. Keep small balances in the agent wallet. Independent project, not affiliated with Venice AI or the Solana Foundation.