SwapChan
Never holds your keys Β· your wallet signs
blocktoolsv0.1.1 Β· 2026-10-26MIT Β· Rustβ˜… GitHub
blocktools CLI

All chains, one CLI

42 small Unix tools that read wallet files and seed phrases, derive addresses, and build, check and sign transactions, offline. Pipe them together. No browser, no wallet app.

blocktools-v0.1.1-linux-x86_64.tar.gz Β· 35.2 MB Β· Linux x86_64, glibc 2.34+ (sealed-run needs 2.39+) Β· verify with SHA256SUMS Β· no macOS, Windows or ARM build yet (platforms)

gh release download v0.1.1 -R TSavo/blocktools
sealed run Β· public BIP39 test phrase
$ ./blocktools run 'classify /in/seed.txt'
…"class":"mnemonic"…

$ ./blocktools run 'seed-repair < /in/seed.txt | seed-to-master | derive --chain btc --count 1'
…1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA…
…bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu…
# key fields print as [REDACTED]

Commands and expected addresses from the repo's Getting started; CI checks these values. Output trimmed to the checked fields.

Why blocktools

A Swiss Army knife for every chain

⛓️

One tool, many chains

Bitcoin and its forks, Ethereum and EVM, Solana, Tron, XRP, Cosmos, Cardano, Polkadot, TON and older Bitcoin forks, each marked in the chain table with what is built.

πŸ’»

Runs on your machine

A local CLI. Pipelines that touch a secret run sealed: no network, read-only filesystem, all capabilities dropped.

πŸ”“

Open source (MIT)

Source, 44 man pages and the recipes are on GitHub, so you can read it before you trust it.

πŸ”’

Secrets stay local

Passwords live in ./secrets, never on the command line. Key fields print as [REDACTED].

Swap-chan

It's a set of tiny blades: each tool does one job and speaks JSON lines, so you snap them together with pipes.

Highlights

What's in the box

  • Wallet readers. wallet.dat, Ethereum keystores, Electrum, MultiBit, Armory, BIP38 and seed phrases (typos repaired).
  • Address derivation. derive, key-to-addresses and xpub-addresses across the chain table.
  • Transactions. tx-build, tx-verify, tx-sign and tx-broadcast, with policy files that cap destinations, amounts and fees.
  • Node RPC. rpc talks to EVM, bitcoind, Solana, Tron, Cosmos, Esplora and Blockbook, refusing key-export and wallet-signing methods by default.
  • Sealed runs. ./blocktools run in Docker with --network none; only ./blocktools reveal, at a real terminal after a typed code, prints keys. reveal runs through the same sealed Docker flow, so it needs a source checkout.
  • Library and wasm. A Rust library and a wasm build: the same code that powers SwapChan's web tools and MCP.
How to install

Two ways in

Release download (Linux x86_64)

Download, check the checksum, unpack, add to PATH.

gh release download v0.1.1 -R TSavo/blocktools
sha256sum -c SHA256SUMS
tar xzf blocktools-v0.1.1-linux-x86_64.tar.gz
cd blocktools-v0.1.1-linux-x86_64
export PATH=$PWD/bin:$PATH MANPATH=$PWD/share/man:
man blocktools

If sha256sum -c does not say OK, stop.

Build from source

Rust plus Docker; the last step builds the sealed image.

git clone https://github.com/TSavo/blocktools && cd blocktools
cargo build --locked --release --workspace
./blocktools build

Full install guide

First run

From zero to addresses in four steps

  1. 1

    Make the folders and add the public test phrase

    ./in is mounted read-only as /in inside the sealed run. Never use a real seed to practise.

    mkdir -p in secrets
    printf '%s\n' 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about' > in/seed.txt
  2. 2

    Ask what the file is

    classify answers "class":"mnemonic".

    ./blocktools run 'classify /in/seed.txt'
  3. 3

    Derive addresses

    Repair, make the master key, derive the first address of each Bitcoin type.

    ./blocktools run 'seed-repair < /in/seed.txt | seed-to-master | derive --chain btc --count 1'
  4. 4

    Or let the front door choose

    recover.sh picks the pipeline for any file.

    recipes/recover.sh /in/seed.txt - --goal addresses
Swap-chan

Next, try your own file type in the examples. Before moving funds, read Sweep: sweeps are tested end to end only against a mock chain.

Who it's for

Pick your path

πŸ—οΈ

You have an old wallet file or seed

See its addresses offline, then check balances.

✍️

You sign transactions

Decode and verify before you sign, with policy limits.

πŸ€–

You build tools or agents

Script it in pipes, call nodes, use the library, wasm or MCP.

Dangerous with real funds. Read and audit code that handles keys before you trust it, and run secret steps sealed and offline. Security model
Reference

Everything else

All pages

Recipes (40)Open recipes index β†’
Examples (7)Open examples index β†’
Docs (14)Open docs index β†’

All chains, one CLI

Open source (MIT), runs on your machine. Get v0.1.1 or read the source first.