Skip to main content

Scoring Model

CrowdProof's reputation scoring system transforms raw blockchain activity into normalized 0–1000 scores across multiple categories.

Score Categories

CategoryCodeWhat It Measures
DeFi LendingDEFI_LENDINGLending/borrowing history, liquidation ratio, collateral management
DEX TradingDEX_TRADINGTrading volume, consistency, MEV exposure
GovernanceGOVERNANCEProposal voting, delegation activity, DAO participation
NFT ActivityNFTCollection diversity, holding periods, marketplace behavior
Social ReputationSOCIALOn-chain social graph, attestations, endorsements
Credit HistoryCREDIT_HISTORYCross-protocol debt repayment, outstanding obligations

Score Tiers

Score RangeTierMeaning
800–1000ExcellentTop-tier on-chain reputation
650–799GoodEstablished, reliable participant
500–649FairModerate activity with some history
350–499PoorLimited or inconsistent history
0–349Very PoorNew 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:

ConfidenceMeaning
0.9–1.0High confidence — extensive on-chain history
0.7–0.89Moderate confidence — reasonable data points
0.5–0.69Low confidence — limited history
< 0.5Very 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 InactiveScore 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:

  1. Tested on historical data for accuracy
  2. Announced 7 days before activation
  3. Deployed with the old model running in parallel for 48 hours
  4. Governed — major model changes require DAO approval via GovernanceToken