Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

VanityKit

Offline vanity address generator for Bitcoin and Ethereum.

VanityKit searches for private keys whose corresponding addresses match a user-specified pattern (prefix, suffix, or substring). All key generation and address derivation run locally. The tool makes no network requests and contains no telemetry.

The implementation prioritises readability and auditability. It is intentionally slower than specialised C++ or GPU tools; use it when you want a simple, offline, inspectable workflow rather than maximum throughput.

Supported address types

Bitcoin

TypePrefix exampleDescription
Legacy P2PKH1...Original pay-to-public-key-hash
Nested SegWit3...P2SH-wrapped P2WPKH
Native SegWitbc1q...Bech32 P2WPKH
Taproot key-pathbc1p...Bech32m P2TR (key-path only)

Ethereum

  • Standard 20-byte addresses
  • Optional EIP-55 mixed-case checksum output and matching

Features

  • Multi-process parallel search
  • Live progress reporting (attempts, rate, elapsed time)
  • Prefix, suffix and contains matching
  • Case-sensitive option for Ethereum (useful for exact EIP-55 patterns)
  • Rough difficulty estimation based on pattern length and alphabet size
  • Private-key output in hex and WIF (Bitcoin)
  • Independent verification helpers
  • Self-contained Bech32 / Bech32m implementation (BIP-173 / BIP-350)
  • No network access, no telemetry, no external key material

Requirements

  • Python 3.10 or later
  • A machine you fully control (preferably offline when the resulting keys will hold real funds)

Installation

git clone https://github.com/Leutenegger/vanity-kit.git
cd vanity-kit
python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e .

This installs the vanity command into the virtual environment.

Dependencies

  • coincurve (libsecp256k1 bindings)
  • pycryptodome (Keccak-256)
  • base58
  • click
  • tqdm

Usage

# Ethereum address starting with "cafe"
vanity eth --prefix cafe

# Ethereum address ending with "dead", 8 worker processes
vanity eth --suffix dead --threads 8

# Ethereum with exact case matching and EIP-55 checksummed output
vanity eth --prefix Cafe --case-sensitive --checksum

# Bitcoin Legacy (starts with 1)
vanity btc --type legacy --prefix 1Love

# Bitcoin Nested SegWit (starts with 3)
vanity btc --type nested --prefix 3Love

# Bitcoin Native SegWit (starts with bc1q)
vanity btc --type segwit --prefix bc1qdead

# Bitcoin Taproot key-path (starts with bc1p)
vanity btc --type taproot --prefix bc1p --threads 6

# Substring anywhere in the address
vanity eth --contains dead
vanity btc --type segwit --contains cafe

At least one of --prefix, --suffix or --contains is required.

Common options

OptionDescription
--prefix, -pRequired starting characters
--suffix, -sRequired ending characters
--contains, -cRequired substring anywhere in the address
--threads, -tNumber of worker processes (default 4)
--case-sensitiveExact case match (Ethereum only)
--checksumPrint EIP-55 checksummed form (Ethereum only)

Security

Vanity address generation creates private keys. Treat the process with the same care as any other key-generation tool.

  1. Run the software only on a computer you fully control.
  2. Prefer an air-gapped or offline environment when the resulting keys will hold real funds.
  3. After a match is found, independently verify that the printed private key derives the printed address before transferring any value. The package provides verify_eth_address and verify_btc_address helpers for this purpose.
  4. Never enter or paste private keys into websites, browser extensions, chat applications or untrusted software.
  5. Longer patterns require exponentially more work. Four characters are usually practical on a modern multi-core CPU; six or more can take hours or days.
  6. Clear terminal history and any temporary files after the session.

This project is independent open-source software. Review the source code before use. The author accepts no responsibility for loss of funds caused by incorrect usage, compromised machines, software defects, or any other reason.

See SECURITY.md for the full security policy.

Performance notes

VanityKit uses pure-Python orchestration with the coincurve library for elliptic-curve operations. It is slower than dedicated C++ or GPU tools such as VanitySearch or vanitygen-plusplus. It is intended for short patterns and for situations where a simple, readable, offline implementation is preferred.

Rough difficulty guidance

Pattern lengthAlphabetApprox. expected attempts
3hex (16)~4 000
4hex (16)~65 000
5hex (16)~1 000 000
6hex (16)~16 000 000
4base58 (58)~11 000 000
5base58 (58)~650 000 000

Actual wall-clock time depends on CPU cores, clock speed, system load and the exact pattern.

Development

pip install -e ".[dev]"
pytest -q
ruff check src tests

See CONTRIBUTING.md for contribution guidelines.

Limitations

  • Pure-Python search is slower than specialised native tools.
  • Taproot support is limited to the basic key-path construction (no script-path trees).
  • The difficulty estimator is an approximation that assumes a uniform distribution over the address alphabet.
  • Nested SegWit and Taproot are provided for completeness; most users will use Legacy or Native SegWit for vanity purposes.

Licence

MIT License. See LICENSE.

Copyright (c) 2026 Leutenegger

End of VanityKit source tree

Copyright (c) 2026 Leutenegger

MIT License

关于 About

Offline vanity address generator for Bitcoin and Ethereum. CPU multi-process search with interactive CLI menu. Supports Legacy, Nested SegWit, Native SegWit, Taproot, and ETH (EIP-55).

语言 Languages

Python100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
0
Total Commits
峰值: 1次/周
Less
More