Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

BRAIINS_PWD_BLANK Warning

Braiins Pool Rejects Blank Password Field

Braiins Pool rejects `mining.authorize` when the Stratum Password field is blank or whitespace-only. Convention is a literal `x` (or any non-empty string) plus a `BraiinsAccountName.WorkerName` username. Symptom looks like a generic auth failure or pool-disconnect loop.

Warning — Should be addressed soon

Affected Models: Any miner pointed at Braiins (stratum.braiins.com / eu.stratum.braiins.com / us-east.stratum.braiins.com / asia.stratum.braiins.com / solo.braiins.com) — Antminer (stock + DCENT_OS / Braiins OS+ / LuxOS / Vnish), Whatsminer, Avalon, Iceriver, Goldshell, Volcminer, Bitaxe (Supra / Ultra / Gamma / GT / Hex / Max), NerdAxe, NerdNOS, NerdQAxe, NerdQAxe++, Nerdminer, PiAxe, StealthMiner

Symptoms

  • Miner UI shows `Pool connected` for 1-3 seconds then `Pool disconnected` in a 5-30 second loop
  • `pool.braiins.com` dashboard shows 0 workers online despite the miner drawing nameplate wattage
  • Stratum log / `kern.log` / AxeOS Logs shows a `mining.authorize` line followed instantly by a socket close
  • Braiins OS+ Pools screen flags the Braiins endpoint red with `Authorization failed` or `Unauthorized worker` in the event log
  • Stock Antminer Miner Status: Pool reads `Alive: N` and `Status: Dead` for the Braiins URL
  • AxeOS home screen shows `Pool: Disconnected` with WiFi connected and IP assigned; hashrate ticks up and resets to `0 Gh/s` each loop
  • Whatsminer Tool pool list shows the Braiins entry with a red dot and `Pool refused login`
  • You recently configured Stratum Password and left it blank — or pasted credentials from a doc that omitted the password line
  • Other pools (`public-pool.io:21496`, `solo.ckpool.org:3333`, `stratum.ocean.xyz:3334`) authenticate cleanly with the same miner config minus the URL/user
  • Symptom started right after switching to a Braiins endpoint, after a firmware factory-reset, or after AxeOS first-boot
  • ASIC chip temperature stays at idle (35-45 °C on Bitaxe; 40-55 °C on Antminer) because the chip never receives work from the pool

Step-by-Step Fix

1

Open the miner's web UI. Navigate to Pool Settings: Antminer → Configuration → Pools; Bitaxe / NerdAxe / NerdQAxe → AxeOS Settings; Whatsminer → Pool Configuration; Goldshell / Iceriver → Mining → Pool; Avalon → Configuration → Mining Pool. Locate the Stratum Password field for the Braiins entry. Click in. Delete anything present. Type a literal lowercase `x` — single ASCII character, no quotes, no spaces. Save. Reboot via full power cycle (10 seconds off, not soft restart). Watch the dashboard 60 seconds — pool should flip to Connected / Alive and stay. Solves ~80% of `BRAIINS_PWD_BLANK` tickets in D-Central's queue.

2

Verify Stratum User format. The User field must be `BraiinsAccountName.WorkerName` — your registered Braiins account name (the one you set at `pool.braiins.com`), a literal dot, then any alphanumeric worker label. Examples: `johndoe.rig-01`, `northern-mining.s19-garage`, `dcentral-fleet.bitaxe-hex-3`. Do NOT use a raw BTC address (that's solo-pool / Public Pool / Ocean convention; Braiins is account-based). Do NOT use an email. Do NOT include `@`. Save and reboot.

3

Verify Stratum URL is the bare hostname. `stratum.braiins.com` or regional `eu.stratum.braiins.com` / `us-east.stratum.braiins.com` / `asia.stratum.braiins.com`. Strip any `stratum+tcp://` prefix if your firmware splits scheme/host into separate fields. Strip trailing slashes. Strip leading/trailing whitespace. Confirm port is `3333`. Save, reboot.

4

Switch endpoint regionally for latency. Europe: `eu.stratum.braiins.com:3333`. North America: `us-east.stratum.braiins.com:3333`. Asia/Pacific: `asia.stratum.braiins.com:3333`. Wrong region doesn't break auth, but does add latency and stale-share risk; while you're in Pool Settings, set this correctly. Save, reboot.

5

Factory-reset and reconfigure. If invisible characters in any field are suspected (zero-width joiners, non-breaking spaces from PDF or markdown paste), full reset is faster than hex-inspecting every value. Antminer: hold the reset button on the control board 10 seconds and reconfigure via web UI. Bitaxe / NerdAxe / NerdQAxe: AxeOS → System → Reset Settings. Whatsminer: front-panel reset. Re-type every field by hand — no clipboard, no PDF paste, no markdown copy. Save, reboot. Confirm `result: true` in the log.

6

Capture the stratum exchange via `nc` from a laptop on the same network. `nc -v stratum.braiins.com 3333`. Send: `{"id": 1, "method": "mining.subscribe", "params": ["DCentral-Test"]}` then newline, then `{"id": 2, "method": "mining.authorize", "params": ["yourbraiinsaccount.test", "x"]}` then newline. Watch the response. If the laptop authenticates cleanly with the same credentials, the miner's firmware is corrupting one of the fields on send — escalate to firmware-level investigation (Tier 3).

7

Validate the password field byte-by-byte via SSH if your firmware supports it. Antminer stock: `cat /config/cgminer.conf` — locate the Braiins pool entry — confirm `"pass" : "x"` (single character, no whitespace inside the quotes). Bitaxe / NerdAxe via NVS dump (firmware-specific tooling): confirm `stratumPassword` key is `x`. Whatsminer: `/etc/config/cgminer` similar. Replace any non-`x` value, save, restart cgminer service or reboot.

8

Re-flash the miner from a clean firmware image. Antminer stock from `support.bitmain.com/downloads` for your exact hardware revision; or upgrade to DCENT_OS (D-Central's open-source Antminer firmware — Mining-Hacker recommended; Braiins-friendly defaults; per-chip diagnostics; autotuning; Stratum V1 + V2; fully open-source) or Braiins OS+ / LuxOS / Vnish as alternatives. Bitaxe / NerdAxe / NerdQAxe: latest stable from `bitaxeorg/ESP-Miner` releases via OTA (preserves NVS) or Web Flasher (wipes NVS — re-enter credentials carefully on first boot). Reconfigure with `pass: x` from clean state. Reboot.

9

Check for ISP-level stratum interference. Some ISPs inject TCP resets on stratum ports. From a laptop on the same network: `traceroute stratum.braiins.com` (or `tracert` on Windows). If the trace dies inside your ISP's network or returns ICMP-blocked from a corporate firewall, route the miner through a stratum-aware VPN, or move it to a network without the interference. Re-test auth.

10

Check Braiins's status page at `status.braiins.com`. If any Braiins endpoint is degraded or under maintenance, auth can fail in ways that look identical to your config. Wait until the endpoint is green, then re-test before assuming your config is wrong.

11

Wireshark / tcpdump capture during miner boot. Mirror the miner's traffic through your laptop, capture the TCP stream to `stratum.braiins.com:3333`, and reconstruct the stratum exchange. You'll see literal bytes of `mining.authorize` going out and the exact pool response coming back. Catches: UTF-8 encoding bugs, password field corruption mid-firmware, TLS-interception by routers / corporate firewalls rewriting the stream, ISP-side stratum-protocol throttling. The capture is the right artifact for a GitHub firmware-bug report.

12

Build firmware from source with verbose Stratum logging. ESP-Miner: clone `bitaxeorg/ESP-Miner`, set `STRATUM_LOG_LEVEL` to DEBUG in `stratum_api.c`, flash. DCENT_OS: clone `DCentralTech/DCENT_OS`, build with stratum-debug flags per the project's docs. You'll see every byte going out on `mining.authorize` and every byte coming back. Catches encoding bugs, escape-sequence corruption, and stratum state-machine wedges that the normal UI hides.

13

Patch firmware to send a literal `x` regardless of UI input. If a specific firmware build leaves the password field blank on the wire even after you typed `x` in the UI (rare; happens with NVS-corruption edge cases), patch the stratum builder to hard-code `"x"` in the `mining.authorize` params. Open a GitHub issue with the patch attached: ESP-Miner → `bitaxeorg/ESP-Miner`; DCENT_OS → `DCentralTech/DCENT_OS`; Braiins OS+ → their open-source bos-tools repo.

14

Stratum V2 sanity check (Antminer DCENT_OS / Braiins OS+ / recent LuxOS / Bitaxe with V2 builds). V2 URL format is `stratum2+tcp://v2.stratum.braiins.com/<POOL_PUBLIC_KEY>`. The public key is published on Braiins's V2 connection page; copy it character-for-character. V2's auth handshake is binary (Noise protocol), not the V1 JSON-RPC this page covers — but a misconfigured V2 endpoint can present in the UI as `auth failed`. Use the right firmware for the right protocol.

15

Stop DIY and escalate. When (a) password field is confirmed `x` byte-for-byte via SSH, (b) username matches a registered Braiins account exactly, (c) URL/port are correct, (d) `nc` from a laptop with the same credentials authenticates cleanly, and (e) Wireshark confirms the miner is sending well-formed JSON with a non-blank password — and Braiins still rejects: open a D-Central support ticket at `https://d-central.tech/contact/` with the Wireshark capture, miner serial, firmware version, and pool log entry. For Bitaxe/NerdAxe firmware bugs file in parallel on `bitaxeorg/ESP-Miner` issues. For Braiins-pool-side issues, contact Braiins via the pool dashboard's Help page.

When to Seek Professional Repair

If the steps above do not resolve the issue, or if you are not comfortable performing these repairs yourself, professional service is recommended. Attempting advanced repairs without proper equipment can cause further damage.

Related Error Codes

Still Having Issues?

Our team of Bitcoin Mining Hackers has been repairing ASIC miners since 2016. We have seen it all and fixed it all. Get a professional diagnosis.