Nansen Guide
How Analysts Cluster Wallet Identities: A Practical Guide
Clustering wallet identities is the process of grouping multiple blockchain addresses that are likely controlled by the same entity, even when those addresses are not explicitly linked. Analysts do this by combining on-chain heuristics—such as shared withdrawal patterns and spending habits—with off-chain signals like exchange registrations and social media activity. The goal is to move from a sea of anonymous addresses to a manageable map of real-world actors, which is essential for tracking fund flows, detecting market manipulation, and assessing protocol usage. While no method is perfect, the core logic is simple: if two addresses interact with the same counterparties in a coordinated way, they probably belong to one wallet cluster.
## The Foundation: On-Chain Heuristics
The first layer of clustering relies purely on observable blockchain data. These heuristics are deterministic in some cases and probabilistic in others, and they form the backbone of any serious analytics platform, including those used by firms like Nansen.
### Common Input and Output Patterns
The most reliable heuristic is the **shared withdrawal pattern**. When a user withdraws funds from an exchange, the exchange sends the assets from a single hot wallet to the user’s address. If that same user later withdraws again, the exchange often sends to a *new* address. However, the change output—the leftover funds returned to the exchange—will be the same. By linking the change address to the original withdrawal address, analysts can confidently group them.
### The Change Address Rule
A more granular version is the **change address heuristic** on UTXO-based chains like Bitcoin. When you spend a portion of your coins, the wallet sends the remainder to a fresh address it controls. Because the change address is generated by the same wallet software, it is almost certainly owned by the same person. Analysts look for addresses that appear only as change outputs and never as the primary recipient, then cluster them with the spending address.
### Behavioral Fingerprinting
Beyond simple transactions, analysts use **behavioral fingerprints** like gas price settings, transaction timing, and interaction with specific smart contracts. For example, if two addresses consistently use the same unusual gas price (e.g., 1.21 gwei) and transact within the same minute, the probability they belong to the same entity rises sharply. This is probabilistic, but it works well when combined with other signals.
## Off-Chain Data Enrichment
On-chain heuristics alone leave many gaps. To fill them, analysts layer in off-chain data, turning anonymous clusters into labeled entities.
### Exchange and KYC Data
The most powerful off-chain signal comes from **exchange deposit and withdrawal records**. When a user sends funds from a known exchange address to a new wallet, analysts can tag that wallet as “belonging to an exchange user,” even without knowing the user’s name. Over time, if that wallet interacts with other addresses, those get pulled into the same cluster. Some platforms, like Nansen, aggregate this data into “wallet labels” such as “Smart Money” or “Whale,” based on historical profitability and activity.
### Social and Web Scraping
Analysts also scrape **public social profiles, forum posts, and GitHub repos** for addresses. If a developer posts their wallet address in a Discord channel and that address later sends funds to a cluster, the entire cluster gets a human-readable tag. This is how many NFT artists and DeFi founders become identified in public dashboards.
### The Probabilistic Labeling Layer
Because off-chain data is often incomplete, analysts assign **confidence scores** to each label. A cluster linked to an exchange via a single withdrawal might be labeled “likely exchange user,” while a cluster with matching social profiles and repeated interactions gets a “verified entity” tag. This scoring system prevents false positives from polluting the dataset.
## The Role of Graph Algorithms
Once heuristics and labels are in place, analysts turn to graph theory to scale the process.
### Connected Component Analysis
The classic method is **connected component analysis**. Imagine each address as a node and each verified link (e.g., shared change address) as an edge. Analysts run an algorithm that finds all nodes connected to each other, forming a single cluster. This is fast and deterministic, but it can over-merge if a heuristic is wrong.
### Community Detection for Loose Clusters
For probabilistic links, analysts use **community detection algorithms** like Louvain or Label Propagation. These algorithms group addresses that are more densely connected to each other than to the rest of the network. This is useful for identifying funds that move together through multiple hops, even if no single direct link exists.
### Temporal and Flow-Based Clustering
A more advanced approach is **temporal clustering**, which looks at the *sequence* of transactions. If Address A sends funds to B, and B immediately sends the same amount to C, analysts may treat A, B, and C as one cluster, especially if the timing is under a few seconds. This catches “mixer-like” behavior where a user rapidly rotates addresses to obscure trail.
## Practical Challenges and Limitations
Clustering is not a solved problem, and every analyst must account for its weaknesses.
### The Privacy Tool Problem
**CoinJoin transactions and privacy mixers** deliberately break the change address heuristic. In a CoinJoin, multiple users combine inputs and outputs, making it impossible to know who owns which output. Analysts often exclude such transactions from clustering to avoid merging unrelated parties.
### False Merges and Splits
A single erroneous heuristic can merge two unrelated entities into one cluster, leading to wrong conclusions about fund flows. Conversely, a user who uses two separate hardware wallets with different software may never be clustered, even though they are the same person. This is why top platforms like Nansen maintain a **human review layer** where analysts manually inspect suspicious clusters.
### The Data Lag Problem
On-chain data is immutable, but off-chain labels age quickly. An address tagged as “exchange user” in 2021 may now be a self-custody wallet. Analysts must continuously re-run clustering algorithms and decay old labels to keep their maps accurate.
## A Simple Comparison of Clustering Methods
| Method | Data Source | Deterministic? | Best Use Case | Key Risk |
|---|---|---|---|---|
| Change Address Heuristic | On-chain (UTXO) | Yes | Bitcoin and similar chains | Fails with CoinJoin |
| Shared Withdrawal Pattern | On-chain + Exchange | Yes | Linking exchange users | Misses self-custody transfers |
| Behavioral Fingerprinting | On-chain (metadata) | No | Detecting sophisticated actors | High false-positive rate |
| Community Detection | On-chain (graph) | No | Finding fund flow networks | Over-merging loose clusters |
| Off-Chain Labeling | Web, KYC, Social | No | Human-readable tags | Label decay over time |
The best analysts combine at least three of these methods, then validate the results against known cases. For instance, if a cluster matches a publicly known whale’s address, that becomes a training data point for the heuristic. Over time, the clustering engine improves, but it never becomes perfect—which is why human oversight remains the final filter in professional analytics workflows.