Verify the organism
Blightscan converts holder distribution and activity into a deterministic biological form. This page defines the quantities and makes the rendering contract explicit.
API contract
Query a checksummed or lowercase ERC-20 address on Robinhood Chain (chain ID 4663):
GET /api/organism/:address
The endpoint returns:
{
"ok": true,
"token": { ... },
"metrics": { ... },
"raw": { ... },
"organism": { ... },
"meta": { ... }
}
The frontend only renders a successful response. Errors remain visible inline and never open blocking browser dialogs.
Metric formulae
| Metric | Definition | Range |
|---|---|---|
| Vitality | 35% holders + 25% transfers/24h + 25% liquidity + 15% unique senders/24h. Each input is logarithmically normalised. | 0–100 |
| Dispersion | 100 × (1 − Gini(holder balances)) | 0–100 |
| Toxicity | 100 × (0.6 × top10 share + 0.4 × whale count/20), clamped. A whale owns over 1% of circulating supply. | 0–100 |
| Growth | 100 × tanh(((holders now − holders 24h ago) / holders 24h ago) × 5) | −100–100 |
| Decay | 100 × dead addresses / addresses that ever held | 0–100 |
| Nutrient | 100 × (liquidity / market cap) / 0.15, clamped. | 0–100 |
| Health | .30V + .25D + .20N + .15(50 + G/2) − .20T − .10X, clamped. | 0–100 |
Species bands
| Health | Species |
|---|---|
| 80–100 | Flourishing |
| 60–79.99 | Established |
| 40–59.99 | Struggling |
| 20–39.99 | Parasitic |
| 5–19.99 | Necrotic |
| 0–4.99 | Extinct |
Tokens with fewer than 50 current holders are labelled Too young to classify, regardless of score.
Visual encoding
- Branch spread increases with dispersion; recursion depth increases with vitality and growth.
- The dominant stem thickens as toxicity rises.
- The probability of a branch terminating as dead wood rises with decay.
- The spore count rises with nutrient.
- Health selects a restrained species palette.
Determinism
The renderer hashes the lowercase token address with 32-bit FNV-1a and seeds a Mulberry32 pseudo-random number generator. It does not use Math.random(). Given identical address, metrics, and canvas dimensions, branch geometry and particle positions are byte-for-byte identical. Export uses the already rendered Canvas 2D bitmap.
Reproduction checklist
- Record the
metablock identifier in the response. - Reconstruct positive holder balances through that block from ERC-20 Transfer logs.
- Exclude burn balances and calculate the metrics using the formulae above.
- Lowercase the token address and feed it, the metrics, and the same dimensions to the renderer.