A self-custodial crypto agent for your desktop.

Keys are generated and encrypted on your machine. The agent proposes on-chain actions. A fail-closed gate sits between every proposal and every signature.

Free and MIT-licensed. No server component, no telemetry, nothing uploaded.

Built on what you already trust

  • Ethereum
  • Base
  • Solana
  • viem
  • OpenAI-compatible
  • Electron
  • React
  • TypeScript
  • Node.js
  • Vite
The runtime

Propose, gate, then sign — in that order.

01

Keys never leave

EVM and Solana accounts derived from one BIP-39 phrase, encrypted at rest with AES-256-GCM. The master password lives in memory only and is wiped on lock, on quit, and after fifteen idle minutes.

02

The gate is not optional

Twelve checks run on every fund-moving action, in every mode. An unknown network, an unparseable amount or a thrown error is a block, not a pass. The agent has no way to reach the rules.

03

You set the autonomy

Four execution modes, from asking before every transfer to running a mission unattended. Autonomy decides whether a human is asked — never whether the gate runs.

The gate

Twelve checks stand between the agent and your funds.

Every proposal is answered before anything is signed, and the verdict is shown to you in full — the checks that passed and the one that refused. The transfer allowlist starts empty, so a destination is refused until you deliberately add it.

  • Refusals are the default: an error inside a check is a block
  • Mainnet cannot be selected until you enable real funds
  • Every refusal path has a test covering it
Missions

Autonomous loops that stop for a stated reason.

Point a mission at an objective and a budget. It runs until one of nine terminating conditions is met, and it tells you which one — objective met, deadline reached, capital exhausted, max loss, no opportunities, step limit, emergency stop, operator stop, runtime error.

  • Capital and loss ceilings are set before the first step
  • The emergency stop refuses all fund movement instantly
  • Every step is gated exactly as a manual action would be
The record

A log that shows you when it has been edited.

Every decision is appended to a hash-chained file in your own user directory. Editing a past line breaks every hash after it, and the app names the exact sequence number where the chain gave way.

  • Secrets are redacted before anything is written
  • Conversations and lessons survive a restart, on disk
  • Lessons halve in strength every 30 days unless reinforced
Built for control

Your machine. Your keys. Your call.

Nothing is uploaded

Local by construction

There is no server component and no telemetry. Keys, state, audit log and memory all sit in your OS user directory.

Real funds are opt-in

Testnets by default

Sepolia, Base Sepolia and Solana Devnet. Mainnet networks cannot even be selected until you turn real funds on in Guardrails.

Signing stays privileged

A hostile renderer

The UI is sandboxed with no Node and no network access at all. Signing authority never crosses the process boundary.

Get started

Start on a testnet. Move to mainnet when you trust it.

Create a vault, write down the recovery phrase, and point the agent at Sepolia. It is shown once and cannot be recovered.

MIT licence — Windows 10/11 and macOS 12+. Node 20+ to build from source.