A visible, auditable, deliberately low-value Ethereum wallet for local AI agents in Omarchy Quattro. The keyboard-first bar plugin exposes balance, networks, policy, watched tokens, known addresses, activity, and deterministic routines while handing conversational work to the user's configured Omarchy agent.
It is an agent playground, not a primary user wallet. It does not depend on Helios, a browser wallet, ERC-4337, a bundler, or a paymaster.
omarchy plugin add https://github.com/raid-guild/omarchy-agent-wallet-plugin.git --enableOpen AGENT in the bar and choose Set up your wallet. The plugin sends a deterministic setup prompt to the configured Omarchy agent. The bundled setup:
- checks Omarchy's Node/npm runtime plus
jq, OpenSSL,flock, andsecret-tool; - installs its locked ethers dependency without sudo;
- installs
agent-walletunder~/.local/bin; - registers one shared skill for Codex, Claude, Grok/Pi, and compatible agents; and
- creates an encrypted EVM keystore and reports its public address.
On Arch, secret-tool is supplied by core/libsecret. Foundry is not required. Setup never funds the account.
One EOA works across Ethereum, Base, Ethereum Sepolia, and Base Sepolia. Custom EVM networks can be added when their RPC reports the declared chain ID.
j/kor arrow keys move the cursor.h/lmove across network choices.- Enter or Space activates the selection.
rrefreshes andccopies the selected public value.- Escape backs out of a panel, then closes the plugin.
Tokens, Address Book, Activity, and Routines open as full-size panels. Agent prompts include public context but never secret material.
- New wallets start in Open Playground mode: a successful simulation can be signed automatically for any destination, with a compact warning in the UI.
- The account's intentionally small balance is the hard onchain loss limit.
- The user can lock signing or define expiration, destination, per-transaction, and daily limits.
- Those limits are enforced by the local helper, not by a smart contract.
- The encrypted keystore password is stored in the desktop Secret Service.
- The helper never prints the private key or password.
- Registry entries add labels and watched balances; they do not grant permission.
- Routine registration never enables or runs a timer without an explicit request.
If an agent sandbox blocks an outbound RPC call, agent-wallet returns structured diagnostics asking the harness for approval of that individual command. Users do not need to run every agent session with unrestricted permissions.
agent-wallet status --json | jq
agent-wallet network list
agent-wallet network use base-sepolia
agent-wallet policy open
agent-wallet policy lock
agent-wallet policy define --hours 2 --max-transaction 0.001 --daily-limit 0.005 --allow 0x...
agent-wallet registry address add --name "Test receiver" --address 0x... --kind wallet
agent-wallet registry token add --symbol USDC --address 0x... --decimals 6
agent-wallet simulate --to 0x... --value 0.0001
agent-wallet send --to 0x... --value 0.0001
agent-wallet audit --json | jq
agent-wallet routine list --jsonPolicies and registry entries apply only to the active network. An empty allowlist is locked; --allow-any must never be selected silently by an agent.
omarchy plugin remove raidguild.agent-playgroundRemoving the plugin surface deliberately preserves the keystore, CLI, skill, public configuration, audit history, and any funds so uninstalling cannot strand value.
omarchy plugin validate .
bash tests/cli-test.sh
node tests/model-test.js
npm ci --ignore-scripts --no-audit --no-fund --prefix runtime
node runtime/runtime-test.mjs