How the conviction score works
Score v1, 0 to 100, on every Locker Passport. It is built only from a wallet's TokenLock events: how long it locks, whether it extends, and whether locks reach their unlock date. It uses no prices and no amounts. It describes past behaviour. It isn't advice and says nothing about any token.
1. Four parts
The score is the sum of four parts, each with a cap. The caps add up to 100.
- Longest commitment (up to 40)
- The longest lock the wallet ever made, from its creation to its current unlock date, so extensions count. Points by duration, in the table below.
- Locks that reached their unlock date (up to 25)
- 5 points for each lock that reached its unlock date after at least 30 days committed, withdrawn or not, up to 5 locks.
- Extensions (up to 20)
- 5 points for each extension that moved an unlock date out by at least 30 days, up to 4.
- Time since first lock (up to 15)
- Days since the wallet's first lock, counted evenly up to 365 days, rounded down.
| Longest lock | Points |
|---|---|
| Under 30 days | 4 |
| 30+ days | 12 |
| 6+ months | 20 |
| 1+ year | 28 |
| 2+ years | 34 |
| 4+ years | 40 |
The 30-day floors matter: extending a lock costs only gas, so a one-second extension, or a one-day lock left to expire, doesn't move the score.
2. Bands
Each band is a range of the score. The names describe a record over time, not a verdict.
- New (0 to 24)
- Started recently or with short locks.
- Building (25 to 49)
- Some longer locks or a few kept to term.
- Established (50 to 74)
- Long locks, kept or extended, over months.
- Long-term (75 to 100)
- Multi-year commitments and a long record.
A wallet with no Virtuallock lock has no score and no band.
3. Facts on the passport
Next to the score, the passport lists facts computed from the same events: locker since, active and withdrawn locks, longest lock, extensions and locks that reached their unlock date. "Withdrawn early" is always zero, because TokenLock rejects a withdrawal before the unlock date, and no unlock date can be moved earlier.
4. What this can't see
- Amounts are not used. Raw amounts of different tokens can't be added up or compared without prices, and we don't use prices. A small lock counts the same as a large one.
- Vesting schedules and burns are shown on the passport but don't count toward the score yet.
- The share of a wallet's holdings it locked is not measured yet. It needs the wallet's balance at the time of each lock, which the index doesn't keep.
- Locks on other lockers aren't counted, and neither are other wallets the same person may control.
- The score is read from Virtuallock's index of TokenLock events. If the index is behind, the newest events are missing until it catches up.
5. Check it yourself
Every passport is also available as JSON at /api/v1/wallets/{address}/passport, with each part of the score and every lock it was computed from. Each lock links to its on-chain transactions.