Skip to content

nostr-coreDead simple NWC client

Vendor-neutral Nostr Wallet Connect for JavaScript and TypeScript

nostr-core

Lightning Payments

Pay invoices, check balances, and create invoices with a single connection string. Full NIP-47 coverage.

Fiat Conversion

Built-in fiat-to-sats conversion using public exchange rate APIs. No extra dependencies needed.

Lightning Address

Native LNURL-pay resolution. Send to Lightning Addresses without any external libraries.

Auto-Encryption

Automatically detects NIP-04 vs NIP-44 encryption support. Zero configuration required.

Typed Errors

Eight specific error classes for precise failure handling - wallet errors, timeouts, relay issues, and more.

Cross-Runtime

Works on Node.js 18+, Deno, Bun, and Cloudflare Workers. Pure JavaScript, no native bindings.

4
dependencies
Audited Noble crypto
82%
fewer packages
vs @getalby/sdk
10
NIP-47 methods
Full coverage

Quick Example

ts
import { NWC } from 'nostr-core'

const nwc = new NWC('nostr+walletconnect://...')
await nwc.connect()

const { balance } = await nwc.getBalance()
console.log(`Balance: ${balance} msats`)

nwc.close()

How does nostr-core compare?

82% fewer packages, 26% smaller install, zero vendor lock-in.

See the full comparison →

Released under the MIT License.