{
    "meta": {
        "title": "D-Central — Mining Pool Connection Matrix (live-probed)",
        "description": "Verified stratum endpoints, ports, TLS, login style, extranonce2 size and the initial (vardiff starting) difficulty for 22 Bitcoin mining pools — captured by a live stratum V1 handshake probe (subscribe → authorize → listen) run 2026-07-19 from Montréal, Canada. Unverifiable pools are labeled, never guessed.",
        "generated": "2026-07-20T01:50:17+00:00",
        "probed_at": "2026-07-19",
        "version": "1.0",
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "license_name": "CC BY 4.0",
        "source": "https://d-central.tech/mining-pool-connection-matrix/",
        "method": "One polite stratum V1 handshake per endpoint from D-Central's Montréal server: TCP (or TLS) connect, mining.subscribe, mining.authorize (wallet-login pools were probed with the syntactically valid genesis address; account pools with an unregistered account.worker name), then ~12 s listening for mining.set_difficulty and mining.notify. start_difficulty is the first difficulty the pool assigned a fresh connection — the vardiff starting point, not necessarily the floor. latency_ms is TCP connect time from our vantage and will differ from yours. Endpoints that failed DNS or timed out are reported as such, never silently dropped.",
        "provenance": "D-Central first-party probe data. Companion to /data/mining-pool-database/ (fees, payout schemes, custody, decentralization scores — static verified fields).",
        "disclaimer": "Pool infrastructure changes without notice; a handshake on the probe date does not guarantee the endpoint tomorrow. Authorize acceptance of an unregistered name does not mean you will be paid — register with account-based pools. Re-verify before pointing significant hashrate."
    },
    "pools": [
        {
            "pool": "Braiins Pool",
            "endpoint": "stratum.braiins.com:3333",
            "alt_ports": "443, 25 (documented)",
            "tls": "V1 TLS not confirmed (3443 resets); SV2 available",
            "login": "account_required",
            "start_difficulty": 8192,
            "extranonce2_size": 6,
            "latency_ms": 12,
            "status": "verified",
            "note": "Lowest verified starting difficulty of the FPPS pools — friendly to small hardware. Authorize with an unregistered username is rejected, so create the account first. Native Stratum V2 endpoint also available (see the SV2 tracker)."
        },
        {
            "pool": "Braiins Solo",
            "endpoint": "solo.stratum.braiins.com:3333",
            "alt_ports": "443, 25 (documented)",
            "tls": "not probed",
            "login": "wallet",
            "start_difficulty": 8000,
            "extranonce2_size": 8,
            "latency_ms": 14,
            "status": "verified",
            "note": "Solo mining with your BTC address as username — our genesis-address probe was authorized and received work. Note the web hostname solo.braiins.com is a Cloudflare frontend; the stratum host is solo.stratum.braiins.com."
        },
        {
            "pool": "CKPool Solo",
            "endpoint": "solo.ckpool.org:3333",
            "alt_ports": "—",
            "tls": "not offered",
            "login": "wallet",
            "start_difficulty": 10000,
            "extranonce2_size": 8,
            "latency_ms": 232,
            "status": "verified",
            "note": "The anonymous solo classic: BTC address as username, no signup, 2% solo fee. Kolivas-run. EU mirror below shares the same behaviour."
        },
        {
            "pool": "CKPool Solo (EU)",
            "endpoint": "eusolo.ckpool.org:3333",
            "alt_ports": "—",
            "tls": "not offered",
            "login": "wallet",
            "start_difficulty": 10000,
            "extranonce2_size": 8,
            "latency_ms": 254,
            "status": "verified",
            "note": "European mirror of solo.ckpool.org; identical handshake behaviour in our probe."
        },
        {
            "pool": "Kano CKPool",
            "endpoint": "stratum.kano.is:3333",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "account_required",
            "start_difficulty": 8190,
            "extranonce2_size": 8,
            "latency_ms": 202,
            "status": "verified",
            "note": "PPLNS pool with a very low starting difficulty (8190) — historically popular with small miners. Unknown usernames are rejected at authorize; register first."
        },
        {
            "pool": "ViaBTC",
            "endpoint": "btc.viabtc.io:3333",
            "alt_ports": "btc.viabtc.com:3333",
            "tls": "not probed",
            "login": "account_open",
            "start_difficulty": 16384,
            "extranonce2_size": 8,
            "latency_ms": 25,
            "status": "verified",
            "note": "Accepted our unregistered account name and served work immediately; low-ish 16,384 start. Payouts still require a registered ViaBTC account."
        },
        {
            "pool": "AntPool",
            "endpoint": "ss.antpool.com:3333",
            "alt_ports": "443 (verified), 25 (documented)",
            "tls": "port 443 is plain TCP (verified)",
            "login": "account_open",
            "start_difficulty": 65536,
            "extranonce2_size": 8,
            "latency_ms": 41,
            "status": "verified",
            "note": "Bitmain's pool. Port 443 answered an unencrypted stratum handshake in our probe — it is a firewall-evasion port, not TLS. 65,536 start."
        },
        {
            "pool": "Luxor",
            "endpoint": "btc.global.luxor.tech:700",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "account_required",
            "start_difficulty": 65536,
            "extranonce2_size": 7,
            "latency_ms": 79,
            "status": "verified",
            "note": "Rejected our unknown username with error 24 'not authorized' but still served difficulty + work frames. Register the account/worker first. Unusual 7-byte extranonce2."
        },
        {
            "pool": "SecPool",
            "endpoint": "btc.secpool.com:3333",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "account_open",
            "start_difficulty": 65536,
            "extranonce2_size": 8,
            "latency_ms": 36,
            "status": "verified",
            "note": "Accepted an unregistered account name; 65,536 start. The stratum.secpool.com hostname sometimes quoted does not resolve — use btc.secpool.com."
        },
        {
            "pool": "Public Pool",
            "endpoint": "public-pool.io:21496",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "wallet",
            "start_difficulty": 100000,
            "extranonce2_size": 8,
            "latency_ms": 80,
            "status": "verified",
            "note": "The open-source Bitaxe-community solo pool (0% fee, wallet login, self-hostable). Starts at 100,000 but vardiff adapts down quickly for small hardware; AxeOS ships it as a default preset."
        },
        {
            "pool": "Binance Pool",
            "endpoint": "bs.poolbinance.com:3333",
            "alt_ports": "sha256.poolbinance.com:8888 (verified)",
            "tls": "not probed",
            "login": "account_open",
            "start_difficulty": 131072,
            "extranonce2_size": 8,
            "latency_ms": 55,
            "status": "verified",
            "note": "Both documented endpoints verified live; 131,072 start. Custodial exchange pool — see the pool database row before routing hashrate."
        },
        {
            "pool": "EMCD",
            "endpoint": "gate.emcd.io:3333",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "account_open",
            "start_difficulty": 131072,
            "extranonce2_size": 8,
            "latency_ms": 149,
            "status": "verified",
            "note": "gate.emcd.io verified; the btc.emcd.io hostname sometimes quoted does not resolve. 131,072 start."
        },
        {
            "pool": "F2Pool",
            "endpoint": "btc.f2pool.com:3333",
            "alt_ports": "btc-na.f2pool.com:1314 (verified)",
            "tls": "not probed",
            "login": "account_open",
            "start_difficulty": 262144,
            "extranonce2_size": 8,
            "latency_ms": 93,
            "status": "verified",
            "note": "High 262,144 start on both global and NA endpoints — expect a slow first share on small hardware while vardiff converges."
        },
        {
            "pool": "OCEAN",
            "endpoint": "mine.ocean.xyz:3334",
            "alt_ports": "port 3333 does not answer (verified)",
            "tls": "not probed",
            "login": "wallet",
            "start_difficulty": 262144,
            "extranonce2_size": 8,
            "latency_ms": 160,
            "status": "verified",
            "note": "Non-custodial, wallet-login (our probe address was authorized). Note the port: 3334, not the conventional 3333 — a frequent misconfiguration. DATUM gateway users connect differently; see OCEAN docs."
        },
        {
            "pool": "SpiderPool",
            "endpoint": "btc-us.spiderpool.com:2309",
            "alt_ports": "3333, 1800, 443 (documented); regional hosts per docs",
            "tls": "btc-us.spiderpool.com:2310 (verified TLS)",
            "login": "account_open",
            "start_difficulty": 1048576,
            "extranonce2_size": 8,
            "latency_ms": 66,
            "status": "verified",
            "note": "The only pool in our probe with a working TLS stratum endpoint at a documented port — and the highest starting difficulty (1,048,576): built for containers, hostile to a Bitaxe's first share. The btc.spiderpool.com hostname often quoted does not resolve; use the regional hosts."
        },
        {
            "pool": "Foundry USA",
            "endpoint": "btc.foundryusapool.com:3333",
            "alt_ports": "—",
            "tls": "not probed",
            "login": "clients_only",
            "start_difficulty": null,
            "extranonce2_size": 8,
            "latency_ms": 121,
            "status": "verified_gated",
            "note": "Endpoint is live and answers subscribe, but authorize is rejected (error 29 'Invalid username') and no work is served without an approved institutional account. North America's largest pool is not open to the public."
        },
        {
            "pool": "DMND (Demand)",
            "endpoint": "mining.dmnd.work:1000 (documented)",
            "alt_ports": "SV2 via local dmnd-client proxy (:32767)",
            "tls": "SV2-native encryption",
            "login": "account",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "documented_unreachable",
            "note": "The Stratum-V2-native pool (SRI-based). Its documented SV1 solo port did not answer our probe; connection is normally via the dmnd-client SV2 proxy with per-sub-account endpoints, which a raw V1 handshake cannot exercise. Verify at dmnd.work."
        },
        {
            "pool": "MARA Pool",
            "endpoint": "none public",
            "alt_ports": "—",
            "tls": "—",
            "login": "clients_only",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "no_public_endpoint",
            "note": "MARA's pool serves its own and partner hashrate; no public stratum endpoint is documented."
        },
        {
            "pool": "SBI Crypto",
            "endpoint": "none public",
            "alt_ports": "—",
            "tls": "—",
            "login": "clients_only",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "no_public_endpoint",
            "note": "Enterprise pool; no public stratum endpoint found in documentation."
        },
        {
            "pool": "P2Pool",
            "endpoint": "your own node",
            "alt_ports": "—",
            "tls": "—",
            "login": "wallet",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "run_your_own",
            "note": "Decentralized by design: there is no central endpoint to probe — you run the node and point your miner at localhost."
        },
        {
            "pool": "SoloPool.com",
            "endpoint": "btc.solopool.org:8005 (documented)",
            "alt_ports": "—",
            "tls": "—",
            "login": "wallet",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "documented_unreachable",
            "note": "The documented endpoint sits behind a Cloudflare-proxied hostname and did not answer a raw stratum handshake from our vantage. Verify current connection details at source before relying on it."
        },
        {
            "pool": "AtlasPool",
            "endpoint": "unverified",
            "alt_ports": "—",
            "tls": "—",
            "login": "unknown",
            "start_difficulty": null,
            "extranonce2_size": null,
            "latency_ms": null,
            "status": "unverified",
            "note": "No public stratum endpoint we could verify. Treat any endpoint you find quoted for this pool with suspicion until you have tested it yourself."
        }
    ]
}