A badge that cannot go stale
The badge reads the registry every time it renders. If a later audit moves the score from 88 to 43, the badge shows 43.
English governs the contract statements on this page. Contract names, addresses and numbers are shown as they are on the chain.
Embed code
Paste this where you want the badge. It is an iframe and needs no script.
—
Preview
Enter a token address and the badge appears here, reading the registry live.
There is no "verified safe" badge and there never will be. A badge reports a measurement and its date.
Or read the contract directly
The badge reads two registries: a signed report from KAY9Registry when one exists, a basic scan from KAY9ScanRegistry otherwise. No API key, no rate limit and no dependence on this site.
KAY9Registry.latestSummaryForToken(bytes32 chainKey, address token)
returns (
bool exists,
uint256 reportId,
uint8 overallTrust, // 0 worst, 100 most trustworthy
uint64 flags,
uint32 engineVersion,
uint64 committedAt // always render this
)
KAY9Registry.scoreHistory(bytes32 chainKey, bytes32 assetId, uint256 offset, uint256 limit)
returns (uint64[] committedAt, uint8[] overallTrust)chainKey = keccak256("eip155:4663")