V2 reads four provenance-bearing sources and applies one rule: the strongest proof a wallet
holds sets a hard ceiling on its score. A wallet that vouches for itself (consented) can reach
Gold; only a regulated attester root reaches Platinum. On-chain state (balanceOf)
scores a non-Upbit wallet for free. Toggle signals to model it; switch to Live to read the real
contract.
balanceOf lookup — no Upbit, no reporter. Submit a
proof (you vouch for yourself) → ceiling opens to Gold. A reporter (the indexer, or the
deployer via the kick) adds behavioral activity. Platinum requires the regulated attester — on
testnet, the owner's stand-in override. Self-attestation cannot reach Platinum: that cap is the
whole point.
DojangScoreV2.sol. The simulator shows per-signal detail; on-chain stores capped category
aggregates + provenance classes (cheaper, audit-friendly). The two agree on the final number.