Assay

The Assay whitepaper

A tester for the utility Solana coins claim: it reads each promise, checks it against evidence anyone can open, and grades the coin like gold.

Version:
1.0
Date:
21 October 2026
Network:
Solana mainnet (read only)
Token:
$ASSAY: not launched

Abstract#

Assay takes a Solana coin (a mint address, a pump.fun or DexScreener link, or a ticker) and answers one question: does it do what it says? It collects facts from pump.fun, DexScreener, the Solana chain, the coin's website, its GitHub and its X profile. Claude Haiku 5.5 lists the utility the coin claims. Claude Opus 5.5 marks each claim against the facts and names the evidence behind every mark. The grade, a fineness from 0 to 999, is then plain arithmetic on the marks, so the same marks always give the same grade.

The problem#

Coins launched on pump.fun often promise a product: an AI agent, a bot, staking, a revenue share, a burn, a treasury. Checking a promise means reading the site, finding the program it runs on, looking at who holds the supply, and checking whether the code is real. Most buyers don't have the time, and a landing page with a roadmap looks the same as a working product at a glance.

Utilitest (utilitest.fun) scored whether a coin's utility was real. On 21 October 2026 its site no longer loads (its host reports the deployment as not found). Assay is a new tool built for the same job, with its own method: every mark cites its evidence, and nobody chooses the number.

How an assay works#

An assay runs in four steps, in about 20 to 60 seconds.

  1. Collect. Assay reads the sources in the table below. Every finding is written down as a piece of evidence with a short id (mint, holders, fees, site1, gh1…). Claude never fetches anything itself; it only reads this evidence.
  2. Read. Claude Haiku 5.5 reads the coin's own words (its pump.fun description, its website and docs pages, its X bio, its README) and lists up to 8 claims of utility, each with a quote and where it was said. Price talk and slogans are not claims. A coin that claims nothing gets an empty list.
  3. Test. Claude Opus 5.5 marks each claim verified, partly, unproven or false, with the ids of the evidence the mark rests on, and sets how much it weighs (core, feature or detail). A site that doesn't load counts as no evidence, not as evidence against. A page that only repeats a promise can't verify it: Assay downgrades any "verified" mark that cites only the claim's own text to "partly".
  4. Strike. The fineness is computed from the marks (next section) and the report is stored. Risks such as a held mint authority or a whale are checked by fixed rules, shown beside the grade, and never change it.

Sources

SourceWhat Assay readsLimits
pump.funName, ticker, creator, launch time, graduation, market cap, description, links, top 50 holdersPublic API; coins not made on pump.fun skip it
DexScreenerEvery pool, liquidity, volume, first pool's date, listed linksPublic API
SolanaMint and freeze authorities, supply, Token-2022 extensions, largest holders, where pump.fun sends the creator fees, and up to 6 addresses the site cites (is a program upgradeable, who owns an account, its SOL)Read only
WebsiteThe home page and up to 4 of its pages on docs, the app or the token: text, links, forms, app wordsHTML only, 1.5 MB and 9,000 characters a page, 9 s timeout, public addresses only
GitHubUp to 3 linked repos: age against the coin, fork or not, commits, contributors, READMEPublic API
XThe linked profile's bio, link, followers and join dateThrough the free FxTwitter API; posts aren't read
CoinGeckoIts listing: categories, homepage, code repos, descriptionPublic API; most new coins aren't listed
DefiLlamaThe products it tracks for the token, the value locked in each, and fees paid over 30 daysPublic API; only coins with tracked products

Grading#

Gold is graded in parts per thousand: 999 is pure, 750 is 18 karat. Assay's fineness is how many parts in a thousand of what a coin claims hold up.

fineness = 999 × Σ(weight × mark value) ÷ Σ(weight)
Counts
Core claimweight 3
Featureweight 2
Detailweight 1
Verified100%
Partly50%
Unproven15%
False0%

Two caps stop a pile of small truths from hiding a broken core: if no core claim is verified, the fineness stops at 584; if any core claim is false, it stops at 374.

FinenessGradeMeans
900–99924 karat (999)Does what it says.
750–89918 karat (750)Mostly does what it says.
585–74914 karat (585)Some of it works.
375–5849 karat (375)A little of it works.
120–374Gold plated (GP)Mostly promises.
0–119Pyrite (FeS₂)The claims don't hold up.
No claimsUnmarkedClaims no utility, so there's nothing to test. Not a fail.

Each report carries a hallmark of three punches, like real gold: the coin's ticker, the fineness, and Assay's own mark.

Money flows#

Assay takes no money from anyone and asks for no transactions. Connecting a wallet only shares its address.

WhatAmountPaid byWhere it goes
Reading a reportFreeNobodyNothing moves
A new assayFree, 3 a day per visitorAssay pays its Claude and hosting billsNothing moves on chain
A holder's assayFree, 50 a day per holder walletAssayNothing moves on chain

To keep the bill bounded, the whole site runs at most 400 new assays a day, and a coin assayed in the last 12 hours opens its stored report instead of running again.

Token#

$ASSAY has not launched. Its mint will be published on this page and on getassay.fun when it does. Any coin calling itself Assay's before then is not ours.

The rule it will switch on is already in the code: a wallet holding at least 100,000 $ASSAY gets 50 new assays a day instead of 3. Because connecting needs no signature, one holder address counts from at most 3 networks a day. Holding $ASSAY pays nothing and promises nothing; it only raises the daily allowance.

Verification#

Every report lists its evidence with links to Solscan, pump.fun, DexScreener, GitHub and the coin's own pages, so each mark can be checked by hand. The marks and the arithmetic are public, so anyone can recompute a fineness from a report.

Reports are served as JSON at /api/report/<mint>, and the ledger at /api/ledger (see the docs).

Risks and limits#

  • The model can be wrong. Claude can misread a page or weigh a claim badly. Every mark shows what it rests on, and a fresh assay is open after 12 hours.
  • Two assays can differ. The claims are read afresh each time, so the same coin can land a few dozen points apart (in tests on 21 October 2026, one coin came out anywhere from 603 to 720). A coin near a band's edge can move a grade. The marks and evidence show why.
  • Some things can't be seen from outside. Assay reads programs' on-chain facts (do they exist, can they still be upgraded, what accounts they own), not their full source code. Off-chain promises (a team, a partnership, revenue) usually stay unproven.
  • Pages that draw themselves with JavaScript show Assay almost no text, so a real app built that way can be under-graded. The report says when this happened.
  • Sources change. pump.fun's API, DexScreener and FxTwitter are third-party services and can change or go down; the report notes any source it couldn't read.
  • A grade isn't a price call. A 24-karat coin can still go to zero, and a meme can run without any utility. Coins are volatile and you can lose everything you put in.
  • Projects may game the reader by writing claims to match the evidence. That only helps a coin whose claims are true, which is the point.

Roadmap#

  • Built (1.0): the assay, the ledger, report pages with share images, the public API, holder allowances (switched on at launch).
  • Planned: launching $ASSAY on pump.fun. No date is set.

Disclaimer#

Assay is an information tool. Nothing on getassay.fun is financial advice or a promise of returns. Grades describe evidence found at one moment; projects change. Coins can go to zero.