On-chain player flows between crypto casinos: for each operator pair, how many distinct addresses moved from one to the other and how fast. Aggregates only, k-anonymity enforced.
Every figure on this page comes from the public blockchains. We track deposits into the labelled hot wallets of 43 crypto casinos, and for each external address we record which casinos it deposited at and in which months. When an address that had previously deposited at operator A makes its first-ever deposit at operator B in a later month, we count one migration event A → B, attributed to the month of that first B deposit.
The matrix covers the top 15 operators by total player-flow volume. Each cell shows how many distinct addresses moved from the row operator to the column operator, and the median number of days between their last deposit at the row operator and their first deposit at the column operator.
Computed from 804,248 distinct depositing addresses. 176 cells are hidden by the 50-address anonymity threshold. Largest observed flows, all-time:
| From | To | Players | Median gap |
|---|---|---|---|
| Sportsbet.io | Bitcasino | 1,604 | 38 days |
| Bitcasino | Sportsbet.io | 812 | 38 days |
| BC.GAME | 500 Casino | 124 | 124 days |
| BC.GAME | Winna | 111 | 102 days |
| Cloudbet | 500 Casino | 89 | 112 days |
| Winna | 500 Casino | 88 | 93 days |
| Cloudbet | Winna | 85 | 113 days |
| Chips.gg | 500 Casino | 84 | 99 days |
| Cloudbet | Razed | 80 | 125 days |
| Gamba | 500 Casino | 78 | 126 days |
This page publishes aggregates and nothing else. Every number is computed from at least 50 distinct blockchain addresses; any cell, month, or cohort built from fewer than 50 is suppressed and shown as empty. There is no per-address view, no address search, no way to drill down to a wallet, and no export of address lists — the underlying JSON simply does not contain them.
Blockchain addresses are pseudonymous, but we treat them as personal-adjacent data anyway: counts below the threshold could make a small group of individuals re-identifiable, so they are never rendered.
We only see the wallets we have labelled. If an operator rotates hot wallets and we have not labelled the new ones yet, player flows through those wallets are invisible until we catch up. A "migration" also does not prove intent: one person can control many addresses, one address can be used by many people (exchanges, payment processors), and a player can keep using both operators after "migrating".
Cross-chain identity is not linked: the same person depositing on Ethereum at one casino and on Tron at another counts as two different addresses. Treat every cell as a lower bound on real movement, not a census.
An external blockchain address that deposited at A in some month and then made its first-ever deposit at B in a strictly later month. The event is counted once, attributed to the month of that first B deposit. If the address later moves on to a third operator, that is a separate event.
Either no address made that move in our data, or fewer than 50 distinct addresses did — in which case the cell is suppressed for privacy (k-anonymity). Suppressed cells and truly empty cells are both shown as empty; we do not distinguish them.
For all addresses in that cell, the median number of days between their last deposit at the source operator and their first deposit at the destination operator. A small number suggests an active switch; a large number suggests a lapsed player trying a new operator.
No. The definition only requires a first deposit at the destination; the address may keep depositing at both. Read the matrix as "who else do an operator's players try", not as churn.
From public blockchain transactions into casino hot wallets we have labelled, covering Ethereum, BSC, Polygon, Base, Arbitrum, Tron, Solana and Bitcoin, from December 2019 onward. Nothing is self-reported by the casinos.