Overview

SeedCTL Documentation

SeedCTL is a CLI-first, deterministic, offline-focused multichain wallet generator. It supports reproducible wallet derivation workflows with explicit entropy handling and visible derivation paths.

Project Context

SeedCTL is a multichain, deterministic and auditable wallet generator focused on secure offline operation.

The goal is to allow verifiable wallet derivation from explicit inputs, reducing trust in opaque runtime behavior.

Operational Warning

This software displays highly sensitive material (mnemonic, passphrase, keys). Use only in secure offline environments.

  • No network dependency
  • No data transmission
  • No disk persistence by design intent
  • Compatible with offline and air-gapped workflows

Quick Start

  1. Download the latest version at:

    https://github.com/evolvbits/seedctl/releases

  2. Disconnect from the internet.

  3. In a trusted environment, run the binary “seedctl-[VERSION]-[SYSTEM]-x86_64”. If you are on Linux, grant execute permission.

  4. Important: Read ALL the initial recommendations.

  5. Select Create new wallet or Import existing wallet.

  6. Choose entropy mode and enter/select passphrase.

  7. Select network and derivation options.

  8. Verify outputs before funding addresses.

Execution Flow

1. Entropy Input

Manual dice for reproducibility or hybrid with system RNG for fresh generation.

2. Mnemonic Stage

BIP39 12/24 words, optional passphrase, deterministic seed derivation.

3. Path Selection

Choose chain, network, derivation style/path and address index range.

4. Verification

Validate paths, keys and addresses against expected values before use.

Entropy Modes

Deterministic Mode

  • Manual dice sequence input.
  • No hidden runtime randomness.
  • Best for recovery and audit workflows.

Hybrid Mode

  • Combines dice entropy and system RNG.
  • Good for creating new wallets with defense in depth.
  • Not intended for exact deterministic replay.
dice_entropy = SHA256(dice_sequence_bytes)

deterministic: entropy_final = truncate_bits(dice_entropy, mnemonic_bits)
hybrid:        entropy_final = truncate_bits(SHA256(dice_entropy || system_entropy_32B), mnemonic_bits)

Networks & Derivation Paths

NetworkPrimary Path / StyleAddress Format
Bitcoin

m/84'/coin_type'/0' (+ BIP49/BIP44)

bc1... / tb1...

Ethereum

m/44'/60'/0'/0/x (+ ledger/custom)

0x...

BNB Chain

m/44'/60'/0'/0/x (+ ledger/custom)

0x...

XRP Ledger

m/44'/144'/0'/0/x

r...

Tron

m/44'/195'/0'/0/x (+ ledger/custom)

T...

Solana

m/44'/501'/index'/0'

base58

Litecoin

m/84'/coin_type'/0'/0/x

ltc... / tltc...

Polygon

m/44'/60'/0'/0/x (+ ledger/custom)

0x...

Cardano

m/1852'/1815'/0'/0/index

addr... / addr_test...

Monero

xmr(major=0,minor=index) model

base58

Wallet Compatibility

Bitcoin

  • Sparrow Wallet

  • Electrum

  • BlueWallet

  • Bitcoin Core

Ethereum

  • MetaMask

  • Ledger Live

  • Other BIP39/BIP44 wallets with m/44'/60'/0'/0/x

BNB Smart Chain

  • MetaMask (BSC network)

  • Trust Wallet

  • Rabby

  • Other EVM wallets with m/44'/60'/0'/0/x

XRP Ledger

  • Xaman (XUMM)

  • Ledger Live

  • Other XRPL wallets with m/44'/144'/0'/0/x

Tron

  • TronLink

  • Wallets using m/44'/195'/0'/0/x

Solana

  • Phantom

  • Solana CLI / solana-keygen

  • Wallets using m/44'/501'/index'/0'

Cardano

  • Eternl

  • Yoroi

  • Lace

  • Wallets using CIP-1852 m/1852'/1815'/account'/0/index

Monero

  • Monero GUI Wallet

  • monero-wallet-cli

  • Feather Wallet

  • Wallets compatible with standard/subaddress format

Generated Outputs

  • BIP39 mnemonic and word indexes.
  • Account-level key material (as applicable by chain).
  • Derivation paths used for each generated address.
  • Address lists by selected index range.
  • Optional watch-only export files.

Security Policy

Only the latest version of SeedCTL is supported.

What SeedCTL Helps With

  • Transparent derivation and generation flow.
  • Deterministic reproducibility controls.
  • Reduced dependence on opaque tools/services.

What You Must Handle

  • Host OS security and malware hygiene.
  • Safe key/mnemonic storage and backups.
  • Correct network/path/passphrase validation.

This project assumes

  • Offline usage
  • Trusted execution environment
  • No OS-level compromise
  • No malicious hardware or firmware

Does not mitigate

  • Malware and keyloggers
  • Screen recording
  • Side-channel attacks

Reporting a Vulnerability

  • Do NOT open a public issue.
  • Contact the maintainer privately via GitHub or GitLab.
  • Provide: issue description, impact analysis, and reproduction steps if possible.

User Responsibility

  • Environment security and host integrity.
  • Key storage and backup strategy.
  • Understanding derivation paths for all supported networks.
  • Use at your own risk.

Deterministic Recovery Checklist

  1. Use same mnemonic source and size.
  2. Use same entropy mode and dice sequence (if used).
  3. Use exact same passphrase.
  4. Use same chain/network and derivation style/path.
  5. Compare paths, keys and addresses for the same indices.

Reproducibility & Deterministic Recovery

This section explains how to deterministically reproduce wallets generated with SeedCTL. A wallet is reproducible only when all relevant inputs are identical — if any input changes, outputs change.

Supported Networks

  • Bitcoin (BTC)
  • Ethereum (ETH)
  • BNB Smart Chain (BNB)
  • XRP Ledger (XRP)
  • Tron (TRX)
  • Solana (SOL)
  • Litecoin (LTC)
  • Polygon (POL/MATIC)
  • Cardano (ADA)
  • Monero (XMR)

Core Principle

A wallet is reproducible only when all relevant inputs are identical:

  1. Mnemonic source (generated in SeedCTL or imported BIP39 phrase)
  2. Mnemonic size (12 or 24 words), when generated in SeedCTL
  3. Entropy mode (Hybrid or Deterministic), when generated in SeedCTL
  4. Dice sequence (if used)
  5. BIP39 passphrase (exactly)
  6. Selected network / coin
  7. Selected derivation mode / style / path for that coin

If any item changes, outputs change.


Entropy Model

When creating a new mnemonic in SeedCTL, the entropy pipeline is:

dice_entropy = SHA256(dice_sequence_bytes)

Deterministic mode (manual dice)

entropy_final = truncate_bits(dice_entropy, mnemonic_bits)

No system randomness is added. Reproducible if the same dice sequence and mnemonic size are used.

Hybrid mode (auto dice + system RNG)

entropy_final = truncate_bits(SHA256(dice_entropy || system_entropy_32B), mnemonic_bits)

Adds system RNG. Intended for fresh wallet generation, not deterministic ceremony replay.

If you need strict reproducibility, use deterministic / manual dice mode or import an existing mnemonic.


What You Must Record for Future Recovery

For a deterministic ceremony, record at minimum:

  • Mnemonic size (12 / 24)
  • Entropy mode
  • Full dice sequence (if used)
  • Passphrase (or explicit “empty”)
  • Selected coin / network
  • Selected derivation mode / style / path
  • Address index range generated (e.g. 0–9)

For imported wallets, record:

  • Full mnemonic words
  • Passphrase
  • Coin / network
  • Derivation mode / style / path

Coin-Specific Reproducibility Parameters

Bitcoin (BTC)

  • Networks: Mainnet and Testnet
  • Coin type: Mainnet 0, Testnet 1
  • Derivation purpose selectable: BIP84, BIP49, BIP44
  • Account path (BIP84): m/84'/coin_type'/0' — native SegWit
  • Account path (BIP49): m/49'/coin_type'/0' — nested SegWit
  • Account path (BIP44): m/44'/coin_type'/0' — legacy
  • Receive path pattern: .../0/index

To reproduce BTC exactly, you must keep both network and purpose identical.

Ethereum (ETH), BNB Smart Chain (BNB), Polygon (POL/MATIC)

These three share the same EVM derivation engine.

  • Derivation style (Standard): base m/44'/60'/0'/0, addresses at /index
  • Derivation style (Ledger): addresses at m/44'/60'/index'/0/0
  • Derivation style (Custom): supports {index} placeholder; if path ends with /, index is appended

For deterministic recovery, use the same style and exact custom template (if any).

XRP Ledger (XRP)

  • Networks: Mainnet and Testnet
  • Base path: m/44'/144'/0'/0
  • Address paths: m/44'/144'/0'/0/index
  • Address format: XRPL classic address (r...)

Tron (TRX)

  • Derivation style (Standard): m/44'/195'/0'/0/index
  • Derivation style (Ledger): m/44'/195'/0'/index'/0/0
  • Derivation style (Custom): custom path supported
  • Address format: Base58Check with Tron prefix (T...)

Solana (SOL)

  • Path: m/44'/501'/index'/0'
  • Address format: base58 Ed25519 public key

Litecoin (LTC)

  • Networks: Mainnet and Testnet
  • Coin type: Mainnet 2, Testnet 1
  • Account path: m/84'/coin_type'/0'
  • Receive paths: m/84'/coin_type'/0'/0/index
  • Address format: Mainnet HRP ltc..., Testnet HRP tltc...

Cardano (ADA)

  • Networks: Mainnet and Testnet
  • Scheme: CIP-1852 / Shelley
  • Account path: m/1852'/1815'/0'
  • Payment paths: m/1852'/1815'/0'/0/index
  • Address format: Mainnet addr..., Testnet addr_test...

Monero (XMR)

  • Networks: Mainnet and Testnet
  • Seed input: derived from BIP39 seed bytes + passphrase
  • Index 0 = standard address; index ≥1 = subaddress (major=0, minor=index)
  • Displayed derivation label: xmr(major=0,minor=index)

Monero is deterministic for the same mnemonic, passphrase, network, and index.


Practical Recovery Flow

  1. Run SeedCTL in a trusted offline environment.
  2. Choose Create new wallet for ceremony replay using the same entropy inputs, or Import existing wallet if you already have the mnemonic.
  3. Enter exactly the same passphrase.
  4. Select the same coin / network.
  5. Select the same derivation mode / style / path.
  6. Generate the same address index range.
  7. Compare outputs against your recorded reference.

Output Verification Checklist

For a successful reproduction, compare:

  • Mnemonic words and order
  • BIP39 word indexes
  • Displayed derivation path(s)
  • Account-level extended / public keys (where applicable)
  • Generated addresses for the same indices

If all of the above match, reproduction is confirmed for that coin / path configuration.


Common Causes of Mismatch

  • Using Hybrid mode when expecting deterministic replay
  • Different dice sequence
  • Different mnemonic size
  • Different passphrase (including spacing or case differences)
  • Wrong network (e.g. mainnet vs testnet)
  • Different derivation style (standard vs ledger vs custom)
  • Different custom path template
  • Comparing different address indices

Terms of Use

Last updated: February 26, 2026

These terms describe the operational responsibilities and risk assumptions accepted when you use SeedCTL.

1. Scope

  • SeedCTL is provided as a technical tool for deterministic wallet generation and verification workflows.
  • The software does not custody assets, execute transactions, or provide investment advice.

2. User Responsibilities

  • Use the software only in trusted environments under your control.
  • Protect mnemonic phrases, passphrases, private keys, and exported files at all times.
  • Validate derivation paths, network selection, and addresses before funding any wallet.

3. Security Care

  • Keep host OS, firmware, and security controls hardened and updated.
  • Prefer offline or air-gapped procedures for high-value key generation.
  • Maintain tested backup and disaster-recovery procedures.

4. Risk Disclosure

  • Any compromise of your host, inputs, storage, or operational process can cause irreversible asset loss.
  • Blockchain transfers are irreversible; wrong addresses or wrong networks may not be recoverable.
  • Deterministic reproduction depends on exact matching inputs, passphrase, path, and network.

5. No Warranty

  • SeedCTL is provided "as is", without warranties of availability, fitness, or non-infringement.
  • You assume all risks resulting from software use, misuse, or environment failures.

6. Acceptance

  • By using SeedCTL, you agree to these terms and confirm you understand the operational risks.

Disclaimer

Security and Liability Notice

This software handles highly sensitive material and may irreversibly expose mnemonic phrases (BIP39 seeds), passphrases, private keys, and wallet metadata. If any of the above is exposed, funds can be permanently lost.

User Responsibility

By using this software, you accept full responsibility for:

  • where and how this software is executed
  • seed/key generation, storage, backup, and recovery procedures
  • validation of derivation paths, address formats, and network selection
  • testing and verification before moving significant funds

Operational Security Requirements (Recommended)

  • run offline / air-gapped whenever possible
  • use a clean and trusted operating environment
  • avoid shared computers, remote sessions, and screen recording
  • verify binaries, checksums, and signatures before execution
  • never store sensitive secrets in plaintext or cloud-synced folders

No Warranty

This software is provided "AS IS", without warranties of any kind, express or implied, including but not limited to merchantability, fitness for a particular purpose, and non-infringement.

Limitation of Liability

The author(s), maintainer(s), and contributor(s) shall not be liable for any direct or indirect loss, including loss of funds, data loss, operational loss, or security incidents resulting from use or misuse of this software.

Acceptance of Risk

By using this software, you acknowledge that you understand these risks and accept full responsibility for all outcomes.