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

northveil-sdk

v1.3.0

Published

Official TypeScript & JavaScript SDK for Northveil AI Wallet & Multi-Chain MCP Tools

Downloads

719

Readme

Northveil TypeScript SDK & CLI

npm version License: MIT

Official lightweight TypeScript SDK and Developer CLI for the Northveil Non-Custodial Agent Wallet & MCP Protocol.

The AI never holds keys. The server never holds a full key. The agent proposes an operation via MCP. A grant + policy engine decides if it can run. If approval is required, the user signs with a passkey on https://wallet.northveil.xyz.


📦 Installation

npm install northveil-sdk

Or install globally for the northveil CLI:

npm install -g northveil-sdk

💻 Developer CLI (northveil)

The northveil CLI provides instant terminal access to non-custodial agent deployments, mints, and request inspection.

Setup

export NORTHVEIL_API_KEY="nv_live_..."
export NORTHVEIL_API_URL="https://mcp.northveil.xyz" # optional, defaults to live control plane

Commands

All commands default to the Sepolia testnet (--network sepolia).

# 1. Deploy an ERC-20 Token
northveil deploy-token --name "Agent Token" --symbol "AGT" --supply 1000000 --wait

# 2. Deploy an ERC-721 NFT Collection
northveil deploy-nft --name "Agent Pass" --symbol "PASS" --base-uri "https://metadata.example.com/" --wait

# 3. Mint Tokens
northveil mint-token --contract 0x... --to 0x... --amount 100 --wait

# 4. Mint an NFT
northveil mint-nft --contract 0x... --to 0x... --token-id 1 --wait

# 5. Inspect Request Status
northveil request <requestId> --wait

Outputs formatted JSON to stdout and a single-line human summary to stderr.

Security Guardrail: The CLI strictly rejects --private-key, --mnemonic, or --seed flags (exit code 2 CUSTODY_REFUSED).


🚀 TypeScript SDK Quickstart

import { NorthveilClient } from 'northveil-sdk';

const client = new NorthveilClient({
  apiUrl: process.env.NORTHVEIL_API_URL || 'https://mcp.northveil.xyz',
  clientKey: process.env.NORTHVEIL_API_KEY, // Or pass apiKey
});

async function main() {
  // 1. Deploy ERC-20 Token on Sepolia
  const deploy = await client.deployToken({
    name: 'Northveil Token',
    symbol: 'NVT',
    supply: 1000000,
    network: 'sepolia',
  });
  console.log(`Deployment staged: ${deploy.requestId}`);

  // 2. Wait for Confirmation and Contract Address
  const confirmed = await client.waitForRequest(deploy.requestId, { requireContract: true });
  console.log(`Contract deployed at: ${confirmed.contractAddress}`);
  console.log(`Explorer: ${confirmed.explorerContract}`);

  // 3. Mint Tokens
  const mint = await client.mintToken({
    contractAddress: confirmed.contractAddress!,
    to: '0x1234567890123456789012345678901234567890',
    amount: '500',
    network: 'sepolia',
  });

  const mintConfirmed = await client.waitForRequest(mint.requestId);
  console.log(`Mint confirmed! Tx: ${mintConfirmed.txHash}`);
}

main().catch(console.error);

🔒 Security Invariants

  • Non-Custodial: The SDK and CLI never store, process, or transmit private keys, mnemonics, or seeds.
  • Capability-Based: Authenticates via user-granted API keys (nv_live_...).
  • Passkey Step-Up: Unapproved transactions or transactions outside limits route to wallet.northveil.xyz for human WebAuthn signing.

📄 License

MIT License © 2026 Northveil Protocol.