How to Enable Stratum V2 Without Flashing Your Miner (SRI Translation Proxy Setup)
Quick answer
Can you get Stratum V2 on a stock, VNish or LuxOS miner without reflashing? Yes. You run the open-source SRI Translation Proxy on a small always-on box on your LAN, point your Stratum V1 miners at it, and it speaks encrypted, authenticated Stratum V2 upstream to your pool. Only BraiinsOS+, AxeOS and DCENT_OS speak SV2 natively in firmware — every stock Antminer/Whatsminer, VNish and LuxOS miner is SV1-only, so the proxy is the way to get SV2's benefits with zero flashing risk.
The proxy gets you SV2's encrypted, authenticated, bandwidth-efficient transport and pool authentication — not miner-side transaction selection (Job Declaration), which needs a fuller node-side stack. It is the low-risk on-ramp: no firmware change, and fully reversible.
What the proxy does — and what it doesn’t
Two firmware families speak Stratum V2 natively: BraiinsOS+ on industrial Antminers, and AxeOS / ESP-Miner (v2.14.0+, since June 2026) on the Bitaxe. D-Central’s own DCENT_OS ships a native SV2 stack in public beta as well. Everything else — stock Antminer and Whatsminer, VNish, LuxOS — is Stratum V1 only. For that large installed base, reflashing is the only way to get SV2 in the firmware — unless you put a translator in front of the miner instead.
The SRI Translation Proxy (tProxy) is part of the Stratum Reference Implementation — the open-source reference project the entire SV2 ecosystem stands on. It sits on your local network: your SV1 miners connect to it over ordinary stratum, and it re-speaks that connection to your pool as SV2.
What you get
- Encrypted, authenticated transport to the pool — the SV2 channel is verified against the pool’s authority public key, so you know you’re talking to the real pool and no one can tamper with the stream.
- Lower upstream bandwidth — SV2’s binary framing is far leaner than SV1’s verbose JSON.
- Pool failover — list a primary and a backup pool and the proxy switches automatically.
What you do not get
- Job Declaration (choosing your own block templates / transactions). That is a separate capability: it needs a Job Declarator Client plus a Stratum-V2-enabled Template Provider (Bitcoin Core). Even native SV2 firmware like BraiinsOS+ or AxeOS is transport-only on its own without that node-side stack.
So be clear-eyed: the proxy is a genuine security-and-efficiency upgrade, not full sovereignty over which transactions you mine. That’s the honest trade for zero flashing risk.
What you need
- A small always-on Linux box on the same network as your miners — a Raspberry Pi 4/5 or any mini-PC is plenty (the proxy is light).
- Your pool’s SV2 connection details: address, port, and its authority public key. Get these from your pool. (Braiins Pool ships as the backup upstream in the reference project’s own example config, so SV2 pools are real and available today.)
- Your existing miners on stock, VNish or LuxOS — no firmware change.
Step 1 — Install the Translation Proxy
The tProxy lives in the reference project’s applications repo, stratum-mining/sv2-apps (current release v0.6.0, July 2026), under miner-apps/translator. Build it from source with Rust/Cargo, or run the project’s Docker image — always follow the repo’s current build instructions rather than a copied command, because they evolve between releases. Use the example config at miner-apps/translator/config-examples/mainnet/tproxy-config-hosted-pool-example.toml as your starting point.
Step 2 — Configure it
Here are the keys that matter, taken from the real example config (placeholders where a value is pool-specific — don’t invent those, get them from your pool):
# --- Where your SV1 miners connect (the proxy's listener on your LAN) ---
downstream_address = "0.0.0.0"
downstream_port = 34255
max_supported_version = 2
min_supported_version = 2
# --- Your Stratum V2 pool (primary). Get these three values from your pool. ---
[[upstreams]]
address = "pool.example.com" # your SV2 pool host
port = 3333
authority_pubkey = "<your pool's authority public key>"
user_identity = "<your pool username or BTC address>"
# --- Optional second pool = automatic failover ---
[[upstreams]]
address = "<backup pool host>"
port = 3333
authority_pubkey = "<backup pool authority public key>"
user_identity = "<your backup username>"
# --- Difficulty / vardiff ---
[downstream_difficulty_config]
min_individual_miner_hashrate = 10_000_000_000_000.0 # your weakest miner (10 TH/s shown)
shares_per_minute = 6.0
enable_vardiff = true
downstream_port(default 34255) is the port your miners will point at.- Each
[[upstreams]]block is a pool. Theauthority_pubkeyis how the proxy cryptographically verifies it’s talking to the genuine pool — that’s the “authenticated” half of SV2. Add a second[[upstreams]]block for automatic failover. user_identityis your pool username (many pools use your BTC address).- Set
min_individual_miner_hashrateto your weakest miner’s hashrate so vardiff behaves; leaveenable_vardiff = truefor normal pool mining.
Step 3 — Point your miners at the proxy
In each miner’s pool settings (the stock, VNish or LuxOS web UI), set the pool URL to:
stratum+tcp://<your-proxy-LAN-IP>:34255
…with your usual worker name. That’s the whole change on the miner — no firmware touched. To undo it later, just point the miner back at your pool’s direct URL.
Step 4 — Verify it’s working
- Watch the tProxy logs: you should see your downstream miners connect and an upstream SV2 channel open to the pool.
- The proxy exposes an optional monitoring endpoint (
monitoring_address, default port 9092) with live channel data. - Your shares should appear at the pool under your username as usual — now carried over an encrypted, authenticated SV2 link.
Prefer SV2 in the firmware itself?
If you’d rather not run a separate box, the alternative is flashing SV2-native firmware. DCENT_OS — D-Central’s own GPL-3.0 firmware, in public beta with a 0%-default dev fee — ships a native SV2 stack for the Antminer S9 and S19j Pro (Zynq/XIL) today. It’s experimental beta firmware and a bad flash can brick a miner, so keep a recovery path ready — the proxy route above is the zero-risk option. DCENT_OS stands on the shoulders of the Stratum Reference Implementation and the firmwares (BraiinsOS+, AxeOS) that proved this work possible.
Keep going
Frequently asked questions
Can I use Stratum V2 without flashing custom firmware?
Yes. You run the SRI Translation Proxy (tProxy) on a small always-on box on your local network; your miners stay on their stock, VNish or LuxOS firmware and simply point at the proxy, which speaks encrypted Stratum V2 upstream to your pool. No firmware change, and it is fully reversible.
Does the proxy let me choose my own transactions (Job Declaration)?
No. The proxy gives you Stratum V2's encrypted and authenticated transport, pool authentication and lower upstream bandwidth — but not Job Declaration (miner-selected block templates). Job Declaration needs a Job Declarator Client plus a Stratum-V2 Template Provider (Bitcoin Core). Even native SV2 firmware such as BraiinsOS+ or AxeOS is transport-only on its own without that node-side stack.
What hardware do I need to run the proxy?
Any small always-on Linux box on the same network as your miners — a Raspberry Pi 4 or 5, or any mini-PC, is plenty. The Translation Proxy is lightweight.
Which firmwares already speak Stratum V2 natively?
BraiinsOS+ on industrial Antminers, AxeOS / ESP-Miner v2.14.0 and newer on the Bitaxe (since June 2026), and DCENT_OS in public beta. Stock Antminer and Whatsminer, VNish and LuxOS are Stratum V1 only — which is exactly why the Translation Proxy exists.
Is it reversible?
Completely. Because there is no firmware change, you undo it by pointing each miner back at your pool's direct URL. Nothing is written to the miner.
Configuration keys and version above are grounded in the live Stratum Reference Implementation (github.com/stratum-mining/sv2-apps, miner-apps/translator) as of July 2026 — not invented. Verify current build steps and any pool-specific values against your pool and the project’s docs before you rely on them. D-Central credits the Stratum Reference Implementation and the open-source firmwares that opened this space.
Related products, repair, and setup paths
- immersion cooling hub
- home immersion cooling guide
- ASIC miners for immersion planning
- ASIC cooling parts
- airflow shroud before immersion
- compare miner specs in the database
- ASIC repair support
- compare ASIC miner specs
- ASIC miner database
- Antminer S19 specs and profitability
- buy a tested Antminer S19
- Antminer S19 maintenance guide
- Antminer S19 repair service
- Antminer S9 specs
- Bitmain Antminer S9
- Antminer S9 maintenance guide
- S9 hashboard repair parts bundle
- Whatsminer M30S specs
- Whatsminer repair guide
- MicroBT Whatsminer M30S++
- Whatsminer M3x exhaust shroud
Last reviewed July 21, 2026.
