Linux
x86_64
-Windows · Linux · HiveOS
Qelvminer is the Qelvhash miner for Quantus, built for NVIDIA GPUs and published for Windows, Linux and HiveOS, each build with its SHA-256 next to the link. It mines on Qelvpool only. The pool itself also accepts the chain’s own quantus-miner and stratum miners, with the connection details on the pool page.
Three steps, and the middle one is a single command. Nothing to register and nothing to configure beyond the endpoint, the address and the pin.
What Qelvminer does per card in real mining on Qelvpool, read live from the pool. Each row carries the conditions it was measured under, because a hashrate without its conditions is not a measurement. These are our numbers; we do not publish anyone else’s.
| GPU | Qelvminer |
|---|---|
One card per run, GPU only, no overclock, with --cuda-gpu; the power limit is in each row. Every figure so far was measured on Windows, and Linux gets its own rows once it has been measured rather than borrowing these. RTX 30 and 40 series run our own kernels; other NVIDIA cards take the generic CUDA path (NVRTC) and other GPUs the Vulkan/DX12 engine, both slower.
One build per platform. Check the sum before you run it — the pool publishes the same value in /api/terms, so the two can be compared.
x86_64
-x86_64
-flight sheet
-The HiveOS package starts the CUDA engine, so it is for NVIDIA rigs. It has been built and checked, but not yet tried on a live HiveOS rig.
sha256sum qelvminer-linux-x86_64 must print the sum shown above (the binary needs glibc 2.30 or newer). On Windows, certutil -hashfile qelvminer-windows-x86_64.exe SHA256. For HiveOS, sha256sum qelvminer-hive.tar.gz. A sum that does not match is not a Qelvhash build.Three flags are required and the rest have working defaults; on an NVIDIA card add --cuda-gpu. Every flag has an MINER_* environment variable with the same name, for systemd units and containers, and the miner also reads a .env file from its working directory. The pin below is the live one from /api/chains.
qelvminer serve \ --node-addr quantus.qelvhash.com:9834 \ --auth-token qzYourQuantusPayoutAddress.rig1 \ --tls-cert-sha256 <pin from qelvhash.com/api/chains> \ --cuda-gpu \ --cpu-workers 0
--cuda-gpu runs the CUDA engine: without it the miner uses the generic wgpu engine, far slower on an NVIDIA card (on a machine with no NVIDIA driver, drop it). --cpu-workers 0 keeps the CPU from mining as well. For solo mining, the same command with --node-addr quantus.qelvhash.com:9844.
| Flag | Environment | What it does | Default |
|---|---|---|---|
--node-addr | MINER_NODE_ADDR | Pool or node endpoint, host:port. UDP for QUIC. | required |
--auth-token | MINER_AUTH_TOKEN | Your payout address, optionally followed by a dot and a worker name. On a pool the address is the token; on your own node it is the node's shared token. | required |
--tls-cert-sha256 | MINER_TLS_CERT_SHA256 | 64 hex characters. The certificate is self-signed, so the fingerprint is the only thing verified. A wrong pin is a permanent error, not a retry. | required |
--cpu-workers | MINER_CPU_WORKERS | CPU threads that hash. 0 turns CPU mining off; on a GPU rig the CPU adds little and costs power. | cores − 1 |
--cuda-gpu | MINER_CUDA_GPU | Use the CUDA engine (NVIDIA only). Without it the miner runs the much slower Vulkan/DX12 engine. On RTX 30 and 40 series it runs our own kernels; other NVIDIA cards need NVRTC from the CUDA toolkit 12 or 13. | off |
--gpu-devices | MINER_GPU_DEVICES | Comma-separated device indices from gpu-list. Empty means every device; none turns the GPU off. | all |
--gpu-throttle-ms | MINER_GPU_THROTTLE_MS | Idle milliseconds inserted between batches, to keep a desktop responsive or a card cool. | 0 |
MINER_NODE_ADDR=quantus.qelvhash.com:9834 MINER_AUTH_TOKEN=qzYourQuantusPayoutAddress.rig1 MINER_TLS_CERT_SHA256=<pin from qelvhash.com/api/chains> MINER_CUDA_GPU=true MINER_CPU_WORKERS=0
Qelvminer speaks quantus-miner/2, the chain’s native mining protocol: QUIC over TLS 1.3, one bidirectional stream, JSON frames behind a 32-bit big-endian length prefix.
→ {"Ready":{"token":"qzYourQuantusPayoutAddress.rig1"}}
← {"NewJob":{"job_id":"4721",
"mining_hash":"0ad405cf91f7f9951bf21d9fd2f1146ca9f2d6a3bae7b19962edd8f361c378b4",
"difficulty":"121444434361430"}}
→ {"JobResult":{"status":"completed","job_id":"4721",
"nonce":"a3f19b7c…5b0d2846","work":"0a3f19b7…5b0d2846",
"hash_count":48211904,"elapsed_time":7.812}}--tls-cert-sha256. No chain, no hostname. A mismatch is a permanent error and the miner stops instead of retrying — which is the behaviour you want if something is sitting between you and the pool. Qelvpool publishes its pin on the pool page and in /api/chains, and rotations overlap so a running rig never loses its work.A miner must send its own QUIC keep-alives every 5–15 s: job traffic is event-driven and a quiet round can outlast an idle timeout. Qelvminer does this by default, and Qelvpool sends keep-alives from the server side as well.
Whatever Qelvminer keeps is in the strip at the top of this page, read from the pool rather than typed into this paragraph. It is the same value the pool serves to everyone, and it is stated before you download anything. The miner opens a second session from each rig to the same endpoint, with the worker name plus -fee, and sends it one batch in every hundred: the fee shows on the pool dashboard like any other rig, and if that session is down the rig keeps all of its hashrate.