Loyalty Score v3.1
A cross-collection ranking for the CyberKongz ecosystem — weighted holdings, retention, and hold-time bonus.
What is the Loyalty Score?
A single number per wallet that rewards three things across all CyberKongz collections at once: how much you hold, how long you have held it, and which collections it sits in. Heavily weighted toward original collections (Genesis, Babies, Genkai), with a sqrt-smoothed penalty for selling.
The formula
score(wallet) = Σ weight[c] × held[c] × retention[c] × holdBonus[c]
c
retention[c] = sqrt( held[c] / (held[c] + sold[c]) )
holdBonus[c] = piecewise on avg days held (see table)- held[c] — distinct tokenIds the wallet currently owns in collection c.
- sold[c] — distinct tokenIds the wallet has sent away (mint sources excluded).
- retention[c] — the sqrt smooths sell penalty: selling half drops retention to ~0.71, not 0.5.
- holdBonus[c] — multiplier based on the average days held of currently-owned tokens in c.
Collection weights
| Collection | Weight | Why |
|---|---|---|
| Genesis | 5 | Founder set, capped at 1,000 supply. Highest pedigree. |
| Babies | 3 | Second wave OG drop, paired with Genesis lineage. |
| Evo Babies | 2 | Evolution mechanic — proven Babies holders that committed further. |
| VX ETH | 1 | VX on ETH — large supply, broad community on-ramp. |
| VX Ronin | 1 | VX on Ronin — broadest distribution of the ecosystem. |
| Genkai ETH | 3 | Premium ETH-side companion. Tight supply, high collector overlap with Genesis. |
| Genkai Ronin | 2 | Ronin-side Genkai. Lower friction to acquire than ETH side. |
Hold-time bonus
| Average days held | Multiplier | Tier |
|---|---|---|
| < 90 days | ×0.70 | Fresh hands |
| 90 – 365 days | ×1.00 | Baseline |
| 1 – 2 years | ×1.15 | Committed |
| 2 – 3 years | ×1.30 | Veteran |
| 3+ years | ×1.50 | Diamond hands |
Badges
Badges are independent of the numeric score — they highlight qualitative wallet profiles.
- OGEarliest acquisition in any collection happened within 30 days of that collection’s first mint.
- Diamond HandsAverage hold time of currently-held tokens is 3 years or more.
- Ecosystem MaxiCurrently holds tokens from 4 or more of the 7 collections.
- WhaleTop 1% by total tokens held across all collections.
- Active TraderSold count exceeds held count. Informational — does not affect rank.
Worked examples
- Genesis: 5 × 5 × √(5/5) × 1.5 = 37.5
- Babies: 3 × 5 × √(5/5) × 1.5 = 22.5
- Genesis: 5 × 5 × √(5/10) × 1.5 ≈ 26.5
- Genesis: 5 × 1 × 1 × 1.5 = 7.5
- Genesis: 5 × 1 × 1 × 1.5 = 7.5
- Babies: 3 × 2 × 1 × 1.5 = 9.0
- Evo Babies: 2 × 2 × 1 × 1.3 = 5.2
- VX: 1 × 3 × 1 × 1.15 = 3.45
- VX: 1 × 5 × √(5/30) × 0.7 ≈ 1.43
FAQ
Calculator
Coming soon — punch in held / sold counts per collection and see your projected score.
V3 — Why floor price matters
V3 introduces a per-token diamondFactor that rewards wallets who held through high-floor periods. The factor is the ratio of the peak floor while the wallet held the token to the current floor (clamped between 1× and 10×). It multiplies the base per-token score:
score(token) = collection_weight × hold_bonus(days) × diamondFactor diamondFactor = clamp(peak_floor_while_holding / current_floor, 1, 10) wallet_total = sqrt(held / (held + sold)) × Σ score(token)
- Bought Genesis at 1 ETH (Apr 2021)
- Saw 52 ETH peak (Jun 2022)
- Current floor 1.5 ETH, still holds
- diamondFactor = clamp(52/1.5, 1, 10) = 10×
- Bought Genesis at 1.5 ETH yesterday
- Peak while holding ≈ current floor
- diamondFactor = 1.0×
- Earns base score only — no volatility credit
The multiplier rewards diamond hands through volatility — buying at the bottom doesn't give you the same credit as holding through the top.
V3.1 — Anti-extraction fix
V3.1 fixes a flaw in v3 where wallets that minted in volume and dumped most of their inventory near the top still ranked highly because the surviving tokens absorbed the full diamondFactor. Three changes:
- retention is now linear (held / (held + sold)) — not the smoothing sqrt. Selling half drops retention to 0.5, not 0.71.
- The diamondFactor uplift is itself scaled by retention: effectiveDiamond = 1 + (rawDiamond − 1) × retention. A wallet with 23% retention can never claim a 10× diamond.
- New extractionFactor: tokens sold during a peak window (collection floor ≥ 90% of lifetime ATH) trigger up to a −50% penalty: 1 − min(0.5, soldDuringPeak / 20).
retention = held / (held + sold) effectiveDiamond = 1 + (rawDiamond − 1) × retention extractionFactor = 1 − min(0.5, soldDuringPeak / 20) score(token) = weight × holdBonus × effectiveDiamond wallet_total = retention × extractionFactor × Σ score(token)
- Minted 36 Genesis. Sold 33 (mostly at the 2022 peak). Holds 3.
- retention = 3 / (3 + 33) = 0.083
- rawDiamond ≈ 10 (peak/current). effectiveDiamond = 1 + 9 × 0.083 ≈ 1.75
- soldDuringPeak ≈ 18. extractionFactor = 1 − min(0.5, 18/20) = 0.10 (clamped at 0.5)
- Σ token score (3 × weight 5 × bonus ~1.5 × effectiveDiamond 1.75) ≈ 39.4
- wallet_total = 0.083 × 0.5 × 39.4 ≈ 1.6— instead of v3’s ~265.
Real diamond holders with 100% retention are unaffected: their retention multiplier is 1.0 and effectiveDiamond equals rawDiamond.
Trophies
Trophies are awarded to wallets that hit specific holding milestones. They show up on each wallet profile and are recomputed by the indexer on every run.