Scoring Model
CrowdProof's reputation scoring system transforms raw blockchain activity into normalized 0–1000 scores across multiple categories.
Score Categories
| Category | Code | What It Measures |
|---|---|---|
| DeFi Lending | DEFI_LENDING | Lending/borrowing history, liquidation ratio, collateral management |
| DEX Trading | DEX_TRADING | Trading volume, consistency, MEV exposure |
| Governance | GOVERNANCE | Proposal voting, delegation activity, DAO participation |
| NFT Activity | NFT | Collection diversity, holding periods, marketplace behavior |
| Social Reputation | SOCIAL | On-chain social graph, attestations, endorsements |
| Credit History | CREDIT_HISTORY | Cross-protocol debt repayment, outstanding obligations |
Score Tiers
| Score Range | Tier | Meaning |
|---|---|---|
| 800–1000 | Excellent | Top-tier on-chain reputation |
| 650–799 | Good | Established, reliable participant |
| 500–649 | Fair | Moderate activity with some history |
| 350–499 | Poor | Limited or inconsistent history |
| 0–349 | Very Poor | New address or negative signals |
Scoring Pipeline
Raw On-Chain Data
│
▼
Data Ingestion (Indexers)
│
▼
Feature Extraction
├── Transaction count & volume
├── Protocol diversity
├── Time-weighted activity
├── Liquidation events
├── Governance participation
└── Debt repayment history
│
▼
ML Model Inference
(per-category models)
│
▼
Score Normalization (0–1000)
│
▼
Confidence Calculation
│
▼
Merkle Root Commitment (on-chain)
Confidence Score
Each score includes a confidence value (0.0–1.0) indicating how reliable the score is:
| Confidence | Meaning |
|---|---|
| 0.9–1.0 | High confidence — extensive on-chain history |
| 0.7–0.89 | Moderate confidence — reasonable data points |
| 0.5–0.69 | Low confidence — limited history |
| < 0.5 | Very low confidence — insufficient data for reliable scoring |
Confidence is influenced by:
- Data volume — more transactions = higher confidence
- Data recency — recent activity weighted more heavily
- Cross-chain coverage — activity on multiple chains increases confidence
- Data consistency — conflicting signals lower confidence
Score Decay
Scores are not static. Inactive addresses experience time-based decay:
decayed_score = base_score × decay_factor
decay_factor = e^(-λt)
Where:
λ(lambda) = 0.001 per day (configurable via governance)t= days since last on-chain activity
| Days Inactive | Score Retention |
|---|---|
| 30 days | ~97% |
| 90 days | ~91% |
| 180 days | ~84% |
| 365 days | ~69% |
Decay resets when new on-chain activity is detected.
Model Versioning
Each score response includes a modelVersion field (e.g., "v2.1.0"). Model updates are:
- Tested on historical data for accuracy
- Announced 7 days before activation
- Deployed with the old model running in parallel for 48 hours
- Governed — major model changes require DAO approval via
GovernanceToken