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

require-rank

v0.1.0

Published

Gate your AI agent by the CALLER's AgentRank. Serve ranked, settlement-backed counterparties; turn away ghosts. The provider-side flip of verify-before-pay.

Readme

require-rank

Gate your AI agent by the caller's AgentRank.

Verify-before-pay is the payer asking "is this safe to pay." require-rank is the provider asking "does this caller have a rank before I do work for it." Wrap your MCP tools (or any handler): ranked, settlement-backed callers are served; ghosts and unranked callers are refused or surcharged — and the refusal tells them how to get ranked, which sends them to AgentRank to claim and settle.

Every check is a live query, so your rank requirement runs in the hot path of real work. Zero deps.

Install

npm install require-rank

Wrap an MCP tool

import { requireRank } from "require-rank";

server.tool(
  "expensive_inference",
  schema,
  requireRank(handler, {
    minScore: 500,          // require AgentRank >= 500
    requireVerified: true,  // caller must be settlement-verified
    onFail: "refuse",       // "refuse" | "surcharge" | "allow"
    callerFrom: (args) => args.caller,   // how to read the caller wallet/domain from the call
  })
);

A caller below the bar gets an MCP result carrying the verdict and a claim CTA (agentrank.info) instead of your tool running. A ranked caller passes through, and your handler receives extra.agentrank (the caller's score and settlement) so you can price or personalize.

Just the gate

import { RankGate } from "require-rank";

const gate = new RankGate({ minScore: 500 });
const d = await gate.check("0xCallerWallet");   // wallet or domain
// { allow: true, rank: { score: 870, verified: true }, reason: "ranked 870/1000", surcharge: 1 }

Rank-priced x402

import { rankPrice } from "require-rank";
const amount = rankPrice(0.01, decision);   // ranked pays base; unranked pays the surcharge multiple

No-install option

Don't want a dependency? Call the hosted gate directly:

GET https://api.agentrank.info/gate/{caller}?min=500&verified=1&onfail=refuse
-> { allow, score, surcharge, reason, cta }

Or over MCP: the gate_caller tool at https://api.agentrank.info/mcp.

Why caller rank is sound

AgentRank ranks by real on-chain settlement weighted by payer reputation (PageRank on the USDC payment graph, de-noised, sybil-tested). A caller is verified only if reputable payers have sent it real money — which a ghost or sybil cannot fake. In an x402 flow the payment itself proves the caller's wallet; for pure MCP, treat the rank as the caller's claimed standing and require a signature or a payment to harden it. Method: https://github.com/andysalvo/agentrank.

MIT. Built by Crest Deployment Systems LLC.