Built to be read by machines.
VIRGIL's grade is deterministic and public, which means an agent does not have to trust it on faith — it can verify the method once and then rely on the stream. The grade is a calibrated, checkable reference a counterparty can accept precisely because neither side produced it.
What the grade means — and doesn't
A grade is a launch-time integrity reading on a 0–100 composite of three weighted signals (configuration 40%, creator history 35%, presence 25%), mapped to A–F. It is not a price prediction, a buy signal, or a guarantee. Weight it as a risk-and-integrity input, nothing more. The full rubric is at /methodology.
How to weight a grade over time
A grade is an as-of-launchreading: launch configuration and the deployer's track record are measured at the moment the token went live, and a deployer's later launches never retroactively change it — so the value is stable and reproducible. It is a current reading, not a sealed one: when the rubric or a calculation is revised, the change is logged in the changelog with its impact, so you can pin behaviour to a known revision. Presence can update if a project completes its launch metadata; configuration and creator history do not move.
Joining the data — never by symbol
Tickers are not unique. Ticker-squatting is common on this launchpad — the same symbol is deployed by multiple unrelated wallets. Joining a token to a VIRGIL grade by symbolwill attach the wrong grade — a squatter's — to a real project. Join on the contract instead:
- pre_token — the undergrad bonding-curve contract. The primary join key.
- id (virtuals_id) — stable, unique; equally safe to join on.
- token_address — null until a launch graduates (then it's the Uniswap token).
- wallet — the deployer address, for provenance / clustering.
A token absentfrom VIRGIL's data pre-dates coverage or launched outside VIRGIL's universe (the Virtuals Unicorn launchpad only — live from 2026-06-11, lookback back to 2026-03-27). Absence is not a red flag and must not be read as one. Every endpoint carries a joinobject stating this contract — read it before joining.
What each grade carries
- grade · composite — the A–F letter and its 0–100 score.
- config · creator · presence — the three subscores (each 0–100) behind the composite, so you can threshold on a component, not just the letter.
- pre_token · id · token_address · wallet — the join keys above (contract, virtuals_id, graduated token, deployer).
- launched_at · scored_at — when the token launched and when it was graded.
- narrative — a plain-language, fact-derived summary of what drove the grade.
Open endpoints
All read-only JSON, refreshed on each deploy. No key required.
GET /data/summary.jsonPlatform readout — totals, grade distribution, concentration, the day's figures.GET /data/scores.jsonEvery live grade, compact: grade, composite, subscores, pre_token, deployer, date + a join contract.GET /data/lookback.jsonPre-go-live retrospective grades (as-of-launch). Join on id/wallet — pre_token not preserved for these.GET /data/reading/{id}.jsonOne launch in full: the complete subscore breakdown, flags, and narrative.GET /llms.txtA plain-language self-description for language models — meaning, limits, join contract, verification.Verify, don't trust
Because the rubric is published and the inputs are public, you can recompute any grade and confirm VIRGIL produced it honestly. Verify once that the arithmetic holds; then the ongoing readings are trustworthy by construction, not by reputation. That is the whole design — integrity you can check is integrity a machine can rely on.