SDK
The point of Probatio is that a record does not need Probatio to be believed. @probatio/sdk is that as a library. It fetches the figures every fill was priced from, rehashes each one, and compares against the seal recorded beside it. A verified: true never comes from a server's say-so.
npm install @probatio/sdkVerify a record
The flagship call. Give it a wallet and it returns whether the record checks out, along with every step it took to decide. It needs no endpoint and no key: the checking is arithmetic, and the only network call is fetching the record.
import { Probatio } from '@probatio/sdk';
const probatio = new Probatio();
const result = await probatio.verifyRecord(wallet);
result.verified; // true only when every fill matches the seal recorded with it
result.root; // one hash standing for the whole record, in order
result.broken; // the fills that disagree, by sequence, empty when none do
result.tradeCount; // how many fills were checked
result.checks; // each step, with the detail behind itEvery check must pass for verified to be true: each fill rehashes to its seal, and each fill proves membership of the record's root. A season can be named with verifyRecord(wallet, { season: 1 }); without it the trader's latest is used.
Read the record
The public data behind a trader and a season, with no wallet and no signing.
const record = await probatio.getRecord(wallet); // name, seasons, where to prove it
const board = await probatio.getStandings(); // the current ranked season
const season = await probatio.getSeason(); // pot, payouts, ruleset hash to check
const proof = await probatio.getProof(wallet); // the raw inputs verifyRecord checksWhy it does not trust us
The SDK reads the fills from a Probatio instance, because it has to get the data somewhere. It does not read the verdict from anywhere. The hashing is the same open-source function the engine seals with, it runs on your machine, and it runs over figures the instance handed you. An instance that altered a stored fill has to hand you the altered figures, which no longer produce the seal beside them, so it fails verifyRecord rather than being believed by it.
Standalone and low-level
Every method exists as a plain function for callers who would rather not hold an instance, and the primitives the verification is built from are re-exported for callers who already have the data.
import {
verifyRecord, getProof, getRecord, getStandings, // standalone
hashLeaf, buildTree, verifyProof, extendChain, // primitives, from @probatio/commit
} from '@probatio/sdk';A command-line tool and an MCP server for agents to vet or back a trader on proof rather than promises are built on this same core.