Category: Blockchain / AI Wallet
Networks: Solana (Devnet)
Install: clawhub install sona Version: 1.0.1
SONA is an autonomous Solana wallet agent. It watches your on-chain wallet, reasons against your YAML policy rules, and executes trades and transfers — governed by four Constitutional Laws that no AI decision can ever override.
text
Observe → Reason → Decide → Execute
Every action is bounded by Constitutional Law: 50M lamports max per action (Rust-enforced), with an on-chain Memo receipt attached to every transaction.
ToolParametersDescriptionget_wallet_status—SOL balance, address, mode, cycle statsget_sol_price—Live SOL/USD from Pyth Hermes oracleget_agent_status—Mode, brain, cycles run, last cycle timeset_mode``mode, acknowledgment?Switch standard / assisted / god mode (auth required)get_policy—Current YAML policy rules + spend limitstransfer_sol``to, amount_solTransfer SOL — all Constitutional Laws enforced (auth required)get_pending_actions—Approval queue in assisted mode (auth required)approve_action``cycle_idApprove a queued action to execute (auth required)chat``messageNatural language command to the SONA AI (auth required)get_activity``limit?Recent agent activity summary
bash
git clone <repo>
cd <repo>
bun install
bun run sona init # set passphrase, create wallet
bun run sona start # agent starts on port 3000
bash
curl -s -c cookies.txt -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"your_user","password":"your_pass"}' | jq -r '.token'
bash
export SONA_API_URL=http://localhost:3000
export SONA_TOKEN=<token-from-step-2>
bash
clawhub install sona
All actions are governed by four immutable laws. No tool call can bypass them:
LawNameEnforcementIOwner SupremacyYour YAML policy overrides all AI reasoningIIBounded Expenditure50M lamports/action hard cap (enforced in Rust)IIIRadical TransparencyOn-chain Memo receipt on every executed transactionIVFail-Safe HaltingSimulation failure → agent halts, funds stay put
text
Agent: "Check SONA's wallet balance"
→ calls get_wallet_status
→ returns: 4.82 SOL, god mode, 142 cycles run
Agent: "Transfer 0.1 SOL to vault"
→ calls transfer_sol { to: "vault", amount_sol: 0.1 }
→ SONA reasons, simulates, executes within Law II limit
→ returns: tx confirmed, Memo logged on-chain
Agent: "What is the current SOL price?"
→ calls get_sol_price
→ returns: $142.30 USD (Pyth Hermes)
VariableRequiredDefaultDescriptionSONA_API_URLNohttp://localhost:3000SONA dashboard base URLSONA_TOKENYes—JWT session token (required for all state-changing operations: transfers, chat, mode switching, approvals)
Read-only tools ( get_wallet_status, get_sol_price, get_agent_status, get_policy, get_activity) work without a token. All state-changing tools require SONA_TOKEN.