keryx-miner-supr 0.15.5 — Windows H15 self-test fix
Every Windows NVIDIA user of 0.15.4 must update. On Windows no card passed the H15 traced self-test, so no model became ready: the miner did not mine (solo or pool) and printed OPoI: no models ready — skipping AiRequest scan for every block. Your model files were fine. Linux, HiveOS, mmpos, SMOS and Docker were not affected.
- Windows: the inference engine now gets its trace settings. For traced answers the miner turns off CUDA graphs and the KV-cache rotation of the inference engine. It does this through the process environment. On Windows the setting only reached the operating-system environment, not the C runtime copy that
keryx-llama.dllreads. So the traced self-test failed on every Windows card. 0.15.5 also sets these variables through the C runtime, checks at startup that the engine sees them, and the Windows build is now tested for this. - The "no models ready" warning says why and no longer floods. It is printed once, then at most every 60 s or when the reason changes. The reason is one of: model download in progress, no model file staged (with the staging error), self-test pending, self-test FAILED on a named GPU (with the cause), or this build cannot produce traces (AMD/Vulkan, macOS). The pool-mode "mining suspended" warning works the same way.
Everything below applies to 0.15.5 as it did to 0.15.4.
Fixes in 0.15.4
- Tier 4 can be served. 0.15.3's H15 self-test refused tier 4 (Kimi-Linear-48B), because its MLA cache fell back to an f16/f16 cache that the trace cannot commit. 0.15.4 uses a Q8_0 K / f16 V cache, like keryx v0.5.8.
- Declare only after the traced self-test. A card tells the pool it serves a tier only after its traced self-test has passed.
H15 private inference (since 0.15.3)
Update now if you mine solo or serve inference. Since the H15 gate (mainnet DAA 140,115,000, 2026-10-30) keryxd 1.6.6 requires every private inference answer to carry a verifiable trace, and requesters seal their requests with key schedule 2. 0.15.0–0.15.2 mine H15 blocks correctly, but they could not open schedule-2 requests and their answers carried no trace, which the node rejects — and a missed answer costs a service-bond strike. 0.15.3 serves H15 private requests the way keryxd 1.6.6 expects. Mining itself is unchanged.
- Key schedule 2. Private requests are opened with key schedule 2, falling back to schedule 1. The answer is sealed with the per-responder key of whichever schedule opened it.
- Traced answers. Every private answer is generated with the canonical inference trace armed: the activations of every layer, the KV cache, the attention softmax mass and the recurrent state are committed, together with the token ids of the answer. The trace commitment is attached to the AiResponse before it is signed. The response is only sent once its trace is safely on disk.
- Audits and openings. The miner follows the node's draw for every answer it sent: the seed block, whether it is audited, and the deadline. With keryxd 1.6.6 or newer it also uses the node's own list of awaited openings. It then replays the drawn positions on the card that generated the answer, checks every opening with the node's own verifier code, and submits it. Pending traces survive restarts and reconnects (
<escrow state>.traces/), and the chain is rebuilt after a restart, so no audit is lost. - Self-test before mining. Before a card mines its tier, it must answer a private request the H15 way. It runs a traced generation, then checks the openings (trace, attention, recurrent and residual pieces) with the node's verifiers for two seeds. This takes a few seconds. A card or build that cannot do this does not mine, and the log names the card and the reason: mining a tier you cannot serve only collects strikes.
- Engine.
libkeryx-llama.so/keryx-llama.dllis now engine ABI 4. It adds the traced-generation and sequence-leaf functions and the verifier-exact attention and RoPE kernels of keryx v0.5.8. Always use the engine that comes with this release, next to the miner binary. - Pool mining is unchanged for pools that do not ask for traces. A pool can now ask for a traced answer per request; the rig then returns the trace commitment with the answer and keeps the trace for the pool's audits (9 h, on disk).
mining.hello/mining.telemetryreport"trace": 1once the self-test passed.
Platform notes
- NVIDIA (Linux modern/legacy, Windows, Docker): full H15 support, including traced answers and openings.
- AMD (OpenCL/Vulkan) and Apple Silicon (Metal): these backends have no trace engine, so they cannot answer H15 private requests. After the gate they do not mine; they log why instead.
- Linux packages run on Ubuntu 20.04 and newer (glibc 2.31+), including current HiveOS, mmpos and SMOS images.
Validation
0.15.5 changes only how the engine settings are passed and the warning text; the engine and the H15 code are the same as in 0.15.4. On Linux (RTX 5080, tier 1, testnet against keryxd 1.6.6) the 0.15.5 package passes the traced self-test in about 5 s and mines; a schedule-2 private request was answered with a trace, the node accepted the response, its audit openings were accepted on-chain and the requester decrypted the answer. When the miner is made to withhold the engine settings (the old Windows behaviour), the same card fails the self-test with sequence roots unavailable (-4), which shows the cause. The Windows build checks on Windows that the C runtime sees the settings. The validation of 0.15.3/0.15.4 on RTX 5090, 5080, 3070 and CMP 170HX (all tiers, both key schedules, mainnet through the pool) still applies.
Downloads
| Platform | Package |
|---|---|
| NVIDIA Turing and newer, Linux, driver 575+ | modern: standalone, HiveOS, mmpos, SMOS
|
| NVIDIA Volta/Pascal, older CMP cards, or driver 550–574 | legacy: standalone, HiveOS, mmpos, SMOS
|
| AMD, Linux | amd: standalone, HiveOS, mmpos
|
| NVIDIA, Windows | keryx-miner-supr-windows-nvidia-pom.zip
|
| AMD, Windows | keryx-miner-supr-windows-amd.zip
|
| Apple Silicon, macOS | keryx-miner-supr-macos-arm64-0.15.5.tar.gz
|
| Docker, NVIDIA modern | ocminersupr/keryx-miner-supr:0.15.5
|
Use the matching SHA256SUMS file to verify downloads.