Installs that finally pays!! Monetize every package installs effortlessly.
Monetizing developer tools and open-source software should not be complicated. Xpack enables npm package authors to turn their code into a global, crypto-native business by charging for installs and subscriptions directly at install time. Authors connect a wallet, add a small configuration and preinstall script, and receive on-chain payments straight to their wallet, without custom backends, payment processors, or bank accounts.
Xpack bridges traditional package distribution with on-chain payments and management. Users pay with USDC on supported EVM chains or native SUI on the Sui network, and once payment is confirmed, the installation continues automatically. Authors manage pricing models such as per-device, per-user, or subscriptions from a unified dashboard, track revenue and installs in real time, and accept cross-chain payments via Circle’s Gateway without handling bridge complexity.
Useful links / test packages
Arc (USDC via Circle Gateway): npm i xpack-arc-gateway
Sui payments: npm i xpack-sui
Per-device pricing: npm i xpack-per-device
Per-user pricing: npm i xpack-per-user
Subscription pricing: npm i xpack-subscription
Why this matters
2.6B+ weekly npm downloads Across 32M+ developers and businesses
0 native monetization No built-in way to charge for npm packages today
480K+ potential paid packages A massive, untapped monetization opportunity across the ecosystem
We built the app with Next.js, React, TypeScript, and Prisma backed by PostgreSQL. The dashboard and install flow live in a single Next.js app, and the pay page is where users connect their wallet and complete payment.
For payments, we use Circle’s Gateway so users can pay with USDC on one chain and we receive it on another, such as Arc, without running our own bridges. We also support native SUI payments on Sui. Wallet connections are handled by Reown AppKit and Wagmi for EVM, and Mysten’s dapp-kit for Sui. Prisma stores projects, API keys, and payment records, which enables per-device, per-user, and subscription-based pricing.
We follow the x402 model. When payment is required, the install API returns HTTP 402 along with payment details like price, address, and session. Package authors add a small config to their package.json and include a preinstall script. When someone runs npm install, that script calls our API; if it receives a 402, we display a payment link, open it in the browser, and poll until payment is confirmed so the install can continue.
One hack we needed was writing the payment URL directly to the terminal’s real output so it still appears when npm buffers stdout. On Windows, we also had to change out of the package directory before polling to avoid file-lock errors from npm.

