Skip to content

mrz1836/sigil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

245 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐Ÿ”ฎย ย Sigil

Terminal-based multi-chain cryptocurrency wallet for power users


Release Go Version License


CI / CD ย ย  Build Last Commit ย ย ย ย  Quality ย ย  Go Report Coverage
Security ย ย  Scorecard Security ย ย ย ย  Community ย ย  Contributors Bitcoin


Project Navigation

๐Ÿš€ย Installation โšกย Quickย Start ๐Ÿ“šย Documentation
๐Ÿ”ย Security ๐Ÿ› ๏ธย Codeย Standards ๐Ÿงชย Examplesย &ย Tests
๐Ÿค–ย AIย Usage โš–๏ธย License ๐Ÿคย Contributing
๐Ÿ‘ฅย Maintainers

๐ŸŽฅ Demo

Sigil Demo


๐Ÿš€ Installation

Sigil requires a supported release of Go.

Install via go install

go install github.com/mrz1836/sigil/cmd/sigil@latest

Build from source

git clone https://github.com/mrz1836/sigil.git
cd sigil
go build -o bin/sigil ./cmd/sigil

โšก Quick Start

Get up and running with these essential commands:


Create a wallet

sigil wallet create main

Creates a new HD wallet with BIP39 mnemonic phrase.


Check balances

sigil balance show --wallet main

Displays balances across all supported chains (ETH, USDC, BSV).


Get a receiving address

sigil receive --wallet main --chain bsv --qr --label "Re-up time!"

Generates a new receiving address for the specified chain.


Check for incoming funds

sigil receive --wallet main --chain bsv --check

Checks for incoming transactions to your wallet.


Send a transaction

sigil tx send --wallet main --to 0x742d35Cc663... --amount 0.00001 --chain eth
sigil tx send --wallet main --to 1A1zP1eP5QGef... --amount 0.00001 --chain bsv

Sends cryptocurrency to the specified address.


Back up your wallet

sigil backup create --wallet main

Creates an encrypted backup of your wallet.


Keep sigil up to date

# Check for a new release
sigil upgrade --check

# Install the latest release
sigil upgrade

# If you're running a dev/commit build, add --force
sigil upgrade --force

Downloads the latest binary from GitHub, verifies SHA256, and replaces in-place. See upgrade for flags.


๐Ÿ“– For complete command reference and advanced features, see the CLI Documentation โ†’


๐Ÿ“š Documentation

View the comprehensive documentation for Sigil:

Document Description
CLI.md Complete command reference and usage guide

Heads up! Sigil is designed with minimal dependencies and maximum security. All cryptographic operations use battle-tested libraries:

  • filippo.io/age for encryption
  • golang.org/x/crypto for cryptographic primitives
  • cosmos/go-bip39 for BIP39 mnemonic generation

Supported Chains

Chain Status Description
โœ… Bitcoin SV (BSV) Supported UTXO-based transaction support
โœ… Ethereum (ETH) Supported Full transaction and balance support
โœ… USDC Supported ERC-20 token on Ethereum network
๐Ÿšง Bitcoin (BTC) Planned Coming in future release
๐Ÿšง Bitcoin Cash (BCH) Planned Coming in future release

Key Features

  • ๐Ÿ”‘ HD Wallet Support โ€” BIP39 mnemonic phrases with BIP32/BIP44 derivation
  • ๐Ÿ›ก๏ธ Shamir's Secret Sharing โ€” Split your wallet seed into multiple shares for enhanced security
  • ๐Ÿ’ฐ Multi-Chain Balances โ€” Check balances across all supported networks
  • ๐Ÿ“ค Transaction Management โ€” Create, sign, and broadcast transactions
  • ๐Ÿ” Secure Sessions โ€” Encrypted session management using OS keychain
  • ๐Ÿค– Agent Tokens โ€” Programmatic access for automation
  • ๐Ÿ’พ Encrypted Backups โ€” Secure wallet backup and restoration
  • ๐Ÿงฉ UTXO Management โ€” Advanced coin control for Bitcoin-based chains
  • ๐Ÿ“ฑ QR Code Support โ€” Terminal-based QR code generation and scanning

๐Ÿ” Security

Important Disclaimer

โš ๏ธ Experimental Software โ€” Use at Your Own Risk

Sigil is experimental, open-source software provided "AS-IS" without warranty. By using Sigil, you acknowledge:

  • You control your keys: Sigil never transmits or stores your private keys. Lost mnemonics are unrecoverable.
  • Transactions are final: Cryptocurrency transactions are irreversible.
  • No formal audit: This software has not undergone professional security auditing.
  • No liability: Authors accept no responsibility for loss of funds or damages.

Do not use Sigil with funds you cannot afford to lose.

For security issues, see our Security Policy or contact: sigil@mrz1818.com


Additional Documentation & Repository Management

Development Setup (Getting Started)

Install MAGE-X build tool for development:

# Install MAGE-X for development and building
go install github.com/magefile/mage@latest
go install github.com/mrz1836/go-mage/magex@latest
magex update:install
Wallet Discovery & Migration

Sigil can discover and sweep funds from other BSV wallets by scanning multiple BIP44 derivation paths. This is essential for recovering funds from defunct providers or migrating from other wallets.

Supported Derivation Schemes

Sigil automatically scans these derivation paths to find your funds:

Derivation Scheme Path Supported Wallets
BSV Standard m/44'/236'/0'/... RelayX, RockWallet, Twetch, Centbee โ€ , Trezor, Ledger, KeepKey
Bitcoin Legacy m/44'/0'/0'/... MoneyButton โ€ , ElectrumSV
Bitcoin Cash m/44'/145'/0'/... Exodus, Simply.Cash โ€ , BCH fork splits
HandCash Legacy m/0'/... HandCash 1.x (legacy version only)

โ€  Service discontinued or shut down

Defunct BSV Services Supported

Sigil provides a recovery path for users of these defunct BSV services:

  • Centbee โ€” Popular BSV mobile wallet that ceased operations in 2026. Uses BSV Standard derivation (m/44'/236'/...) with 4-digit PIN as BIP39 passphrase.
  • MoneyButton โ€” Popular BSV wallet and identity provider that shut down in 2023. Used Bitcoin Legacy derivation (m/44'/0'/...).
  • Simply.Cash โ€” Mobile BSV wallet that ceased operations. Used Bitcoin Cash derivation path (m/44'/145'/...).
  • HandCash 1.x โ€” Early versions of HandCash used a non-standard legacy path (m/0'/...). Note: HandCash 2.0+ uses proprietary non-exportable keys and cannot be imported.

Active Wallets Supported

Sigil also supports migrating from active BSV wallets:

  • RelayX โ€” BSV wallet and token platform
  • RockWallet โ€” Multi-chain mobile wallet with BSV support
  • Twetch โ€” BSV social media platform with integrated wallet
  • ElectrumSV โ€” Desktop BSV wallet
  • Exodus โ€” Multi-chain desktop/mobile wallet

Hardware Wallets

  • Trezor โ€” Hardware wallet with BSV support
  • Ledger โ€” Hardware wallet with BSV support
  • KeepKey โ€” Hardware wallet with BSV support

Usage

Discover funds from another wallet's mnemonic:

sigil wallet discover --mnemonic "your twelve or twenty-four word phrase"

For Centbee wallets (uses 4-digit PIN as passphrase):

sigil wallet discover --mnemonic "your phrase" --passphrase "1234"

See the CLI Documentation for complete details on wallet discovery and fund recovery.

Binary Deployment

This project uses goreleaser for streamlined binary deployment to GitHub. To get started, install it via:

brew install goreleaser

The release process is defined in the .goreleaser.yml configuration file.

Supported Platforms

  • Linux: amd64, arm64
  • macOS: amd64, arm64
  • Windows: amd64, arm64

Release Process

Then create and push a new Git tag using:

magex version:bump bump=patch push=true

This process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.

Build Commands

View all build commands

magex help

Common commands:

  • magex build โ€” Build the binary
  • magex test โ€” Run test suite
  • magex lint โ€” Run all linters
  • magex deps:update โ€” Update dependencies
GitHub Workflows

Sigil uses the Fortress workflow system for comprehensive CI/CD:

  • fortress-test-suite.yml โ€” Complete test suite across multiple Go versions
  • fortress-code-quality.yml โ€” Code quality checks (gofmt, golangci-lint, staticcheck)
  • fortress-security-scans.yml โ€” Security vulnerability scanning
  • fortress-coverage.yml โ€” Code coverage reporting to Codecov
  • fortress-release.yml โ€” Automated binary releases via GoReleaser

See all workflows in .github/workflows/.

Updating Dependencies

To update all dependencies (Go modules, linters, and related tools), run:

magex deps:update

This command ensures all dependencies are brought up to date in a single step, including Go modules and any managed tools. It is the recommended way to keep your development environment and CI in sync with the latest versions.


๐Ÿงช Examples & Tests

All unit tests run via GitHub Actions and use Go version 1.25.6. View the configuration file.

Run all tests (fast):

magex test

Run all tests with race detector (slower):

magex test:race

Test Coverage

View coverage report:

magex test:coverage

Coverage reports are automatically uploaded to Codecov on every commit.


๐Ÿ› ๏ธ Code Standards

Read more about this Go project's code standards.


๐Ÿค– AI Usage & Assistant Guidelines

Read the AI Usage & Assistant Guidelines for details on how AI is used in this project and how to interact with AI assistants.


๐Ÿ‘ฅ Maintainers

MrZ
MrZ

๐Ÿค Contributing

View the contributing guidelines and please follow the code of conduct.

How can I help?

All kinds of contributions are welcome ๐Ÿ™Œ! The most basic way to show your support is to star ๐ŸŒŸ the project, or to raise issues ๐Ÿ’ฌ. You can also support this project by becoming a sponsor on GitHub ๐Ÿ‘ or by making a bitcoin donation to ensure this journey continues indefinitely! ๐Ÿš€

Stars


๐Ÿ“ License

License

About

๐Ÿ”ฎ Personal multi-chain wallet CLI โ€” unlock your BSV, BTC, and ETH

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages