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.

Disclosure: The Vast.ai and Clore.ai links in this guide are referral links. If you sign up through them, we may earn a small commission at no extra cost to you. This helps support the project.
01

Choose a platform

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 →

Clore.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 →

02

Choose a GPU

Engine compatibility matters more than a generic CUDA-core count. Current PZL-Roo accepts compute capability 8.9 (Ada) or 12.0 (Blackwell) only; older cards in this table are address-scanner references, not Roo targets.

GPU CUDA cores VRAM ~Keys/sec (BitCrack) Rental price Best for
RTX 3070 5,888 8 GB ~1.5 Bkeys/s Live quote Address scanner only; unsupported by Roo
RTX 3080 8,704 10 GB ~2.5 Bkeys/s Live quote Address scanner only; unsupported by Roo
RTX 3090 10,496 24 GB ~3.5 Bkeys/s Live quote Address scanner only; unsupported by Roo
RTX 4070 5,888 12 GB ~2.8 Bkeys/s Live quote PZL-Roo sm_89 supported
RTX 4090 16,384 24 GB ~6.0 Bkeys/s Live quote PZL-Roo sm_89 supported

BitCrack figures are historical address-scanner estimates, not PZL-Roo performance. Actual speed varies by engine, range, power limit, and clock. The locally verified PZL-Roo baseline is 3.124 GKeys/s median on an RTX 4070 Laptop; Blackwell sm_120 support is compiled but awaits real-hardware validation. Always run doctor and a real benchmark on the rental before a long session.

ASICs don't work. Bitcoin mining ASICs (Antminer, etc.) are SHA-256d only. Puzzle hunting needs elliptic curve operations — only GPUs (and CPUs, slowly) can do this. Don't rent or buy ASICs for puzzle hunting.
03

Set up SSH keys

You need SSH to connect to your rental. Both platforms support SSH keys — Vast.ai requires them (no password auth).

generate SSH key
# 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

Add key to Clore.ai

  1. Go to Account → SSH Keys
  2. Click Add Key
  3. Paste your public key
  4. Key auto-deploys to all new rentals

Source: Clore.ai connection docs →

04

Rent an instance

On Vast.ai

  1. Go to cloud.vast.ai → Search offers
  2. Filter: GPU type (e.g. RTX 3070), reliability > 0.9, price ascending
  3. Choose a machine. Click Rent
  4. Select launch mode: SSH (not Jupyter)
  5. Use Docker image: nvidia/cuda:12.2.0-runtime-ubuntu22.04
  6. Start the instance. Wait for "Running" status
  7. Click the SSH icon to get your connection string

On Clore.ai

  1. Go to clore.ai → Marketplace
  2. Filter by GPU type and price
  3. Choose a server. Select On-Demand (not Spot — you don't want to lose your session)
  4. Choose Docker image: nvidia/cuda:12.8.0-base-ubuntu22.04
  5. Open ports: 22 (SSH, TCP)
  6. Place the order. Wait 2-3 minutes for boot
  7. Check My Orders → order details for IP and SSH port

Source: Clore.ai Docker images →

05

Connect via SSH

connect.sh
# 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
Vast.ai uses tmux by default. When you SSH in, you're placed in a tmux session. This protects your processes from SSH disconnects. To disable it: touch ~/.no_auto_tmux. Vast.ai SSH docs →
06

Install and validate lotterypzl

Use the conductor so the selected engine, GPU architecture, bounded ticket, checkpoint format, and ledger are validated together. Run a dry plan before spending rental time.

install and dry-run
# private repositories currently require a read-scoped token
export GITHUB_TOKEN=ghp_...
curl -fsSL \
  -H "Authorization: Bearer $GITHUB_TOKEN" \
  -H "Accept: application/vnd.github.raw" \
  "https://api.github.com/repos/whybotherdev/lotterypzl/contents/scripts/install.sh?ref=main" | bash
source ~/.lotterypzl/env.sh

# validate the GPU, binary contract, cubin hashes, and architecture
lotterypzl config wizard
lotterypzl doctor --json

# inspect the #140 bounded-ticket plan without launching or writing the ledger
lotterypzl search --puzzle 140 --gpus 1 --wbits 96 \
  --max-windows 1 --dry-run --json

PZL-Roo uses the audited RCKangaroo v4 SOTA v2 turbo path and accepts only NVIDIA sm_89 or sm_120. An unsupported rental GPU is rejected instead of silently running a fallback. Browse the tools directory for historical and third-party references.

07

Keep your session alive

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:

session management
# 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
08

Security checklist

While scanning

  • Never store found keys on the rental instance. If you find a key, write it down offline immediately and wipe it from the machine.
  • Don't share the instance IP. Other users on the same host could potentially access your container.
  • Use untrusted_computer mode if your tool supports it — prevents key storage on disk.
  • Check nvidia-smi periodically — if the GPU is shared, you may not get full performance.

After scanning

  • Wipe the instance: rm -rf /workspace/* before terminating
  • Terminate the rental — don't leave it running and accumulating charges
  • Verify charges — check your billing dashboard for unexpected costs
  • If you found a key: follow our How to Claim guide before doing anything else
GPU rentals are not private. The host machine's owner can theoretically see your container's processes and files. Treat rental instances as untrusted. Never paste private keys, never leave found keys on disk, and always wipe before terminating. If you find a key, disconnect immediately and follow the safe claiming procedure from your own machine.
09

Official documentation