Total Speed
0
ops / sec
Active Workers
0
browser + cloud
Keys Checked
0
this session
Projected ETA
—
at current speed
Live Speed — Keys/sec (rolling 5 min)
Idle
5 min ago
Now
Advanced Algorithm Stats & Probability
Solve Probability
0.000000%
P(solve) = 1 - e^(-k/n)
MITM / BSGS Table Size
0
baby-step entries
Genetic Generation
0
range prioritization
Genetic Best Fitness
0.0000
0.0 to 1.0 scale
Quantum Tag
—
Shor algo estimate
Speed Layer & Filter Status
Compute Layer
Detecting…
WASM > WebGPU > JS
WASM ops/sec
—
secp256k1 field ops
Bloom Filter
Not loaded
multi-target screen
Range Coverage — Puzzle #—
0% covered
Unstarted
In Progress
Completed
Activity Log
00:00:00
Engine initialising...
API Health
Solver Stats API
—
Worker Registry
—
Key Broadcaster
—
BTC Node
—
Session
Puzzle: —
Algo: —
Started: —
Elapsed: —
Found: 0
Algo: —
Started: —
Elapsed: —
Found: 0
Total Sessions
—
all time
Lifetime Keys
—
keys checked
Total Time
—
solver runtime
Keys Found
—
verified finds
Session History
Loading session history…
0
total workers —
0
active
Remote Workers
| Worker ID | Type | Capability | Algorithm | Speed | Keys Checked | Range Segment | Last Seen |
|---|---|---|---|---|---|---|---|
| No remote workers registered | |||||||
Your Browser Workers
Browser worker: Not started — click START SOLVER on Dashboard
Kangaroo (BKLS)
Pollard's Kangaroo method. Two herds of kangaroos (tame + wild) hop through the range until they collide at a distinguished point. Best for medium ranges (50–100 bits).
Complexity
O(√n)
Memory
Low
Parallelisable
Yes
Recommended for
50–100 bit
Pollard's Rho
Classic Rho algorithm with Floyd cycle detection. Uses random walks and collision detection. Good for general DLOG. Slightly slower than Kangaroo for bounded ranges.
Complexity
O(√n)
Memory
Very Low
Parallelisable
Limited
Recommended for
40–80 bit
BSGS
Baby-step Giant-step. Deterministic, guarantees finding the key. Requires O(√n) memory. Best for small puzzles (<40 bits) where memory is affordable.
Complexity
O(√n)
Memory
High O(√n)
Parallelisable
Partial
Recommended for
< 40 bit
Pohlig-Hellman
Decomposes DLOG over smooth-order subgroups. Only effective when group order has small prime factors — rarely applicable to secp256k1 puzzles directly.
Complexity
O(Σ√pᵢ)
Memory
Medium
Parallelisable
Yes
Recommended for
Smooth orders
Auto (Recommended)
Automatically selects the best algorithm based on puzzle bit length. Uses BSGS for <40 bits, Kangaroo for 40–100 bits, and parallelised Kangaroo for larger ranges.
Complexity
Adaptive
Memory
Adaptive
Parallelisable
Yes
Recommended for
All puzzles
Benchmark
No benchmark run yet
Speed Layer Comparison
Run benchmark to compare
Genetic Range Prioritization
A genetic algorithm runs in the background while solving, evolving a population of candidate
starting points to prioritise regions of the search space nearest to constraint patterns.
Generation
—
Best Fitness
—
Population
20
| # | Bits | Prize (BTC) | Has Pubkey | Difficulty | Est. Time | Coverage % | Status | Action |
|---|
Cloud Workers
0
Deploy the solver script to free-tier cloud instances.
Each instance registers as a remote worker and contributes keys/sec.
Each instance registers as a remote worker and contributes keys/sec.
Oracle Cloud Free Tier
Always Free — 4 vCPU ARM
Oracle's Always Free tier includes 4 ARM cores and 24 GB RAM. Excellent for parallel kangaroo workers. Persistent — runs until you stop it.
#!/bin/bash
# Oracle Cloud Free Tier — BTC Puzzle Solver Worker
# Run this on your Oracle ARM instance after SSH access
set -e
echo "[+] Installing dependencies..."
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
echo "[+] Fetching solver worker..."
SOLVER_URL="https://YOUR_SERVER_URL/lab/solver-worker.js"
SECP_URL="https://YOUR_SERVER_URL/lab/secp256k1-lib.js"
API_BASE="https://YOUR_SERVER_URL/lab/api/solver"
mkdir -p ~/btc-solver && cd ~/btc-solver
curl -s $SOLVER_URL -o solver-worker.js
curl -s $SECP_URL -o secp256k1-lib.js
cat > runner.js << 'EOF'
const { SolverWorker } = require('./solver-worker.js');
const worker = new SolverWorker({ apiBase: process.env.API_BASE, algo: 'kangaroo' });
worker.start();
EOF
echo "[+] Starting solver..."
API_BASE=$API_BASE node runner.js &
echo "[+] Worker started (PID $!)"
echo "Register at: $API_BASE/workers"
Google Cloud (GCP)
$300 Free Credit — e2-micro always free
GCP offers e2-micro instances free forever in us-east1 and us-west1. Use f1-micro for even lighter jobs. Combine multiple free instances.
#!/bin/bash
# GCP e2-micro — BTC Puzzle Solver Worker
# Run via Cloud Shell or SSH into your VM
set -e
gcloud compute instances create btc-solver-1 \
--zone=us-east1-b \
--machine-type=e2-micro \
--image-family=ubuntu-2204-lts \
--image-project=ubuntu-os-cloud \
--tags=http-server,https-server \
--metadata=startup-script='#!/bin/bash
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
mkdir -p /opt/btc-solver && cd /opt/btc-solver
curl -s "https://YOUR_SERVER_URL/lab/solver-worker.js" -o worker.js
API_BASE="https://YOUR_SERVER_URL/lab/api/solver" node worker.js &'
echo "VM created. Check status: gcloud compute instances list"
AWS Free Tier
t2.micro / t3.micro — 750 hrs/month
AWS provides 12 months of t2.micro (or t3.micro in some regions) free. Launch via CLI or console — script auto-installs and starts the solver.
#!/bin/bash # AWS t2.micro — Launch + configure solver worker # Requires: aws CLI configured, a key pair named "default" AMI="ami-0c02fb55956c7d316" # Amazon Linux 2 us-east-1 USERDATA=$(base64 -w0 << 'EOF' #!/bin/bash curl -fsSL https://rpm.nodesource.com/setup_20.x | bash - yum install -y nodejs mkdir -p /opt/btc-solver && cd /opt/btc-solver curl -s "https://YOUR_SERVER_URL/lab/solver-worker.js" -o worker.js nohup API_BASE="https://YOUR_SERVER_URL/lab/api/solver" node worker.js > /var/log/solver.log 2>&1 & EOF ) aws ec2 run-instances \ --image-id $AMI \ --instance-type t2.micro \ --user-data "$USERDATA" \ --key-name default \ --query 'Instances[0].InstanceId' \ --output text
Fly.io
Free — 3 shared-cpu-1x VMs
Fly.io gives 3 free VMs globally. Fast deploy from CLI. Best for geographically distributed workers to improve kangaroo collision probability.
#!/bin/bash # Fly.io — Deploy solver as a Fly app # Requires: flyctl installed and authenticated mkdir -p btc-solver-fly && cd btc-solver-fly cat > fly.toml << 'EOF' app = "btc-solver-YOUR_UNIQUE_ID" primary_region = "iad" [build] image = "node:20-alpine" [env] API_BASE = "https://YOUR_SERVER_URL/lab/api/solver" [[services]] internal_port = 3000 protocol = "tcp" EOF cat > Dockerfile << 'EOF' FROM node:20-alpine WORKDIR /app RUN apk add --no-cache curl RUN curl -s "https://YOUR_SERVER_URL/lab/solver-worker.js" -o worker.js CMD API_BASE="https://YOUR_SERVER_URL/lab/api/solver" node worker.js EOF fly launch --no-deploy --copy-config fly deploy
Railway
$5 free credit / month
Railway provides $5/month of free compute. Ideal for persistent workers. Deploy from a GitHub repo or inline Dockerfile in under 2 minutes.
#!/bin/bash # Railway — BTC Puzzle Solver via railway CLI # Requires: railway CLI installed + authenticated mkdir -p btc-solver-railway && cd btc-solver-railway cat > Dockerfile << 'EOF' FROM node:20-alpine WORKDIR /app RUN apk add --no-cache curl RUN curl -s "https://YOUR_SERVER_URL/lab/solver-worker.js" -o worker.js ENV API_BASE="https://YOUR_SERVER_URL/lab/api/solver" CMD node worker.js EOF railway init btc-solver railway up --detach railway variables set API_BASE="https://YOUR_SERVER_URL/lab/api/solver" echo "Deployed. Check: railway logs"
BTC Configuration
Address where found private key's BTC will be auto-claimed.
Automatically broadcast claim transaction
Higher = fewer DP entries but faster per-step. Default 16 is optimal for most machines.
⚙ Alert Preferences
Play audio beep when private key is found
Show browser notification when key found
Browser will prompt for permission when first needed.
☂ Broadcast Endpoints
Leave blank to use triple-redundant defaults. Custom URLs receive raw TX hex as POST body.
Settings saved.
⚠ Debug / Test Injection
Inject a known test private key to verify the solver finds it and triggers the alert flow. This does NOT interact with mainnet.