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

@inaya-network/custody-sdk

v1.0.10-beta

Published

Client-side cryptographic sovereignty SDK for the Inaya Network — encrypt, shard, anchor, and reconstruct files against BNB Chain Testnet.

Readme

@inaya-network/custody-sdk

Client-side cryptographic sovereignty SDK for Inaya Network — encrypt, shard, anchor, and reconstruct files against BNB Chain Testnet, with full TypeScript support and a client for the card-payment (no-wallet) flow.

Full documentation lives in SDK_GUIDE.md — quick starts, error handling, retry behavior, the Metadata (rename/move/delete/folders/sharing) client, TypeScript usage, testing, and known limitations. This file is just the front door.

Install

npm install @inaya-network/custody-sdk ethers

Live on the public npm registry, published under both latest and beta dist-tags (1.0.7-beta) — see SDK_GUIDE.md §1 for the GitHub-install alternative if you'd rather track a specific commit. ethers (v6) is a peer dependency.

30-second example

import { InayaKernel } from "@inaya-network/custody-sdk";

const connection = await InayaKernel.connectWallet();
const salt = InayaKernel.generateSecureSalt(16);
const vaultKey = await InayaKernel.deriveVaultKey({ passkey: "user-supplied-passkey", salt });
const sharded = await InayaKernel.disperseAndSlice({ file, encryptionKey: vaultKey });

// Pin sharded.shardAlpha / sharded.shardBeta to IPFS yourself, then:
await InayaKernel.approveFeeTokens({ connection, fileSizeBytes: file.size });
const receipt = await InayaKernel.anchorToLedger({
  connection,
  fileName: sharded.filename,
  fileSizeBytes: file.size,
  dataShardAlpha: cidAlpha,
  dataShardBeta: cidBeta,
});

See SDK_GUIDE.md §3 for the full walkthrough, including retrieval.

What's in here

  • Crypto (src/crypto.js) — client-side AES-GCM-256 encryption and binary sharding. Pure JS (@noble/hashes + @noble/ciphers), works in browsers, Node.js, and React Native alike.
  • On-chain (src/index.js) — wraps the deployed InayaCustody and InayaStaking contracts. Dual-mode: browser wallet or a server-held ethers.Wallet.
  • Payments (src/payments.js) — a typed client for the card-payment (no-wallet) backend routes.
  • Metadata (src/metadata.js) — rename/move/delete, virtual folders, and sharing — an off-chain layer authenticated by wallet signatures, since the on-chain contract itself is write-once.
  • Backup (src/backup.js) — replica redundancy status/health/recovery for your uploaded shards across independent pinning providers. Not to be confused with createPasskeyBackup/restorePasskeyBackup (a separate, local-only pair of functions that back up your passkey, not file data — see SDK_GUIDE.md §15).
  • AppStore (src/appStore.js) — submit your own app to Inaya's Web3 App Store (submitListing), check your submission's review status (getMyListings), or browse what's already public (getListings). Every submission is wallet-signed and reviewed by an admin before it's public — see SDK_GUIDE.md §16. Pair it with inaya deploy (below) to pin a whole static site to IPFS and submit it in one command.

Runnable examples for React (upload, staking, file management), Next.js (all three backend clients), and plain Node.js are in examples/.

The wider ecosystem

This repo is also a monorepo for the tooling built on top of the SDK — see packages/ for @inaya-network/react (drop-in UI components), inaya-cli (terminal/CI-CD tool — including inaya deploy <path>, which pins a local static site directory to IPFS via your own Pinata account and submits it to the App Store for review), and create-inaya-dapp (project scaffolding). All three are published and installable now:

npm install @inaya-network/react
npm install -g inaya-cli
npx create-inaya-dapp my-app

Component documentation lives in a live Storybook, auto-deployed from packages/react on every push.

Contributing

Bug reports, feature requests, and pull requests are welcome — see CONTRIBUTING.md for how this repo is organized and what a good PR looks like. Please also read the Code of Conduct. Issues labeled good first issue are a good place to start.

License

MIT