Official GPU miner for BitcoinIII (BC3) — BC3Hash since block 64,360, and SHA3-256t before it — built for the ArgfaMining pool. Native multi-GPU: one process drives every supported card in the rig (single worker, summed hashrate).
More hashrate on NVIDIA, measured against 5.7.0 on the same rented card (Clore.ai, 13–14 Oct 2026), alternating five-minute runs of each version, with zero rejected shares:
| GPU | 5.7.0 | 5.8.0 | Change |
|---|---|---|---|
| RTX 2080 Ti | 0.610 MH/s | 0.635 MH/s | +4.2 % |
| GTX 1660 Ti | 0.263 MH/s | 0.273 MH/s | +3.8 % |
| RTX 3060 | 0.359 MH/s | 0.363 MH/s | +1.0 % |
| RTX 4070 | 0.812 MH/s | 0.820 MH/s | +1.0 % |
| RTX 3080 12 GB | 0.800 MH/s | 0.806 MH/s | +0.8 % |
| RTX 4090 | 2.394 MH/s | 2.409 MH/s | +0.6 % |
| RTX 3090 | 1.054 MH/s | 1.056 MH/s | +0.2 % |
| RTX 50 series | same speed |
The RTX 4090 ran at a 375 W power limit.
MODE is no longer case sensitive: PROP, Prop and prop all mine PROP. An unknown
mode now stops the miner with an error (exit code 2) instead of silently mining SOLO.LICENSE.txt and THIRD-PARTY-NOTICES.txt.Measured with the 5.7.0 image on GPUs rented on Clore.ai, one full hour per card. The hashrate is the miner's own 1-hour average, with zero rejected shares on every card.
| GPU | Hashrate | Power | Efficiency |
|---|---|---|---|
| RTX 5090 | 4.20 MH/s | 558 W | 7.49 kH/W |
| RTX 4090 | 2.55 MH/s | 477 W | 5.34 kH/W |
| RTX 5080 | 2.25 MH/s | 361 W | 6.23 kH/W |
| RTX 5070 | 1.47 MH/s | 301 W | 4.88 kH/W |
| RTX 4080 | 1.38 MH/s | 253 W | 5.45 kH/W |
| RTX 3090 | 1.05 MH/s | 347 W | 3.02 kH/W |
| RTX 4070 | 0.81 MH/s | 150 W | 5.42 kH/W |
| RTX 3080 | 0.80 MH/s | 217 W | 3.68 kH/W |
| RTX 3070 | 0.65 MH/s | 239 W | 2.74 kH/W |
The RTX 4080, 4070 and 3080 ran on a host that locks the core clock (2,205 / 1,455 MHz), so stock cards should do a bit more. The RTX 5070 is our own rig at a 120 % power limit. Both benchmark cards, this one and v5.8.0 against v5.7.0, are at https://argfamining.com/bc3_how_to_mine.html#benchmarks.
docker logs now shows what the miner is doing, one line per event, with the time:
The technical debug log no longer fills the output. It is written inside the container (two
files of 20 MB at most). If you report a problem, run with -e ARGFA_VERBOSE=1 so it shows
up in docker logs too.
Also in 5.7.0: shares go out to the pool as soon as they are found, shares for a block that already ended are no longer sent (the pool would reject them as stale), and after a dropped connection the reconnect wait starts again at one second.
At block 64,360 BitcoinIII changes its proof of work from SHA3-256t to BC3Hash.
5.6.0 (or latest) before the fork.ubuntu:26.04.No kernel or engine changes: same hashrate as 5.5.0. What changed is everything around a start that does not work.
REGION is refused instead of quietly falling back to usa — and the
city name works now (frankfurt, mumbai, virginia).no GPU detected with nothing else.PTX fallback while running a native
kernel.5.5.1 was an image carrying the 5.5.0 binary: it only fixed the entrypoint, which called the miner without going through
run.shand broke--check-address.
The image ships native code for eight NVIDIA architectures instead of four. If you rent GPUs, this is the release that matters: the datacenter cards on vast.ai, RunPod and octa.space were detected before but could not mine — the binary had no kernel for them.
Newly supported:
| Architecture | sm_ | Cards |
|---|---|---|
| Ampere datacenter | 80 | A100, A30, CMP 170HX |
| Hopper | 90 | H100, H200 |
| Blackwell datacenter | 100 | B100, B200 |
| Blackwell datacenter | 103 | B300 |
Already supported, unchanged: RTX 20xx / GTX 16xx / T4 (75), RTX 30xx (86),
RTX 40xx (89), RTX 50xx (120).
These are natively compiled kernels, not JIT — full speed from the first second, no warm-up compile. Mining behaviour is unchanged on cards that already worked: same kernel, same hashes, same speed.
The miner verifies the checksum of your payout address, not just its shape, and refuses to start if a single character is wrong. A mistyped address still looks perfectly valid (right prefix, right length) but nobody can pay it: your shares count, your hashrate shows on the dashboard, and the reward never arrives.
Check any address without starting the miner:
docker run --rm argfa/bc3-gpu:latest --check-address <your address>
It prints the address type and exits 0 when valid.
Also fixed in 5.3.0: duplicate shares that the pool rejected while auto-tune was stepping through intensity levels.
The miner enumerates CUDA and OpenCL GPUs in a single unified list and runs
CUDA + OpenCL contexts in the same process: rigs mixing NVIDIA and AMD cards mine
with all of them (per-backend boot self-test; iGPUs are listed but deselected by
default; true AMD multi-GPU). Inside Docker, --gpus injects the NVIDIA driver only,
so the mixed-rig case applies to the native Linux/Windows builds for now (ROCm base
image pending).
docker run --rm --gpus all \
-e WALLET=your_bc3_address \
-e WORKER=rig1 \
-e MODE=prop \
-e REGION=usa \
argfa/bc3-gpu:latest
On clore.ai, Salad, TensorDock and similar, you pick an image and fill a form — you
never write the docker run, so there is no --gpus all to add. GPU access there is
driven by environment variables, and the two below are the ones that matter. Set them
next to WALLET / WORKER / MODE / REGION:
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_CAPABILITIES=all
The image already declares both, but these platforms build their own run command and the
image's values do not always survive it. Setting them explicitly costs nothing. Use all
for the capabilities: clore.ai's form drops commas, so compute,utility arrives as
computeutility and the driver is not injected.
MODE is not case sensitive since 5.8.0 (5.7.0 read PROP in capitals as SOLO).
On clore.ai, if you tick SSH auto-install entrypoint, Clore replaces the image's start-up
and the miner does not start by itself: log in and run
WALLET=… WORKER=… MODE=prop REGION=usa /opt/entrypoint.sh inside screen.
If the miner exits immediately with exit 127, that is the NVIDIA driver not reaching
the container — libcuda.so.1 and libnvidia-ml.so.1 come from the host and are not
inside the image. Confirm it in one command:
docker run --rm --entrypoint nvidia-smi argfa/bc3-gpu:latest
If that fails inside the container the problem is the GPU passthrough, not the miner.
| Var | Values | Default | Notes |
|---|---|---|---|
WALLET | 1… / 3… / bc1… | — (required) | Your BC3 payout address (checksum-validated) |
WORKER | letters, digits, -, _ (max 24) | container hostname | Worker name shown on the dashboard |
MODE | solo · prop | prop | solo = 98% of the block (2% fee) · prop = split by round shares |
REGION | latam · usa · eu · in | usa | Pick the closest endpoint by ping |
DEVICES | e.g. 0,1 | all | Pin specific GPUs (default: all detected) |
INTENSITY | 22–31 | auto | 2^N nonces per launch (advanced) |
ARGFA_VERBOSE | 1 | off | Also print the debug log in docker logs (when reporting a problem) |
Regions: latam (Venezuela) · usa (Virginia) · eu (Frankfurt) · in (Mumbai, India).
BC3 accepts all five address formats: 1… (P2PKH), 3… (P2SH), bc1q… (P2WPKH/P2WSH),
bc1p… (P2TR).
By default the miner uses all supported GPUs. Pin specific cards with -e DEVICES=0,1.
Any extra arguments after the image name pass straight to the miner.
docker run (clore.ai, Salad, TensorDock), see the note above the configuration table.sm_75 or newer — Turing, Ampere (incl. A100), Ada, Hopper (H100/H200) and
Blackwell (RTX 50xx and B100/B200/B300). AMD via OpenCL (mixed NVIDIA+AMD rigs supported by
the miner binary; in Docker the AMD runtime needs a ROCm base — pending).ubuntu:26.04 base (~235 MB); the CUDA runtime (libcudart.so.13) ships inside the
image and the driver is injected at runtime by --gpus.On start it prints the kernel self-test per backend — it must say PASS. In the
[mining] lines, verify_fail must stay 0 and accepted shares (acc) should climb;
the table above each one should show no rejected shares (R) or hardware errors (HW).
5.8.0 (pinned) · latest.Support: https://discord.gg/nZTu2QC2YC
Content type
Image
Digest
sha256:1289101bf…
Size
67.3 MB
Last updated
about 1 month ago
docker pull argfa/bc3-gpu