Home>Blog>Walking the Cohort Tree: Why Wallet Heritage Matters More Than Wallet Size
Walking the Cohort Tree: Why Wallet Heritage Matters More Than Wallet Size

Walking the Cohort Tree: Why Wallet Heritage Matters More Than Wallet Size

By CMM Team - 12-Jun-2026

Walking the Cohort Tree: Why Wallet Heritage Matters More Than Wallet Size

Most analytics platforms classify wallets at a moment in time. Snapshot the wallet, assign a label, move on. That works for a static view of "who's trading on Hyperliquid right now" but misses something fundamental: where wallets came from is often a better predictor of what they'll do than where they are.

A wallet currently sitting in the Smart Money cohort that migrated up from Consistent Grinder over 18 months behaves very differently from a wallet that landed in Smart Money via a single large windfall trade. Same current label. Wildly different future expected behavior. The first is a disciplined compounder; the second is a wallet that probably won't repeat the result.

This article makes the case for treating wallet classification as a tree โ€” where heritage paths matter more than current position โ€” and walks through how to read heritage signals on Hyperliquid using the cohort migration history exposed by the API.

The snapshot problem

A wallet currently classified as Money Printer means cumulative PnL is above $1M. That's it. The classification doesn't tell you:

  • How long the wallet has been a Money Printer
  • What cohort it came from (Smart Money, or jumped from Humble Earner via one trade)
  • Whether it's been a Money Printer once or recurrently
  • How fast it climbed vs. how fast it could fall

These distinctions matter because trader behavior is path-dependent. A wallet that earned its way up trade by trade has demonstrated process. A wallet that jumped two cohorts on a single trade has demonstrated nothing except luck.

For copy trading specifically, this gap explains a lot of the disappointment that follows "I found a Money Printer to copy and it didn't work." The wallet was Money Printer at moment of selection. It wasn't a sustained Money Printer with a multi-year heritage of process โ€” and the difference is what determined the next 90 days.

The heritage view

HyperTracker exposes cohort history per wallet, not just current cohort. The data structure is a sequence of cohort assignments over time:

heritage = api.get("/wallets/0xABC.../cohort_history")
# Returns:
# [
#   {"date": "2024-03-15", "size_cohort": "fish",        "pnl_cohort": "humble_earner"},
#   {"date": "2024-08-22", "size_cohort": "dolphin",      "pnl_cohort": "consistent_grinder"},
#   {"date": "2025-01-08", "size_cohort": "apex_predator","pnl_cohort": "smart_money"},
#   {"date": "2025-10-30", "size_cohort": "small_whale",  "pnl_cohort": "money_printer"},
#   ...
# ]

That sequence is the wallet's heritage. It tells you the path from where the wallet started to where it is today.

Four heritage patterns

Looking across thousands of wallets, four heritage shapes show up repeatedly. Each carries a different signal about future behavior.

The slow climber

Wallet progresses one cohort at a time, with months between migrations. Started Fish, moved to Dolphin, then Apex Predator over 12-24 months. PnL cohort climbed in parallel: Humble Earner โ†’ Consistent Grinder โ†’ Smart Money.

Signal: process-driven trader. Each step happened because the wallet earned it through repeated profitable trades, not a single windfall. The discipline that got them up the tree usually keeps them there or climbing further.

Best copy candidate. Stable, predictable, replicable strategies.

The rocket

Wallet jumped multiple cohorts in a short window. Fish to Whale in 3 months. Humble Earner to Money Printer in the same window. Usually attributable to one massive trade โ€” a high-leverage call on a major move, an early position in a token that ran 50x.

Signal: lucky trader. The single trade that catapulted them is rarely repeatable. Many rockets fall back within 6-12 months as they take excessive risk trying to repeat the original hit.

Avoid copying. The wallet's current classification overstates their actual edge.

The yo-yo

Wallet has crossed cohort boundaries multiple times in both directions. Smart Money โ†’ Consistent Grinder โ†’ Smart Money โ†’ Humble Earner โ†’ Smart Money. Currently sits in Smart Money but has been there before and fallen out before.

Signal: edge-dependent on regime. Wallet performs well in certain market conditions but doesn't adapt when conditions change. Currently profitable but the heritage warns the next regime change is coming.

Use carefully. Profitable to copy when the trader's preferred regime is in play; loses money when it's not. Requires you to read the regime independently.

The recovery

Wallet was in negative-PnL cohorts (Semi-Rekt, Full Rekt) for an extended period, then crossed back into positive territory and stayed. Currently Smart Money or higher, came from Full Rekt 6+ months ago.

Signal: learned trader. Wallet experienced significant losses, adjusted strategy, and has demonstrated sustained recovery. This pattern is rare โ€” most wallets that hit Full Rekt never recover โ€” but the ones that do often carry a kind of earned discipline that's hard to replicate any other way.

Strong copy candidate, particularly for traders looking for risk-managed strategies. These wallets know what blowing up feels like and trade accordingly.

Heritage + current state, combined

The framework that ties heritage to current trading decisions:

def evaluate_wallet(address):
    current = api.get(f"/wallets/{address}/cohort")
    heritage = api.get(f"/wallets/{address}/cohort_history")

    # Classify heritage pattern
    pattern = classify_heritage(heritage)

    return {
        "current_cohort": current,
        "heritage_pattern": pattern,
        "copy_recommendation": copy_rec(current, pattern),
        "size_multiplier": size_mult(pattern),
    }

def copy_rec(current, pattern):
    if current == "money_printer" and pattern == "slow_climber":
        return "STRONG_COPY"
    if current == "money_printer" and pattern == "rocket":
        return "AVOID"
    if current == "money_printer" and pattern == "recovery":
        return "STRONG_COPY"
    if current == "money_printer" and pattern == "yo_yo":
        return "COPY_WITH_REGIME_FILTER"
    # ... and so on for other current cohorts

The point isn't to memorize the matrix. It's to recognize that two wallets with the same current cohort can have very different forward signals, and the heritage view is what makes the difference visible.

What's hard about this

Heritage data requires persistence and computation. Reconstructing every wallet's cohort history from raw fills means processing months of trade data per address. Most analytics platforms don't do this because the storage and compute cost is significant.

HyperTracker persists cohort assignments at every change, so the heritage is a query rather than a recomputation. That's the structural advantage. For builders, it means heritage-aware copy trading systems are a few API calls away rather than an infrastructure project.

Get wallet cohort heritage data via API โ†’

The bigger framing

The wallet-labels paradigm (Nansen, Arkham) treats classification as identity. The current behavioral cohort framework treats it as a snapshot. The next layer โ€” cohort heritage โ€” treats it as a tree, where the path that got the wallet to its current position is more informative than the position itself.

Most traders are reading the leaf. The edge is in walking the tree backward and seeing how it grew.

A current Money Printer who slow-climbed for two years is a different bet than a current Money Printer who jumped from Humble Earner on one trade. Same label. Different futures. The heritage layer is what makes that difference investable.

Implementing heritage filtering in production

The framework above maps cleanly into a copy-trading filter. The structure that holds up:

1. Eligibility filter (one-time check when adding a wallet): classify the candidate wallet's heritage pattern. Slow climbers and recovery patterns get a green light. Rockets get rejected. Yo-yos get conditional approval โ€” only follow them when their preferred regime is in play (which requires you to read the regime independently).

2. Sizing layer: weight allocations by heritage confidence. Slow climbers get full allocation. Recovery wallets get slightly smaller allocation given the smaller sample size of their post-recovery period. Yo-yos get half the size they'd otherwise get, plus a regime-dependent multiplier.

3. Monitoring layer: track heritage state changes over time. A slow climber who suddenly takes a 5x leveraged trade is exhibiting yo-yo behavior in real time, even if their heritage pattern hasn't formally changed yet. Catch the behavior shift before the heritage classification catches up.

4. Decay rate: weight recent heritage more heavily than ancient heritage. A wallet that was a slow climber from 2023-2024 but has been a rocket since January 2025 is now a rocket. The recent two months matter more for predicting the next two months than the prior 18 months do.

This framework isn't a strategy โ€” it's a meta-strategy that runs above whatever signal-generation logic you're using. The signals tell you when to copy; the heritage filter tells you whom.