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

@bundie/sol-cli

v0.6.0

Published

Bundie Solana CLI — prepare-only agent interface. Returns unsigned transactions (base64) for external signing; --execute opt-in for BYOW.

Readme

@bundie/sol-cli

Bundie Solana CLI — the prepare-only agent surface for composing strategies, opening prediction markets, and resolving them on-chain.

Binary: bundie-sol Network: Solana devnet (mainnet post-hackathon) Programs: Strategy Token + Prediction Market on Solana Version: 0.2.0 — prepare-only by default (breaking change from 0.1.x)


Install

npm install -g @bundie/sol-cli

Or run ad-hoc with npx:

npx @bundie/sol-cli --help

Prepare-only design

Every write command defaults to prepare mode — it builds a transaction, prints a JSON envelope (base64 unsigned tx + metadata) to stdout, and exits. No keys are touched.

bundie-sol buy-shares --strategy <PUBKEY> --amount 25 --payer <MY_PUBKEY>

Output:

{
  "description": "Buy 25 USDC worth of shares in strategy ...",
  "tx": "AQAAAA...base64...",
  "signers": [{ "pubkey": "...", "role": "buyer" }],
  "accounts": [...],
  "metadata": { "strategy": "...", "mint": "...", "amountUsdc": 25 },
  "blockhash": "...",
  "lastValidBlockHeight": 12345678,
  "preparedAt": "2026-04-22T17:00:00.000Z"
}

An agent, MCP server, CI pipeline, or multi-sig can deserialize tx, add the payer signature, and send it:

const tx = Transaction.from(Buffer.from(prepared.tx, "base64"));
tx.sign(myKeypair);
await connection.sendRawTransaction(tx.serialize());

--execute (opt-in BYOW)

For local iteration you can pass --execute to sign + send using the local keypair (reads ~/.config/solana/id.json, or --keypair <path>, or $ANCHOR_WALLET). This preserves the pre-0.2 UX for devs who prefer it.

bundie-sol buy-shares --strategy <PUBKEY> --amount 25 --execute

Quick start

# Prereqs
solana-keygen new --outfile ~/.config/solana/id.json
solana airdrop 2 --url devnet
# Get devnet USDC from https://faucet.circle.com

# PREPARE a create-strategy tx (prints JSON, does not send)
bundie-sol create-strategy --name "Stable Compounder" --protocol kamino --fee-bps 1000 --deposit 50

# ...or EXECUTE end-to-end locally
bundie-sol create-strategy --name "Stable Compounder" --protocol kamino --fee-bps 1000 --deposit 50 --execute

# Read-only commands (always just print)
bundie-sol nav --strategy <PUBKEY>
bundie-sol list-strategies
bundie-sol get-snapshot --strategy <PUBKEY>

Commands

| Command | Mode | What it does | |---|---|---| | create-strategy | prepare / --execute | Mint a new strategy share (returns up to 2 txs: create + optional seed-deposit) | | buy-shares | prepare / --execute | Buy shares at current NAV | | create-market | prepare / --execute | Open a prediction market on a strategy | | predict | prepare / --execute | Take a YES/NO position on a market | | resolve-market | prepare / --execute | Permissionlessly resolve a market after its resolution slot | | snapshot-positions | prepare / --execute | Write a 24h-lagged composition snapshot (keeper archetype) | | nav | read-only | Read live NAV / share price / APY | | list-strategies | read-only | List every on-chain strategy | | get-snapshot | read-only | Read the most recent position snapshot for a strategy |

Payer resolution

In prepare mode the CLI only needs the pubkey of the fee payer. Resolution order:

  1. --payer <base58> (pubkey only, never reads a secret)
  2. --keypair <path> (reads pubkey in prepare; reads secret on --execute)
  3. $ANCHOR_WALLET
  4. ~/.config/solana/id.json

Why prepare-only?

CLI, MCP, and Skills are parallel interfaces that target the same protocol. Only one of them should hold keys. Making CLI prepare-only means:

  • Agents / MCP servers / Skills can compose a call and return the tx to the caller for signing.
  • CI pipelines and multi-sig flows can inspect the tx before signing.
  • BYOW UX stays available via --execute for local devs.

For AI agents

Point Claude Code, Cursor, elizaOS, ZerePy, or any shell-capable agent at this CLI. Because every command emits structured JSON on stdout, agents can pipe output directly into their signing layer without bespoke parsing.


Links

License

MIT