What the bench is striking, right now.
Every line is one assay somebody just ran. Their Telegram name, the ticker, what actually arrived against what the interface promised, and the grade that came out. Nothing else. No wallet address, no transaction hash, no note. Anyone can leave the feed from their own dashboard, and leaving takes their past entries with them.
What this actually does.
You trade a tokenized equity. The interface tells you what you got. Assay does not take its word for it. It rebuilds the number from the chain and tells you how much of the promise really landed.
The screen is a claim
The number you are shown is written by the same system that executed your trade. It is a report, not a receipt.
The chain is the record
Assay reads the transfers the token contracts themselves emitted and nets them against your wallet. No interface sits in between.
The answer is a grade
Assayers have graded metal in parts per thousand since 1300. Nine hundred and seventy-eight of your promised thousand arrived. That is Sterling.
And it comes to you
Register a wallet and every settled transaction gets assayed and explained on Telegram. Each notice carries a link that re-runs the whole thing in front of you.
One hash in. A number nobody can edit out.
Paste a settled transaction. Assay reads the ERC-20 transfers the token contracts themselves emitted and nets them against your wallet. Say what you were promised and it strikes the fineness, which is the parts per thousand that actually arrived.
chain robinhood · 4663 block 47,362,707 status settled router 0xb300… aggregator swap Rebuilt from the token contracts AAPLx +96.412031 0x7c1f… USDC −10,000.00 0x2a90… gas paid 0.0000043 ETH (network, not the venue) promised 98.5 AAPLx arrived 96.412031 AAPLx fineness 978 / 1000 (Sterling, rounded down) ────────────────────────────────── Deterministic. Re-run it and check.
A specimen of the bench output. Struck assays also produce a hallmark, carrying the assayer, the fineness, the office and the block, along with a permalink that re-runs the whole thing from the chain in front of whoever you send it to.
Four steps. No interpretation.
Anyone re-running them against the same transaction lands on the same number. That is what makes it checkable rather than trusted.
Confirm settlement. Fetch the transaction and its receipt. An unconfirmed transaction is a rumour, not a fill.
Read the transfers. Every ERC-20 transfer the token contracts emitted, ignoring whatever the venue said about its own work.
Net against the wallet. Incoming minus outgoing, per token. That sum is what moved, and no interface gets a vote in it.
Strike the fineness. Divide what arrived by what was promised, in parts per thousand. Assay offices round down, so Assay does too.
The scale is the real one. Sterling silver is 925 fine, or 925 parts silver per thousand. Below 750, an assay office breaks the piece rather than mark it, and Assay refuses the stamp.
What it verifies, and what it doesn't.
Every tool like this has a boundary. Stating ours is part of the method, not a disclaimer bolted on afterwards.
What it catches
A venue claiming one output while the token moved another. The venue contract and the token contract are different contracts, so the venue cannot forge the token's own transfer record.
This is the common and important case, and it is the one Assay was built for.
What it does not catch
Step ii trusts each token contract to report its own transfers, which is weaker than diffing raw balances at block N−1 and N. A malicious token would defeat it.
True balance-diffing needs an archive node, which the public RPC does not serve. It is on the roadmap, not in the build.
Assay also reads the floor you signed from recognised routers. It is a real, cryptographically committed promise, but weaker than the quote the interface displayed. The two are never confused, and the floor never feeds fineness.
An agent that keeps assaying after you close the tab.
An assay office does not test one coin and call the mint honest. It tests on a cadence, and has done since 1282. The Assay Agent is that idea pointed at fills. Name a wallet once, and every settled transaction that moves a token gets assayed and explained in plain English on Telegram.
This one costs you privacy, and you should know before you use it. The bench runs entirely in your browser and Assay sees nothing. A watcher cannot work that way. A server has to hold the link between your Telegram account and the addresses you asked it to watch. That is a real trade, stated plainly, and it is why the watcher is a separate opt-in rather than part of the bench.