Vast.ai
Larger marketplace, more GPU variety, lower prices. Best for cost-effective hunting.
Auth: SSH keys only (no passwords)
Min deposit: ~$5
Payment: Credit card, crypto
Docs: docs.vast.ai →
From zero to scanning in 30 minutes. Rent a GPU, connect via SSH, configure Docker, and start hunting puzzles.
You don't need to own GPUs to hunt Bitcoin puzzles. Both Vast.ai and Clore.ai let you rent NVIDIA GPUs by the hour. This guide walks you through the entire process — verified against official docs as of June 2025.
Larger marketplace, more GPU variety, lower prices. Best for cost-effective hunting.
Auth: SSH keys only (no passwords)
Min deposit: ~$5
Payment: Credit card, crypto
Docs: docs.vast.ai →
Crypto-native, European hosting, simpler interface. Best for crypto payments.
Auth: SSH password or keys
Min deposit: Small (CLORE token or crypto)
Payment: CLORE, BTC, USDT
Docs: docs.clore.ai →
For puzzle hunting, you need NVIDIA GPUs with high CUDA core counts. Here's how the popular cards compare for brute-force key scanning.
| GPU | CUDA cores | VRAM | ~Keys/sec (BitCrack) | ~Cost/hr (Vast) | Best for |
|---|---|---|---|---|---|
| RTX 3070 | 5,888 | 8 GB | ~1.5 Bkeys/s | ~$0.07 | Budget scanning (puzzle 71) |
| RTX 3080 | 8,704 | 10 GB | ~2.5 Bkeys/s | ~$0.12 | Good value |
| RTX 3090 | 10,496 | 24 GB | ~3.5 Bkeys/s | ~$0.20 | Kangaroo (needs VRAM) |
| RTX 4070 | 5,888 | 12 GB | ~2.8 Bkeys/s | ~$0.15 | Modern efficiency |
| RTX 4090 | 16,384 | 24 GB | ~6.0 Bkeys/s | ~$0.35 | Best performance |
Benchmarks are approximate community estimates for BitCrack address-only scanning. Actual speeds vary by tool, range, and clock speed. Kangaroo (for known-pubkey puzzles) needs significantly more VRAM — RTX 3090/4090 with 24GB are strongly preferred. btcpuzzle.info maintains a community benchmark list →
You need SSH to connect to your rental. Both platforms support SSH keys — Vast.ai requires them (no password auth).
# generate an ed25519 key (recommended, modern, fast) ssh-keygen -t ed25519 -C "puzzle-hunting" # view your public key — you'll paste this into Vast/Clore cat ~/.ssh/id_ed25519.pub
Source: Vast.ai SSH docs →
Source: Clore.ai connection docs →
nvidia/cuda:12.2.0-runtime-ubuntu22.04nvidia/cuda:12.8.0-base-ubuntu22.0422 (SSH, TCP)Source: Clore.ai Docker images →
# Vast.ai — copy the SSH string from the dashboard ssh -p 20544 root@142.214.185.187 # Clore.ai — use IP and port from order details ssh root@185.123.45.67 -p 22022 # verify GPU is visible nvidia-smi
touch ~/.no_auto_tmux. Vast.ai SSH docs →
Once connected, install the tools you need. Here's the fastest path for BitCrack (brute force) and Kangaroo (pubkey known).
# update system apt update && apt install -y build-essential cmake git curl # --- BitCrack (GPU brute force, address-only) --- git clone https://github.com/brichard19/BitCrack.git cd BitCrack/Build cmake .. -DCUDA_ENABLE=ON make cd ../Release # test it — scan puzzle #71 range against its address ./cuBitCrack --keyspace 400000000000000000:7fffffffffffffffff \ -c 1 1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU # --- Kangaroo (GPU, for puzzles with known public key) --- git clone https://github.com/JeanLucPons/Kangaroo.git cd Kangaroo make # create input file for puzzle 135 (known public key) cat > 135.txt << 'EOF' 4000000000000000000000000000000000 7fffffffffffffffffffffffffffffffff 02145d2611c823a396ef6712ce0f712f09b9b4f3135e3e0aa3230fb9b6d08d1e16 EOF ./Kangaroo -gpu 135.txt
For puzzles 130+, use Etayson's modified kangaroo instead of JeanLucPons. For the SOTA kangaroo implementation, see RCKangaroo by RetiredC.
Rental instances charge by the hour. If your SSH disconnects, your process may die (unless you use tmux/screen). For long sessions, use lotterypzl --detach or run inside tmux:
# start a named tmux session tmux new -s puzzle71 # run your scan inside tmux ./cuBitCrack --keyspace 400000000000000000:7fffffffffffffffff \ -c 1 1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU # detach: Ctrl+B then D # reconnect later: tmux attach -t puzzle71
untrusted_computer mode if your tool supports it — prevents key storage on disk.nvidia-smi periodically — if the GPU is shared, you may not get full performance.rm -rf /workspace/* before terminating