GET /api/v1/assay/56/{tokenId}
10 / minuteSix tests against BNB Smart Chain, with every finding and its evidence. Several seconds of real work, which is why the limit is tightest here.
curl https://mandate-coral.vercel.app/api/v1/assay/56/2410Public infrastructure
Free, unauthenticated, rate limited. No key, no account, no permission from us — including for the other projects in this hackathon. An assay office whose findings only its own front end could read would be a trade association, and a measurement nobody else can obtain is indistinguishable from one nobody else can falsify.
Six tests against BNB Smart Chain, with every finding and its evidence. Several seconds of real work, which is why the limit is tightest here.
curl https://mandate-coral.vercel.app/api/v1/assay/56/2410The trust ladder: every rung, the test that settles it, its population, and the command that re-derives it. A rung that cannot be measured returns null.
curl https://mandate-coral.vercel.app/api/v1/registry/funnelThe register, filterable. Carries coverage, so a small answer can always be told apart from a small registry.
curl "https://mandate-coral.vercel.app/api/v1/agents?rung=2&limit=5"npm i mandate-clientTyped, dependency-free, works anywhere fetch does.
import { Mandate } from "mandate-client";
const mandate = new Mandate();
const assay = await mandate.assay(2410);
console.log(assay.fineness, assay.hallmarked, assay.observed.blockNumber);
const page = await mandate.agents({ rung: 2, limit: 20 });
console.log(`${page.coverage.read} of ${page.coverage.registered} read`);If you are building an agent marketplace, a directory, a router or a wallet on BNB Smart Chain, this is yours to use. Show fineness on your own listings. Use the ladder as your own filter. Cite the assay and disagree with it in public — every finding carries the command that re-derives it, so disagreeing is cheap and settling the disagreement is cheaper. You do not need to ask, and there is nothing to sign.