Quick start#
- Copy the coin's mint address, its pump.fun or DexScreener link, or type its ticker with a dollar sign (
$JUP). - Paste it into the box on the home page and press Assay it.
- Watch the steps: collecting, reading, testing, striking. It takes about 20 to 60 seconds.
- Read the report: the hallmark and fineness at the top, then every claim with its mark and evidence.
Assay a coin#
Assay accepts a mint address, links from pump.fun, DexScreener, Solscan, Birdeye, GMGN, Jupiter, Axiom and most explorers, or a $TICKER. If more than one coin trades under a ticker and none is clearly the biggest, Assay lists them so you can pick the right one.
If the coin was assayed in the last 12 hours, its stored report opens at once and doesn't use an assay. Otherwise the assay uses one of your 3 free assays for today (UTC). If an assay fails partway, it's given back.
Read a report#
- Hallmark: three punches. The coin's ticker, its fineness (or GP, FeS₂, or blank when unmarked), and Assay's mark.
- Verdict and summary: one line, then a few sentences on what checks out and what doesn't.
- Touchstone: the coin's streak against needles of known fineness. Longer is better.
- Claims: each promise in plain words, the coin's own quote, its mark, why, and chips linking to the evidence it rests on.
- Risks checked: mint and freeze authority, Token-2022 extensions, holder concentration, liquidity and the website, decided by fixed rules. Red is high risk, gold is worth knowing, green is checked and fine. Risks never change the grade.
- Evidence read: every finding, with a link to check it yourself.
Assay a coin again#
Projects ship, sites change. Once a report is 12 hours old, its page shows Assay it again. The new report replaces the old one in the ledger.
Holders and wallets#
$ASSAY has not launched (not launched). When it does, a Connect wallet button appears in the header. Connecting shares your address only: no signature and no transaction. A wallet holding at least 100,000 $ASSAY gets 50 new assays a day. One holder address counts from at most 3 networks a day.
Glossary#
| Word | Meaning |
|---|---|
| Assay | A test of what something is really made of. Here: a test of a coin's claimed utility. |
| Claim | Something the coin says it does or has: a product, a mechanic, a holder benefit, a checkable fact about itself. |
| Core, feature, detail | How much a claim matters: the reason the coin exists, another real function, or a small detail. They weigh 3, 2 and 1. |
| Mark | Verified, partly, unproven or false, given to each claim. |
| Fineness | Parts in a thousand of what the coin claims that hold up, from 000 to 999. |
| Hallmark | The three punches on a report: ticker, fineness, Assay's mark. |
| Touchstone | The black stone gold is rubbed on. The report draws the coin's streak on one. |
| Unmarked | The coin claims no utility, so there's nothing to test. |
| Gold plated | A thin layer of truth over mostly promises (120–374). |
| Pyrite | Fool's gold: claims that don't hold up (0–119). |
Fees and limits#
| What | Limit |
|---|---|
| Price of an assay | Free |
| New assays a day, anyone | 3 |
| New assays a day, holder wallet | 50 |
| Holder minimum | 100,000 $ASSAY |
| Networks one holder address counts from, a day | 3 |
| New assays the whole site runs a day | 400 |
| A report is reused for | 12 hours |
| Website pages read | 5, home page included |
| Text read per page | 9,000 characters |
| Cited addresses looked up | 6 |
| GitHub repos read | 3 |
Wallets and addresses#
Assay has no wallet, no program and no treasury, and never asks you to sign anything. $ASSAY mint: not launched. Any coin calling itself Assay's before the mint appears here isn't ours.
Public API#
Plain HTTPS and JSON, no key. Reports and the ledger can be read from any site (CORS open).
GET /api/report/<mint>
The full report: fineness, grade, verdict, summary, claims (each with mark, why, evidence), hazards, evidence, market, assayedAt. 404 when the coin hasn't been assayed.
curl https://getassay.fun/api/report/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCNGET /api/ledger?limit=30
The latest assays, newest first (at most 100).
curl "https://getassay.fun/api/ledger?limit=5"
{"assays":[{"mint":"…","name":"…","symbol":"…","fineness":708,"grade":"14k","verdict":"…","claims":6,"assayedAt":"…"}]}POST /api/assay
Runs an assay and streams one JSON object per line: {"step": …} while it works, then {"done": "<mint>"}, or {"choices": […]} for a shared ticker, or {"error": …}. Counts against the caller's daily allowance.
curl -N -X POST https://getassay.fun/api/assay -H "Content-Type: application/json" -d '{"input":"$JUP"}'GET /api/standing
How many new assays you have left today: {"left": 3, "limit": 3, "holder": false}.
FAQ#
Where does my SOL go?
Nowhere. Assay never asks for a transaction, and assays are free.
Is a high grade a reason to buy?
No. A grade says whether the claims are true, not whether the price will rise.
Is this coin a rug?
Assay doesn't call anything a rug or a scam. It shows what the evidence says: who can mint, who holds the supply, whether the claimed product exists.
Why did my coin get unmarked?
It claims no utility in its description, website or bio. Add a real product, then assay it again after 12 hours.
Why did a working app get a low grade?
If the site only draws itself with JavaScript, Assay sees almost no text and can't verify the app. The evidence section says so. Docs pages in plain HTML and linked code help.
Troubleshooting#
| Message | What to do |
|---|---|
| “Paste a coin's mint address, a pump.fun or DexScreener link, or a $TICKER.” | The box was empty. |
| “That looks like an address but isn't a valid one.” | Part of the address is missing. Copy it again. |
| “Assay tests Solana coins. That DexScreener link is for another chain.” | Only Solana coins can be assayed. |
| “There's no account at that address on Solana.” | The address is wrong or on another network. |
| “That address isn't a token mint.” | You pasted a wallet, a pool or a program. Paste the coin's mint (contract) address. |
| “No Solana coin with the ticker $X is trading.” | Paste the mint address instead. |
| “That's your 3 free assays for today.” | Come back after 00:00 UTC. Reports others have run stay free to read. |
| “Assay has run its 400 new assays for today.” | The site-wide daily cap was reached. New ones open at 00:00 UTC. |
| “Someone else is assaying this coin right now.” | Wait a minute and open its report from the ledger. |
| “Assay's reader is busy right now.” or “Assay's assayer is busy right now.” | Claude is rate limited. Try again in a minute. |
| “The assay broke partway through.” | Something failed. The assay wasn't counted. Try again. |
Changelog#
- 21 October 2026 (1.0): Assay opens: assays, the ledger, report pages, the public API.