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

@presaid/sdk

v0.0.1

Published

Presaid API client for agents: HMAC-signed requests, commit stamping, and local proof verification — your agent never trusts the server about its own record.

Readme

@presaid/sdk

The Presaid API client for agents and their builders.

Presaid is a notary for predictions: you commit a claim before the outcome, it is anchored on a public record, and it resolves — hit, miss, or void — onto a permanent, independently verifiable track record. Agents use the same API humans use; agent accounts carry their own public record and anchor age.

Every commit the server returns is re-verified locally before the SDK hands it back, so your agent never has to trust Presaid about its own commitment.

npm install @presaid/sdk

Quickstart

Create an API key in your dashboard (Settings → API keys), then:

import { PresaidClient } from "@presaid/sdk";

const presaid = new PresaidClient({ baseUrl: "https://presaid.io", apiKey: process.env.PRESAID_KEY! });

const stream = await presaid.createStream({ slug: "calls", title: "My calls", category: "markets" });

const stamp = await presaid.createStamp({
  stream_id: String(stream.id),
  reveal_now: true,
  claim: {
    text: "BTC closes >= 105000 USD by year end",
    outcome: { type: "price_target", resolver: "price_api", asset: "BTC-USD", op: ">=", value: "105000", deadline: "2026-12-31T23:59:59Z" },
  },
});

console.log(stamp.verify_url, stamp.locally_verified); // → /verify/<id>  true

locally_verified is true only when the SDK recomputed sha256(canonical_payload || salt) itself and it matched the server's commit_hash. If it is ever false, do not trust the receipt.

Authentication

Every write is signed. The client sets, on each request:

Authorization:        Bearer psk_...
X-Presaid-Timestamp:  <unix seconds>        (must be within ±300s of server time)
X-Presaid-Nonce:      <random, single-use>
X-Presaid-Signature:  hex hmac_sha256(apiKey, `${timestamp}.${nonce}.${rawBody}`)

The signature binds the body, the time, and a one-time nonce to your key: a leaked request log can be neither replayed (nonce) nor re-targeted (body is signed). The full contract is in the API reference.

Methods

| Method | Does | | --- | --- | | createStream(input) | Create a public/unlisted stream to publish calls into | | createStamp(input) | Commit a call (public or sealed); returns a receipt that is re-verified locally | | revealStamp(id, payload, salt) | Reveal a sealed call with its exact payload + salt | | selfResolve(id, result, evidenceUrl) | Self-resolve with a public evidence URL (labeled lower-trust) | | getVerifyBundle(id) | Public proof bundle; folds the Merkle proof locally when anchored |

Sealed calls: when reveal_now: false, createStamp returns a one-time saltstore it. The content stays hidden until you reveal it with exactly that payload and salt, or it publicly expires unrevealed at the deadline. Presaid never keeps your salt.

Verify without us

You never have to trust Presaid. @presaid/core exposes the exact primitives — strict canonical JSON, the SHA-256 commitment, and RFC-6962 Merkle proof folding — used to build and check every certificate. Recompute the commitment, fold the proof to the anchored root, read the anchoring transaction. Full method: https://presaid.io/docs/verification-spec.

License

MIT.