{
  "schema_version": "sg_mining_pool_coordination_public.v1",
  "methodology_version": "1.0.0",
  "observed_at": "2026-09-18T14:19:59Z",
  "published_story_url": "https://satoshigazette.org/stories/three-pool-labels-built-57-6-of-last-week-s-bitcoin-blocks",
  "sources": {
    "one_week": "https://mempool.space/api/v1/mining/pools/1w",
    "one_month": "https://mempool.space/api/v1/mining/pools/1m",
    "three_months": "https://mempool.space/api/v1/mining/pools/3m",
    "methodology": "https://github.com/mempool/mining-pools"
  },
  "windows": [
    {
      "key": "1w",
      "label": "One week",
      "observed_blocks": 1051,
      "pools": [
        {
          "label": "Foundry USA",
          "blocks": 275
        },
        {
          "label": "AntPool",
          "blocks": 202
        },
        {
          "label": "F2Pool",
          "blocks": 154
        },
        {
          "label": "ViaBTC",
          "blocks": 96
        },
        {
          "label": "SpiderPool",
          "blocks": 81
        },
        {
          "label": "MARA Pool",
          "blocks": 60
        },
        {
          "label": "SECPOOL",
          "blocks": 42
        },
        {
          "label": "Luxor",
          "blocks": 28
        },
        {
          "label": "Braiins Pool",
          "blocks": 21
        },
        {
          "label": "OCEAN",
          "blocks": 21
        },
        {
          "label": "Binance Pool",
          "blocks": 18
        },
        {
          "label": "BTC.com",
          "blocks": 17
        },
        {
          "label": "NiceHash",
          "blocks": 14
        },
        {
          "label": "Unknown",
          "blocks": 13
        },
        {
          "label": "Poolin",
          "blocks": 5
        },
        {
          "label": "WhitePool",
          "blocks": 3
        },
        {
          "label": "ULTIMUSPOOL",
          "blocks": 1
        }
      ]
    },
    {
      "key": "1m",
      "label": "One month",
      "observed_blocks": 4513,
      "pools": [
        {
          "label": "Foundry USA",
          "blocks": 1164
        },
        {
          "label": "AntPool",
          "blocks": 821
        },
        {
          "label": "F2Pool",
          "blocks": 655
        },
        {
          "label": "SpiderPool",
          "blocks": 416
        },
        {
          "label": "ViaBTC",
          "blocks": 370
        },
        {
          "label": "MARA Pool",
          "blocks": 233
        },
        {
          "label": "SECPOOL",
          "blocks": 208
        },
        {
          "label": "Luxor",
          "blocks": 157
        },
        {
          "label": "OCEAN",
          "blocks": 117
        },
        {
          "label": "Binance Pool",
          "blocks": 100
        },
        {
          "label": "Braiins Pool",
          "blocks": 70
        },
        {
          "label": "NiceHash",
          "blocks": 61
        },
        {
          "label": "BTC.com",
          "blocks": 60
        },
        {
          "label": "Unknown",
          "blocks": 54
        },
        {
          "label": "Poolin",
          "blocks": 14
        },
        {
          "label": "WhitePool",
          "blocks": 6
        },
        {
          "label": "ULTIMUSPOOL",
          "blocks": 5
        },
        {
          "label": "Mining-Dutch",
          "blocks": 1
        },
        {
          "label": "Braiins Solo",
          "blocks": 1
        }
      ]
    },
    {
      "key": "3m",
      "label": "Three months",
      "observed_blocks": 13308,
      "pools": [
        {
          "label": "Foundry USA",
          "blocks": 3392
        },
        {
          "label": "AntPool",
          "blocks": 2472
        },
        {
          "label": "F2Pool",
          "blocks": 2020
        },
        {
          "label": "SpiderPool",
          "blocks": 1201
        },
        {
          "label": "ViaBTC",
          "blocks": 1136
        },
        {
          "label": "MARA Pool",
          "blocks": 659
        },
        {
          "label": "SECPOOL",
          "blocks": 546
        },
        {
          "label": "Luxor",
          "blocks": 428
        },
        {
          "label": "OCEAN",
          "blocks": 382
        },
        {
          "label": "Binance Pool",
          "blocks": 254
        },
        {
          "label": "Braiins Pool",
          "blocks": 231
        },
        {
          "label": "Unknown",
          "blocks": 143
        },
        {
          "label": "BTC.com",
          "blocks": 143
        },
        {
          "label": "SBI Crypto",
          "blocks": 95
        },
        {
          "label": "NiceHash",
          "blocks": 89
        },
        {
          "label": "Poolin",
          "blocks": 40
        },
        {
          "label": "WhitePool",
          "blocks": 37
        },
        {
          "label": "ULTIMUSPOOL",
          "blocks": 20
        },
        {
          "label": "Innopolis Tech",
          "blocks": 6
        },
        {
          "label": "Solo CK",
          "blocks": 3
        },
        {
          "label": "Mining-Dutch",
          "blocks": 3
        },
        {
          "label": "Parasite",
          "blocks": 3
        },
        {
          "label": "RedRock Pool",
          "blocks": 2
        },
        {
          "label": "Public Pool",
          "blocks": 1
        },
        {
          "label": "Braiins Solo",
          "blocks": 1
        },
        {
          "label": "DMND",
          "blocks": 1
        }
      ]
    }
  ],
  "method": {
    "calculation": "For the three endpoint responses collected in one bounded September 12 session, sort labels by attributed block count and divide the first two, three, or five counts by each endpoint total. Percentages are derived at build time. The observation timestamp records receipt assembly, not a publisher-provided source time; independent endpoint caches can differ and this is not an atomic chain-tip snapshot.",
    "attribution": "mempool.space assigns pool labels from coinbase tags and known block-reward payout addresses. Its public identification repository can change, and historical blocks can be re-indexed after an identifier update.",
    "limitation": "A pool label measures attributed block production in a finite rolling sample. It does not reveal who owns the connected machines, their geography, whether operators coordinate, or how quickly miners can redirect work.",
    "why_it_matters": "Repeated concentration under a small number of pool labels is a visible coordination surface. The operational question is whether miners can detect unwanted policy and switch without permission."
  },
  "boundaries": {
    "read_only_snapshot": true,
    "pool_labels_are_not_ownership": true,
    "hashrate_not_inferred": true,
    "geography_not_inferred": true,
    "collusion_not_inferred": true,
    "external_action": false
  }
}
