npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@probatio/sdk

v0.1.0

Published

Read a Probatio trading record and verify it yourself. Rehashes every fill against the seal recorded with it and rebuilds the root, locally.

Readme

@probatio/sdk

Read a Probatio trading record and verify it yourself.

Probatio is a trading simulator: practice money, real pump.fun prices, fills modelled against the pool reserves a trade was actually quoted from. The point of it is that a record does not need Probatio to be believed. This is that in a library.

npm i @probatio/sdk
import { verifyRecord } from '@probatio/sdk';

const result = await verifyRecord('7xKXtg2CW3cWCLBmVvKcbAkKM6mzTuKMYqM9dAcuLNwr');

console.log(result.verified);   // true
console.log(result.tradeCount); // 9
console.log(result.root);       // 4f2c9a1d8b3e…
console.log(result.broken);     // [] , or the fills that failed

What it actually checks

Every fill is sealed with a hash the moment it lands, taken over the exact figures it was priced from: the pool reserves, the amounts, the fee, the slot it was clicked at and the slot it filled at.

This library asks an instance for those figures and the seals, then does the rest on your machine:

  1. Seals. Recompute the hash of each fill from its own figures and compare it to the seal stored beside it.
  2. Membership. Fold the fills into a tree, in order, and rebuild the root.

Change any field of a stored fill afterwards, to improve a price or shave a fee, and its recomputed hash stops matching its seal. The server cannot make that come out right without forging the seal, and it cannot forge the seal without the figures that produce it, which are the figures it just handed you.

verified: true is arithmetic you ran. It is never a server's say-so.

What it does not do

There is no chain in this. No RPC, no program, no account to read. Verification is entirely over hashes and is synchronous once the data is in hand. If you want an on-chain commitment, this library is not where you would get it.

It cannot tell you the figures were true when they were recorded. It proves they have not been altered since. Whether the reserves quoted at fill time matched the real pool is a separate question, and the honest answer is on the trust page.

API

// One call, fetch and check.
verifyRecord(trader: string, options?: VerifyOptions): Promise<VerifiedRecord>

// Already hold the data? This is local, synchronous, and does no I/O.
verifyBundle(bundle: ProofBundle): VerifiedRecord

// Reads, without verification.
getProof(trader, options?)      // the figures and seals
getRecord(trader, options?)     // a trader's public record
getSeason(options?)             // the current season
getStandings(options?)          // the leaderboard

// Or hold a configured client.
new Probatio({ apiBase?, fetchImpl? })

verifyBundle is the one to reach for in a CI step or an audit: hand it a bundle you obtained however you like and it never touches the network.

Every primitive it verifies with is re-exported, so you can do the hashing yourself:

import { hashLeaf, buildTree, computeRoot, verifyProof } from '@probatio/sdk';

Those come from @probatio/commit, which is the same code the engine seals with.

Checking another instance

Probatio is open source and anyone can run it. Point the client at any instance; the checking is unchanged, because none of it trusts the source of the data.

const result = await verifyRecord(wallet, { apiBase: 'https://example.com' });

Also available

  • @probatio/commit, the primitives on their own
  • npx @probatio/cli verify <wallet>, the same check from a terminal, exit code as the verdict

Licence

MIT. The Probatio application itself is AGPL-3.0; this library is permissive on purpose, so that checking a record carries no licensing consequence for whoever checks it.