SoloLuck

Does stratum latency matter for solo mining?

← back to pool

The honest answer first

Latency does not change your odds of solving a block. Those odds depend only on your hashrate versus the whole network, and they are identical on every pool no matter where its server sits. Anyone who tells you a closer pool gives you a better chance at a block is wrong. What latency does affect is wasted work — and for a busy miner that is a small but real efficiency, not a lottery edge.

Where the milliseconds actually go

When a new block is found anywhere on the network, your pool has to push you fresh work built on that new tip. Until that new-work message reaches you, your miner keeps hashing on the old block — and any share it submits for the old block is stale and thrown away. The farther the pool, the longer that window, and the more shares are wasted at every block change (roughly every ten minutes). A close pool also means faster share submission and fewer dropped connections for devices that reconnect a lot.

Measured latency from Indonesia

TCP round-trip to each pool's stratum endpoint, measured from a home connection in Indonesia (a real SE-Asia miner's vantage point). Your numbers will vary by ISP, but the ranking is structural — a single-region pool can't beat physics:

Pool / endpointRTT from Indonesia
SoloLuck · Jakarta~6 ms
solo.ckpool.org · Singapore node~17 ms
solo.ckpool.org · Australia node~123 ms
Public Pool · US~250 ms
solo.ckpool.org · US / EU nodes~260 ms

Against a US-only solo pool the gap is decisive (~40× lower); against an Asia node like ckpool-Singapore or an anycast pool it is modest. We'd rather you see the real numbers than a marketing claim.

Test it yourself

Don't take our word for it. From a terminal, time the TCP handshake to any pool's stratum port. It warms DNS first, then keeps the fastest of five connects — so you measure the network hop, not a one-off DNS lookup or blip:

python3 -c "
import socket, time
host, port = 'stratum.sololuck.io', 3333
socket.getaddrinfo(host, port)       # warm DNS first
best = float('inf')
for _ in range(5):
    start = time.perf_counter()
    socket.create_connection((host, port), 5).close()
    best = min(best, (time.perf_counter() - start) * 1000)
print(round(best, 1), 'ms (best of 5)')
"

Swap in any other pool's stratum host and compare the numbers. That TCP round-trip is the network hop — exactly what stale-share waste tracks.

So when does it matter?

Ready to take a ticket?

Paste your address and copy the config from /setup, watch the pool on /status, and check every claim on /verify. Mine to your own address — that is what makes it truly solo.

Get the setup config →

Not ready to point a miner yet? Run your gear through the odds calculator, or join Telegram for block & record alerts — no rig required.

More guides

Browse all guides →