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

nishvault-preflight-buy

v0.1.4

Published

Put nishvault-guard-tx before sendTransaction: x402 pre-send guard for AgentKit-style EVM agent builders on Base mainnet.

Downloads

656

Readme

Nishvault Blind-Send Risk Guard

Paid x402 preflight for one narrow buyer first: programmatic EVM agent builders.

If you arrived from x402.org, coinbase/agentkit#1167, or Merit-Systems/awesome-x402#176, the first move is the same:

npx --package nishvault-preflight-buy nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0

Keep the PRE_SEND_PROOF_RECEIPT. The browser/no-wallet trust check stays at https://api.nishvault.com/first-unpaid-402?autorun=1.

Core promise:

  • Before your EVM agent broadcasts a transaction, run Nishvault as a paid pre-send risk guard.
  • put the guard directly before sendTransaction, not beside the workflow
  • buy one live preflight before broadcast
  • inspect revert risk, fee context, and likely call outcome first
  • do not fund a buyer wallet, sign a transaction, or pay until the unpaid 402 matches discovery

Current stage:

  • internal testnet rail proof is complete
  • live runtime target is now Base mainnet, real USDC, $0.01
  • settlement and wallet-credit artifacts are already proven
  • the next growth milestone is not “more internal proof”
  • the next growth milestone is one net-new outside builder reaching a mainnet unpaid 402, then one real paid request, then one fresh mainnet wallet-credit artifact

Put It In Front Of sendTransaction

Nishvault is not another simulator. It is the guard step before an autonomous EVM agent broadcasts.

The intended flow is now:

  1. agent framework discovery
  2. guard install/copy
  3. live unpaid 402
  4. paid preflight
  5. external wallet-credit

Canonical first proof:

Fastest builder interpretation:

  • x402.org or awesome-x402 discovery means "install/copy the guard command"
  • AgentKit discovery means "put nishvault-guard-tx directly before sendTransaction"
  • https://nishvault.com remains the trust landing and https://api.nishvault.com/first-unpaid-402 remains the no-wallet verification step

Fastest workflow entrypoints after that no-wallet proof:

npx one-shot guard

This is the launch gate. If an agent reaches sendTransaction, run this first and keep the PRE_SEND_PROOF_RECEIPT output.

npx --package nishvault-preflight-buy nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0

Expected terminal marker:

PRE_SEND_PROOF_RECEIPT
receipt_status=...
network=eip155:8453
real_usdc=true
seller_wallet_credit_expected=true
success_signal=external_mainnet_paid_request

viem

import { createViemPreflightGuard } from "nishvault-preflight-buy";

const guardedSendTransaction = createViemPreflightGuard({
  walletClient,
  buyerKey: process.env.X402_BUYER_PRIVATE_KEY,
  sellerUrl: "https://api.nishvault.com",
});

ethers

import { createEthersPreflightGuard } from "nishvault-preflight-buy";

const guardedSendTransaction = createEthersPreflightGuard({
  signer,
  buyerKey: process.env.X402_BUYER_PRIVATE_KEY,
  sellerUrl: "https://api.nishvault.com",
});

agent step

import { createAgentGuardStep } from "nishvault-preflight-buy";

This repo is not trying to be a generic simulation dashboard. The product category for this sprint is:

  • Agent Transaction Safety / Pre-Send Guard

Live Surfaces

  • Required before-send gate: https://api.nishvault.com/required-before-send
  • Pre-send proof receipt: https://api.nishvault.com/proof-receipt
  • AgentKit patch pack: https://api.nishvault.com/agentkit-patch
  • ElizaOS action step: https://api.nishvault.com/elizaos-action
  • Public first unpaid 402 page: https://api.nishvault.com/first-unpaid-402
  • Public API landing: https://api.nishvault.com/
  • Root bridge to quickstart: https://nishvault.com/go/quickstart
  • Root bridge to first check: https://nishvault.com/go/first-check
  • Root bridge to integrations: https://nishvault.com/go/integrations
  • Root bridge to examples: https://nishvault.com/go/examples
  • Root bridge to recipes: https://nishvault.com/go/recipes
  • Root bridge to discovery: https://nishvault.com/go/discovery
  • Public quickstart: https://api.nishvault.com/quickstart
  • Public trust page: https://api.nishvault.com/trust
  • Public artifact index: https://api.nishvault.com/artifact-index
  • Agent-builder page: https://api.nishvault.com/agent-builders
  • Integrations page: https://api.nishvault.com/integrations
  • Example flows page: https://api.nishvault.com/examples
  • Recipes page: https://api.nishvault.com/recipes
  • How it works: https://api.nishvault.com/how-it-works
  • Proof page: https://api.nishvault.com/proof
  • Root-domain trust landing: https://nishvault.com
  • Discovery metadata: https://api.nishvault.com/.well-known/x402

Root-domain trust target:

  • live main trust surface: https://nishvault.com
  • live seller API surface: https://api.nishvault.com

Persona

Primary persona:

  • programmatic EVM agent builders

Why this buyer pays:

  • they already send transactions from code
  • they can justify paying to avoid blind-send mistakes
  • they are comfortable with Node, CLI, and x402-style buyer flows

Secondary fit exists for wallet teams and bots, but the copy and funnel are now optimized for the agent-builder pain first.

Why Now

  • Agent'in kör işlem göndermesin; yayına almadan önce tek ücretli preflight ile revert riskini gör.
  • Başarısız onchain denemeler yerine önce ucuz canlı preflight al.

This is positioned as a blind-send risk guard, not just a generic simulation API.

The guard rule is strict:

  • do not improvise a custom first flow
  • do not connect or fund a buyer wallet before payment_required
  • do not sign or broadcast anything before the unpaid 402 mirrors discovery on route, network, price, and helper links

The External Funnel

The official outside funnel is now:

  1. agent framework discovery
  2. guard install/copy
  3. live unpaid 402
  4. paid preflight
  5. external wallet-credit

Immediate near-term milestone:

  • first real external unpaid 402

That is the cheapest meaningful intent signal because it does not require a funded buyer wallet yet.

One Click Or One Paste

Do not ask a first-time builder to invent a flow.

30-Second No-Wallet Path

Do not fund or connect a buyer wallet before this unpaid proof step returns payment_required.

Hard stop before wallet connect:

  • expected unpaid status: 402
  • expected body field: error = "payment_required"
  • expected helper links: quickstartUrl or browserDemoUrl
  • stop if the route, network, or price do not match discovery
  • if any of the checks above fail, do not pay and do not treat the surface as trusted yet

Browser-first:

Terminal-first:

SELLER_BASE_URL=https://api.nishvault.com bash -lc '
curl -sS "$SELLER_BASE_URL/.well-known/x402" | jq "{title, primaryPersona, route, price, network, payTo, quickstartUrl, browserDemoUrl}" &&
curl -sS -H "content-type: application/json" -X POST "$SELLER_BASE_URL/simulate/transaction-preflight" --data '\''{"chainId":"0x2105","from":"0x1111111111111111111111111111111111111111","to":"0x2222222222222222222222222222222222222222","data":"0x","value":"0x0"}'\'' | jq "{error, product, price, network, quickstartUrl, browserDemoUrl}"
'

Expected result:

  • discovery returns the route and persona
  • unpaid POST returns payment_required

If that exact unpaid shape is missing, stop there. Do not open more docs, do not fund a wallet, and do not treat the route as trusted yet.

Fast Paid Path

First real buyer challenge:

Be the first external Base agent builder with a public pre-send proof receipt.

Open: https://api.nishvault.com/first-real-buyer

Launch-gate page: https://api.nishvault.com/required-before-send Receipt preview: https://api.nishvault.com/proof-receipt

Recommended single command after the unpaid 402 check, if you already have one transaction shape:

npx --package nishvault-preflight-buy nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0

Use the generic paid buyer proof only if you are not guarding a concrete transaction yet:

npx nishvault-preflight-buy --seller-url https://api.nishvault.com --buyer-key 0xYOUR_BASE_MAINNET_BUYER_KEY --rpc-url https://mainnet.base.org --executor 0x044f05a0fcf030c53ea6d50ddc5c0a44527c1b47

After the unpaid 402, choose exactly one next move. Prefer the guard command unless you only want a generic buyer proof:

  • one transaction-shape guard: npx --package nishvault-preflight-buy nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0
  • one paid buyer proof: npx nishvault-preflight-buy --seller-url https://api.nishvault.com --buyer-key 0xYOUR_BASE_MAINNET_BUYER_KEY --rpc-url https://mainnet.base.org --executor 0x044f05a0fcf030c53ea6d50ddc5c0a44527c1b47
  • one code-level integration path: createViemPreflightGuard, createEthersPreflightGuard, createEip1193PreflightGuard, or createAgentGuardStep

Transaction-Flow Entry

When the builder already has one transaction shape and wants Nishvault directly in the send path:

X402_BUYER_PRIVATE_KEY=0xYOUR_BASE_MAINNET_BUYER_KEY npm exec nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0

Publish-target equivalent:

npx --package nishvault-preflight-buy nishvault-guard-tx -- --seller-url https://api.nishvault.com --to 0x2222222222222222222222222222222222222222 --data 0x --value 0x0

Programmatic entrypoints now exported:

  • preflightTransactionRequest
  • createGuardedTransactionSender
  • createViemPreflightGuard
  • createEthersPreflightGuard
  • createEip1193PreflightGuard
  • createAgentGuardStep

Success means:

  • a fresh x402-paid-request-<timestamp> artifact directory exists
  • response status is 200
  • settlement includes a fresh tx hash
  • wallet-credit output shows mainnet_wallet_credit_seen

Mainnet Revenue Positioning

The live API is now framed as a real Base mainnet USDC product.

Correct framing:

  • Run one real $0.01 pre-send guard before sendTransaction.
  • Base mainnet USDC settlement is the revenue proof
  • testnet-demo remains available only as a safe dry-run profile

Public Docs

Proof References

These prove the rail is real. They do not count as new outside customer revenue.