You, in a shell.
Intent-first commands handle the normal path. Every send shows the amount and fee before the seed is unlocked and the transaction is signed.
sats init sats receive sats balance sats send tb1p... 25kExplore the CLI
A small, native wallet that lives in your terminal. Spend directly, or let an AI agent ask: it prepares payments inside a budget you set, and every send waits for your approval. AI asks. You approve. Keys stay yours.
curl -fsSL https://sats.sh/setup.sh | shLive playground
The portable engine is compiled to WebAssembly. The chain is simulated; the planning, signing, UTXO protection, and grant authorization are not.
Keys and state stay in this tab and disappear when you close it.tab complete · ↑/↓ history · ctrl+l clear
Two native surfaces
Intent-first commands handle the normal path. Every send shows the amount and fee before the seed is unlocked and the transaction is signed.
sats init sats receive sats balance sats send tb1p... 25kExplore the CLI
MCP exposes a small read-and-request surface. The agent files a request and cannot cause a signature. Every request lands in your review queue, and one password-gated approval executes exactly that payment, once — the agent does nothing further.
sats agent grant claude \ --budget 50k --for 24h sats agent requests --watch sats agent approve k-invoice-1Read the agent contract
Portable core
sats-core owns deterministic planning, authorization, seed sealing, and signing boundaries—with no filesystem, network, clock, terminal, or async-runtime dependencies.