Pool Attribution

How we identify which mining pool mined each block on the Zcash network, and why you can trust the labels you see on this explorer.

The short answer

Every Zcash block contains a coinbase transaction created by the miner who found it. Mining pools typically leave identifiable fingerprints in this transaction: a readable name, a binary signature, or a structural pattern unique to their software. We search for these fingerprints using five attribution methods, each explained below with real examples from the Zcash blockchain.

Using these attribution methods, we've identified the mining pool for over 80% of all Zcash blocks, and nearly all blocks mined in the past year.

What's in a coinbase transaction?

The coinbase transaction is the first transaction in every block. Unlike normal transactions that spend existing coins, the coinbase transaction creates new ZEC. This is how miners receive their block reward.

The coinbase transaction includes a free-form data field called the scriptSig. The only requirement is that it starts with the block height (a rule called BIP34). After that, the miner can embed whatever they want: a pool name, a message, random bytes, or nothing at all.

Block #2,850,000Coinbase Transaction (first tx in block)Block HeightExtra Nonce/Foundry/scriptSig (free-form data)03 50 89 2b 00 04 a3 b1 ... 2f 46 6f 75 6e 64 72 79 2fPool identifier embedded here

This free-form data is the foundation of pool attribution. Most pools use it to advertise their identity, and even pools that don't leave an explicit tag often produce a distinctive pattern. You can inspect the coinbase data yourself on any block detail page in the "Coinbase" section.

Method 1: Coinbase tags

The most common identification method. Many pools embed a human-readable ASCII string in the coinbase scriptSig, signing every block they mine with their name.

Examples of tags found on the Zcash blockchain:

  • /ViaBTC/Hello world!/ (ViaBTC)
  • Antpool, /Antpool/ (Antpool)
  • 2miners.com (2Miners)
  • Poolin, poolin.com (Poolin)
  • /flypool/ (Flypool / Bitfly)
  • Mining-Dutch (Mining Dutch)

When we find a recognized tag in the coinbase text, the confidence is very high. The pool explicitly signed the block — though any miner could technically include another pool's tag. This is the same technique Bitcoin block explorers use.

Method 2: Coinbase signatures

Some pools embed a signature that isn't readable ASCII text. Instead, it's a binary pattern buried in the raw hex data of the coinbase transaction. These signatures don't show up when decoding the coinbase as text. They require hex-level analysis.

The best example is F2Pool (also known as Discus Fish). Every F2Pool block contains the Chinese characters 七彩神仙鱼 ("Colorful Angelfish," their brand name) encoded as UTF-8 bytes:

e4b883 e5bda9 e7a59e e4bb99 e9b1bc → 七 彩 神 仙 鱼

Each Chinese character occupies 3 bytes in UTF-8. This 15-byte signature appears in 100% of blocks from F2Pool's addresses and in 0% of blocks from any other pool, making it just as reliable as a text tag.

Signatures like this are also valuable for tracking pools across address changes. Even when F2Pool rotated to a new payout address, the hex signature was still present, confirming continuity.

Method 3: Software fingerprinting

Even when a pool doesn't embed an explicit tag or signature, their mining software can produce structurally distinctive coinbase data. By analyzing the hex structure of confirmed blocks from a known pool, we can derive a fingerprint: a pattern in the coinbase bytes that's unique to that pool's software.

A real example: Slushpool (now Braiins) originally tagged blocks with /slush/. When they later removed the tag, a remnant persisted. Every block still ended with the byte 0x2f (the ASCII character /). This trailing slash appeared in 100% of blocks from Slushpool's known addresses and in 0% of blocks from any other pool.

By following this fingerprint across multiple address changes, we traced the full chain of Slushpool addresses from 2017 through their shutdown in 2022, even though only the earliest blocks carried the readable /slush/ tag.

Fingerprint-based attribution is high confidence when the pattern is exclusive to one pool. We validate exclusivity by checking whether any other addresses on the network share the same pattern.

Method 4: Address handoff

Mining pools periodically rotate their payout addresses. When this happens, one address stops producing blocks at the exact same time a new address begins, often within minutes or even a single block height.

To confirm a handoff, we plot the combined monthly block share of both addresses through the transition period. If the combined share is continuous with no discontinuity, that's strong evidence that both addresses belong to the same pool.

45%35%25%Network ShareJanFebMarAprMayJunJulAugSepOctAddress A (tagged, known pool)Address B (untagged, same pool)Address switchIllustrative, not real network data

In the example above, Address A (a known pool) stops mining in June. Address B (untagged) starts at the exact same time. Their combined network share is smooth through the transition: no spike, no drop, just a seamless continuation.

This method has been used to track several major pools through address rotations, including ViaBTC, Antpool, Binance, and Flypool. The confidence is high when the timing is tight (same day, single-digit block gap) and the share continuity is clean.

Method 5: On-chain analysis

The final method combines two signals: on-chain funding traces and solrate correlation.

If a known pool's address sends funds directly to an unknown mining address, and that unknown address's block-implied solrate closely matches what the pool publicly reports via their API, the two are likely the same entity.

This is the most circumstantial method and is never used as the sole basis for attribution. It serves as supporting evidence, helping increase confidence when other indicators (like timing or fingerprint similarities) are present but not conclusive on their own.

A real example: Luxor tagged blocks with readable coinbase text until January 2022, mining tens of thousands of blocks. Five months later, an untagged address began mining — no coinbase tags, no hex signatures, and a four-month gap that ruled out a clean address handoff. But two on-chain transactions totaling hundreds of ZEC linked Luxor's old address directly to the new one:

Signal 1: On-chain funding traceLuxor (tagged address)t1L2rj...CTpGLast tagged block: Jan 2022Hundreds of ZECUnknown addresst1XQZd...LguxFirst block: Jun 2022Signal 2: Solrate correlationLuxor (reported)~380 MSol/sUnknown addr.~370 MSol/sNearly identical — within normal variance

Luxor's API still reported a substantial solrate but had zero identifiable blocks since January 2022. The unknown address's block-implied solrate — derived from its share of network blocks — was nearly identical to what Luxor reported. Combined with the direct funding link, this was enough to attribute tens of thousands of additional blocks to Luxor with medium confidence.

Confidence and coverage

Not all attribution methods carry the same weight. We group them into three confidence tiers:

Very HighCoinbase Tag + Coinbase SignaturePool explicitly identifies itself in the block>50%of attributed blocksHighSoftware Fingerprint + Address HandoffStructural patterns or timing evidence exclusive to one pool<50%of attributed blocksMediumOn-Chain AnalysisFunding traces + solrate correlation as supporting evidence<5%of attributed blocks

Most blocks are attributed through coinbase tags and signatures alone. The other methods primarily extend coverage to blocks that would otherwise show as unknown — tracking pools across address rotations or linking untagged addresses back to known operators. When the evidence doesn't meet at least the medium confidence threshold, the block stays unattributed rather than risk a misattribution.

Blocks we can't attribute to any pool appear as "Unknown" on the Pools page. These include solo miners, pools that don't leave any identifying marks, and historical blocks from before pool tagging became standard practice. Attribution is an ongoing process, and coverage continues to improve as new patterns are identified.

See it yourself

Everything described here is transparent and verifiable on the explorer:

  • Pools page: All identified pools, their block counts, and network share over different time periods.
  • Pool detail pages: Click any pool to see its known coinbase tags, payout addresses, historical dominance, and individual blocks. For example, visit the ViaBTC or F2Pool detail pages.
  • Block detail pages: Click any block on the Blocks page to see the raw coinbase text, hex data, payout address, and which pool was identified.

If you have questions about a specific attribution or notice something that looks off, let us know on the Contact page.

Mining pool attribution on this explorer uses a combination of coinbase tag analysis, hex signature detection, address handoff patterns, and on-chain funding traces. All methods involve inference based on publicly available blockchain data and may not reflect the actual operator of a given address. Attribution confidence varies by method and is noted where applicable. Pool operators who believe their blocks have been misattributed can contact us to request a correction. This analysis is provided for informational purposes only and does not imply any affiliation with or endorsement by the pools identified.