CUDA + secp256k1 + HASH160

Forge keys
at GPU speed

High-performance Bitcoin puzzle solver built from scratch. Modular CUDA kernels, multi-GPU scaling, and checkpoint resume. Not another fork of a fork.

Launch Solver
$ ./hashforge --start 20000000000000000 --end 3ffffffffffffffff \
    --target 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so --gpu 0 --batch 2048

[HashForge v1.0]
Device:    NVIDIA RTX 4090 (16384 cores)
Keyspace:  0x20000000000000000 .. 0x3ffffffffffffffff
Target:    13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so
Mode:      Compressed + Bloom filter

[00:00:12] Speed: 1.42 GKeys/s | Searched: 17.0B | Progress: 0.0018%
[00:01:45] Speed: 1.44 GKeys/s | Searched: 151.2B | Progress: 0.016%
[checkpoint saved → hashforge_checkpoint.dat]
1.4B+
Keys / Second
~1000
BTC in Unsolved Puzzles
79/160
Puzzles Solved
Multi
GPU Scaling
// Architecture

Built for performance,
not patched together

Every existing tool is a fork of BitCrack or a one-person side project. HashForge is modular from the ground up: separate ECC, hashing, and GPU kernel layers that can be optimized independently.

ECC

secp256k1 on GPU

Native elliptic curve multiplication in CUDA. Batch point operations minimize divergence across warps. Every cycle counts at this scale.

HASH

SHA-256 + RIPEMD-160

Fused HASH160 pipeline keeps data in registers. No unnecessary memory roundtrips between hash stages. Pure throughput.

BLOOM

Bloom Filter Matching

Optional probabilistic pre-filter for multi-address searches. Reduces comparison overhead from O(n) to O(1) per candidate key.

CKPT

Checkpoint & Resume

Save progress to disk at configurable intervals. Resume from exactly where you stopped. No wasted compute on restarts or crashes.

MGPU

Multi-GPU Scaling

Automatic keyspace partitioning across devices. Each GPU gets an independent range. Linear scaling with each additional card.

CLI

Clean Interface

Real-time keys/sec, progress percentage, ETA, and range tracking. Immediate private key output on match. No GUI bloat.

From private key to address match in one GPU pass

01

Key Generation

Batch iterate through hex keyspace range. Each thread handles a block of sequential keys.

02

EC Multiply

secp256k1 scalar multiplication derives compressed and uncompressed public keys on GPU.

03

HASH160

SHA-256 then RIPEMD-160 produces the 20-byte hash. Fused kernel, zero memory copies.

04

Compare

Bloom filter check or direct comparison against target address. Match found? Output immediately.

Every key has a number.
Find it faster.

HashForge is built for people who understand that the Bitcoin puzzle is a computation problem, not a luck problem. More keys per second means less time to solution.

Start Searching