Bitcoin. In your hands.

Hold your own.

Hold bitcoin on your terms. Know exactly what you’re signing. Know you can recover without us.

The position

Freedom needs structure.

Bitcoin lets you hold money without asking anyone’s permission. That freedom only works when the keys, spending rules, backups, and recovery plan are truly yours. Groot makes each one visible, verifiable, and portable.

Product proof

Your Bitcoin wallet should show its work.

01

Protect bitcoin with multiple keys.

Create a standard 2-of-3 multisig wallet across independent hardware vendors. Inspect every public key and export the descriptor needed to recover without this app.

Current wallet policy screen showing a two-of-three multisignature setup
Current wallet UI · unchanged layoutBrowser fixture · virtual test devices

02

Know before you sign.

Before bitcoin moves, review the destination, amount, fee, selected coins, change, and signatures still required. The review comes from the actual unsigned transaction.

Current wallet transaction review screen with disposable regtest data
Current wallet UI · disposable dataBrowser fixture · regtest transaction

03

Recover anywhere.

Export a standard public descriptor, verify that it rebuilds the same wallet, and rehearse recovery before you need it. Your backup is not tied to this app.

Current wallet backup and recovery drill screen
Current wallet UI · public descriptor workflowBrowser fixture

04

Use your own Bitcoin node.

Choose the Bitcoin Core node that provides wallet balances and transaction history. Remote access requires HTTPS or Tor, and the wallet never silently falls back to a public server.

Current wallet settings screen showing Bitcoin Core connection controls
Current wallet UI · disposable endpointBrowser fixture · regtest

Security architecture

Security starts at the boundary.

Critical decisions stay in the native wallet core. The interface asks, displays, and confirms. It does not hold the keys or invent transaction truth.

01

Keys stay out of the interface.

Mnemonic words, seeds, private descriptors, and decrypted signing material never enter the webview. Software-wallet secrets are created and used inside the native Rust boundary.

02

Every transaction is checked in Rust.

Review data comes from the persisted unsigned transaction. Inputs, fees, recipient, change, and wallet-owned outputs are validated again before signing or broadcast.

03

Recovery does not depend on this app.

Standard BIP84 and BIP48 descriptors, PSBTs, and BSMS records keep wallet policy portable across compatible Bitcoin tools.

04

Your node is the network boundary.

Each wallet connects to a Bitcoin Core node you choose. Local connections stay on loopback; remote connections require HTTPS or an explicit Tor proxy. There is no silent public fallback.

Current stack

  • SvelteKit
  • Tauri 2
  • Rust
  • BDK + Miniscript
  • SQLite
  • Bitcoin Core RPC
  • HWI

Test-network implementation. Physical-device and reproducible-release certification remain open.

Principles

Everything important is explicit.

  1. 01Your keys remain your authority.
  2. 02Every security claim comes with evidence.
  3. 03Recovery works beyond this app.
  4. 04Privacy protects your security.
  5. 05Every dependency has an exit.

The mission

Make self-custody the standard.

Hold bitcoin with keys you control, transactions you verify, and a recovery path that works without us.