Every PROOF score is computed deterministically from public chain data. No secret model, no off-chain inputs, no PII. Here's exactly what we measure, how we weigh it, and why.
The score S is a weighted sum of six normalized dimensions, each scored on a unit interval and then scaled to a 1000-point passport. The weights below were chosen so that no single dimension can dominate, and so that a wallet cannot simply farm one signal to inflate its score.
Each dimension is itself a function of multiple raw signals — 47 in total — combined according to per-dimension rules described below.
Scores map to four tiers. Protocols integrating PROOF typically gate features by tier rather than raw score, since the boundaries are designed to be stable across model updates.
| Tier | Range | Interpretation | Typical use |
|---|---|---|---|
| Trusted | 700 – 1000 | Established, diverse, no risk signals | Reduced KYC, governance weight |
| Verified | 500 – 699 | Real user, limited history | Standard access |
| Neutral | 250 – 499 | New or low-signal wallet | Rate-limited, may require additional checks |
| Risky | 0 – 249 | Risk flags present or zero history | Block or escalate |
Reputation systems get gamed. The whole point of the design is to make farming any single signal economically irrational. Three mechanisms:
Time-weighting. Most signals are time-discounted. Sybil farms that batch-create wallets and run them through DeFi for a month gain little, because History and held-duration signals can't be shortcut.
Cross-dimensional minimums. A wallet scoring 100/100 on Activity but 0/100 on History maxes out at ~150 total. The weighted sum punishes one-dimensional wallets.
Risk floors. The Risk-free dimension is multiplicative, not additive. A direct OFAC match sets the entire score to under 50 regardless of other dimensions.
No off-chain identity. No social media. No KYC documents. No IP addresses. No browser fingerprints. PROOF reads only public chain data — if it isn't on a block explorer, it doesn't influence the score.
This is a deliberate trade-off: we lose the ability to bind a passport to a "real person", but we gain a system that can't be coerced by any single jurisdiction and that any wallet can audit for itself.
This is a demonstration project. PROOF is not currently used by any production protocol. Scoring formulas, weights, and signal definitions are illustrative — a real system would publish versioned model files, change-log every weight adjustment, and undergo independent audit before any integration.