How reputation is calculated
A 0–100 score derived entirely from public on-chain history. Same inputs always yield the same score. Open-source — verify the calculation yourself or run it locally.
What it measures PRINCIPLES
Reputation is a signal of past on-chain behavior, not a vouch. It tells you whether a wallet has shown up consistently to claim, distributed predictably as an operator, and held tokens long enough to demonstrate intent — all measurable from chain state.
What it intentionally does not use:
- Off-chain identity (Twitter, Discord, KYC). Those introduce platform dependence.
- USD value of holdings — a wallet's worth says nothing about its trustworthiness.
- Manual moderation, allowlists, or admin overrides. Score is deterministic.
The formula DETERMINISTIC
Score is a weighted sum of five components, each normalized 0–1, scaled to 0–100, and clamped:
where w = (0.25, 0.25, 0.20, 0.15, 0.15) and Σwᵢ = 1.0
Components: C = claim consistency, O = operator behavior, T = token-deployment trust, A = wallet age, S = snapshot consistency. Definitions in the next section.
5 tiers DISPLAY
The numeric score is displayed alongside one of five tiers. Tiers are styled consistently across the platform — same color, same shape — so you learn to read them at a glance.
New wallets start at Neutral (50), not zero. Reputation accrues with activity; it doesn't punish absence.
Components 5 INPUTS
| Component | Weight | Source | Range |
|---|---|---|---|
| C — Claim consistency Streak of consecutive claims when eligible. Missing a claim does not penalize, but reduces uplift. | 25% | refinery program logs | 0–25 |
| O — Operator behavior Refineries closed without notice, paused without resume, or refunded incomplete pools count negatively. | 25% | refinery state transitions | −15…+25 |
| T — Token deployment trust Whether the wallet deployed the token, has renounced authorities, sufficient liquidity, etc. | 20% | SPL mint metadata + RugCheck feed | 0–20 |
| A — Wallet age Days since first observed transaction. Logarithmic — diminishing returns past 365 days. | 15% | helius first-tx timestamp | 0–15 |
| S — Snapshot consistency For operators: ratio of snapshots delivered on schedule. For holders: presence at consecutive snapshots. | 15% | indexer · merkle history | 0–15 |
Worked examples 3 WALLETS
To make this concrete, here's how three real wallets break down:
| Wallet | C | O | T | A | S | Total | Tier |
|---|---|---|---|---|---|---|---|
| Hxk2…7gPZ | 22 | 24 | 18 | 12 | 8 | 84 | 84 |
| 4Bsd…91jU | 18 | 14 | 12 | 14 | 9 | 67 | 67 |
| 9wF7…3Lz8 | 8 | -4 | 10 | 6 | 4 | 24 | 24 |
The third wallet's negative O reflects an operator who closed a refinery 3 days early without resuming. Their score is recoverable — successful operations restore the deduction over ~6 months.
Caveats & limits READ THIS
⚠ Reputation is not a guarantee
A high score reflects past behavior, not future intent. Always verify the underlying token (mint authority, liquidity, top-holder concentration) before participating in any refinery — regardless of operator score.
- Sybil resistance is partial. A motivated attacker can age multiple wallets in parallel. Reputation favors single, long-running wallets but does not solve sybil.
- Score lags by ~1 epoch. Reputation updates at the end of each refinery's claim window, not in real-time. Recent activity may not be reflected for up to 7 days.
- Operator behavior weights more than holder behavior. Closing a pool early or pausing without resume is treated as a signal, intentionally — at the cost of operators who legitimately need to close (e.g. exploit response).
- Token trust (T) is partly external. If RugCheck adjusts a token's score, your operator reputation reflects that within 24h.
Versions CHANGELOG
| Version | Released | Changes |
|---|---|---|
| v2.1 | Mar 8 2026 | Added snapshot consistency component (S). Reduced wallet age weight 20% → 15%. |
| v2.0 | Jan 12 2026 | Five-component model. New tier names. Public methodology (this doc). |
| v1.0 | Sep 2 2025 | Initial three-component model (claim count, age, deployment). |
Source code lives in the program repo (private during devnet). The reputation algorithm is implemented in lib/indexer/reputation.ts on the frontend — verify the calculation, file issues, or propose changes via PR once the repo is opened with v1.0.