@openreceive/node
v0.4.19
Published
Accept Bitcoin Lightning payments in Node.js with your own wallet and optional USDT, USDC, SOL and ETH swaps.
Maintainers
Readme
@openreceive/node
Accept Bitcoin Lightning payments directly into a wallet you control from your Node.js application. This package connects to your receive-only Nostr Wallet Connect (NWC) wallet, creates invoices, checks settlement, and provides the swap service and command-line tools.
OpenReceive supports optional swaps from USDT, USDC, SOL, and ETH through a configured swap provider. The provider converts the payment to BTC over Lightning, which settles into the merchant's connected wallet. Available assets and networks depend on the provider; swaps are optional.
Install
This package is ESM-only and requires Node >= 22.
npm install @openreceive/nodeStart with the integration quickstart and the payment storage guide.
Part of OpenReceive. Start with the Node quickstart; the full API is in the API reference.
Choose your integration
For a web checkout, install @openreceive/express, @openreceive/fastify, or
@openreceive/next. They use this service and add payment persistence,
authorization, and mounted routes. For a custom Node.js host, compose the
service with @openreceive/http.
Use this package directly when you need the service or its types as part of that integration. The service does not persist payment attempts on its own. The normal HTTP integration records them in your existing database before exposing payment instructions.
- Connect your wallet: set
NWC_URIon the server to a receive-only NWC connection. Startup checks reject spend-capable connections by default. - Enable optional swaps: configure your provider through
LSC_URI_PRIMARYand optionallyLSC_URI_BACKUP. - Keep your business logic: the host controls orders, prices, authorization, and fulfillment.
Guides
- Environment and wallet configuration
- Optional swaps
- Test with a fake wallet
- Deploy and reconcile payments
Agent skills
Run npx openreceive skills install from your application after installing an
OpenReceive server adapter. The offline copy ships in @openreceive/node, a
server-adapter dependency. For a frontend-only project, use
npx skills add OpenReceive/openreceive.
See agent setup. The bundled installers write
to .agents/skills/; use --dir .claude/skills for Claude Code. They replace
only integrate-openreceive and debug-openreceive-payment, preserving
unrelated skills.
