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

reins-spend-mcp

v0.2.0

Published

Reins — let an LLM pay APIs only inside an on-chain spend policy (budget, payee allowlist, expiry, revoke) on Solana. MCP server + CLI.

Readme

reins-spend — agent spend under on-chain policy

Public product: Reins. Program cso_agent, demo ticker CSO, Solana Devnet.

Lets an LLM (Cursor / Claude) spend only under on-chain policy. Over-budget and wrong payee fail on-chain (INV-I1 + allowlist), not in the prompt.

New here? Start with QUICKSTART.md — reading a policy needs no key at all.

Install

From this repo (works today):

cd colosseum/agent && npm i
npm run policy
npm run pay-merchant
npm run jailbreak -- over-budget    # must fail
npm run jailbreak -- wrong-payee    # must fail

npm run policy works with REINS_ROOT_OWNER + REINS_AGENT_WALLET alone. Spending needs a root key (fees) and a delegated agent key (npm run setup).

One package, two bins. Once published: npm i -g reins-spend-mcp gives you reins-spend, and MCP clients launch the server with npx -y reins-spend-mcp. A one-off CLI run needs the package flag: npx -y -p reins-spend-mcp reins-spend policy. npm pack is verified in CI; the publish itself is pending npm 2FA.

MCP

Official SDK over stdio. Copy mcp.example.json into .cursor/mcp.json or claude_desktop_config.json. This repo already wires it in .cursor/mcp.json alongside solana-mcp (docs, not spend).

Tools: reins_get_policy · reins_spend · reins_pay_merchant · reins_jailbreak

reins_jailbreak returns passed: true only when the program refused. A missing key or dead RPC reports INCONCLUSIVE rather than a fake win.

Keys

| Key | Holds | Signs | |-----|-------|-------| | Root | SOL + CSO, owns vault | policy changes, tx fees | | Agent | nothing | spend only, capped by policy |

The agent key never falls back to the root key. If it is missing, spend refuses; set REINS_ALLOW_ROOT_AS_AGENT=1 to override for a one-wallet demo. REINS_SECRET_KEY / REINS_AGENT_SECRET_KEY let CI run with no files on disk. See .env.example.

State (.env, agent keypair) lives in the package dir inside this repo, otherwise in REINS_HOME (default ~/.reins).

Build and test

npm run typecheck
npm run test        # error classification, no network
npm run build       # dist/cli.js + dist/mcp.js with shebangs

The SDK (reins-spend-sdk, ../sdk) is bundled into dist, so the published tarball has no monorepo dependency.

Skill

.cursor/skills/reins-spend/SKILL.md — when the user asks the agent to pay an API, run these tools. Never move funds outside spend.