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

@basesentinel/eliza

v1.0.0

Published

Eliza OS plugin: scan Base contracts via BaseSentinel (HTTP 402 + USDC tx-hash proof).

Readme

@basesentinel/eliza

Eliza OS plugin that lets an agent scan Base contracts via BaseSentinel.

Payment is M2M under the hood (USDC transfer on Base → X-Payment-Proof). The LLM only sees a short risk summary.

Install

npm install @basesentinel/eliza

Peer: @elizaos/core (optional at build time; required at agent runtime).

Register

import { AgentRuntime } from "@elizaos/core";
import baseSentinelPlugin from "@basesentinel/eliza";

const runtime = new AgentRuntime({
  // ...character, models
  plugins: [baseSentinelPlugin],
});

Runtime secrets (never chat these to the LLM)

| Env | Required | Purpose | |-----|----------|---------| | BASESENTINEL_PRIVATE_KEY | yes* | Base wallet private key (0x + 64 hex) with USDC | | BASESENTINEL_PAYMENT_PROOF | no | Existing tx hash — skips the spend (ops/smoke) | | BASESENTINEL_RPC_URL | no | Base RPC (default https://mainnet.base.org) | | BASESENTINEL_API_BASE_URL | no | Default https://api.blackswanlabs.pl |

*Required unless BASESENTINEL_PAYMENT_PROOF is set.

Cost per scan: 0.005 USDC to treasury 0x21360A04853b85a8d2E918b73f97C8ccf5939946.

Action

  • Name: SCAN_CONTRACT
  • Input: a 0x contract address in the user message (or options.address)
  • Output (LLM):
    Contract 0x… is SAFE (CLEAR). Score: 100/100. Reasons: Bluechip_Allowlist:USDC

Errors

Failures surface as BaseSentinelError with stable errorCode (same as the API):

  • PAYMENT_REQUIRED, TX_HASH_CONSUMED, TX_HASH_BOUND_OTHER
  • INSUFFICIENT_USDC, PAYMENT_INVALID, INVALID_ADDRESS_FORMAT
  • UPSTREAM_TIMEOUT, …

HTTP 402 is PAYMENT_REQUIRED only. Other error_code values arrive on other status codes — branch on errorCode, not on “402 + enum”.

Programmatic use (no Eliza)

import {
  payForScan,
  scanContract,
  summarizeScanResult,
} from "@basesentinel/eliza";

const { txHash } = await payForScan({
  contractAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
});
const result = await scanContract(
  "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  txHash,
);
console.log(summarizeScanResult(result));

Build

cd packages/eliza-basesentinel
npm install
npm run build