Hey apps,

meet bitcoin

Nostr Wallet Connect (NWC) is an open protocol
to connect lightning wallets to apps

How It Works

NWC allows for sustained interaction between bitcoin lightning wallets and apps.
Once an app connection is created, the app can request payments through a Nostr relay.

NWC allows for sustained interaction between bitcoin lightning wallets and apps.


Once an app connection is created, the app can request payments through a Nostr relay.

NWC allows for sustained interaction
between bitcoin lightning wallets and apps.


Once an app connection is created,
the app can request payments through a Nostr relay.

App

Wallet

Creates app connection

Confirms app connection

Relay

Requests

pay_invoice

Recipient

⚡Invoice paid ⚡

Forwards

pay_invoice

App

Wallet

Creates app connection

Confirms app connection

Relay

Forwards pay_invoice

Requests pay_invoice

Recipient

⚡ Invoice paid ⚡

App

Wallet

Creates app connection

Confirms app connection

Relay

Forwards pay_invoice

Requests pay_invoice

Recipient

⚡ Invoice paid ⚡

What are you building?

Apps

Bitcoin Wallet

What You Get

Effortless Connection

Users connect wallets instantly – no Nostr account required

One-Click Payments

Seamless in-app transactions – no confirmations or QR codes needed

No Custody Involved

Users come with wallets of choice – your app never touches bitcoin

Expand Your Reach

A single interface that allows to onboard from numerous bitcoin wallets

Start with SDKs

Choose JavaScript or Rust SDK to easily integrate

NWC into your application.

1

2

3

4

5

6

7

8

9

import { webln } from "@getalby/sdk";


const nwc = new webln.NWC({ nostrWalletConnectUrl });


// connect to the relay

await nwc.enable();


// now you can send payments by passing in an invoice

const response = await nwc.sendPayment(invoice);

1

2

3

4

5

6

7

8

9

let req_event =
EventBuilder::new(Kind::WalletConnectRequest,

encrypted, [p_tag])

.to_event(&Keys::new(nwc_uri.secret))

.unwrap();


client.subscribe(vec![subscription]).await;


client.send_event(req_event).await.unwrap();

Integrate NWC Today

and join family of apps
with +350,000 users

  • Damus

    Social media

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Lume

    Social media

  • Bitcoin Connect

    WebLN library

  • Kiwi

    Communities

  • Boardwalk Cash

    ecash web wallet

  • Wavlake

    Creators platform

  • Amethyst

    Social media

  • Snort

    Social media

  • ZapPlanner

    Schedule payments

  • Habla News

    Blogging

  • Zappy Bird

    Loose sats quickly

  • More Speech

    Social media

  • YANA

    Social media

  • Spring

    Nostr browser

  • Primal

    Social media

  • Wherostr

    Map of notes

  • noStrudel

    Social media

  • YakiHonne

    Blogging

  • Nostur

    Social media

What are you building?

Apps

Wallet

What You Get

Effortless Connection

Users connect wallets instantly – no Nostr account required

One-Click Payments

Seamless in-app transactions – no confirmations or QR codes

No Custody Involved

Users come with wallets of choice – your app never touches bitcoin

Expand Your Reach

A single interface to onboard from numerous bitcoin wallets

Start with SDKs

Choose JavaScript or Rust SDK to easily integrate NWC into your application.

1

2

3

4

5

6

7

8

9

import { webln } from "@getalby/sdk";


const nwc = new webln.NWC({ nostrWalletConnectUrl });


// connect to the relay

await nwc.enable();


// now you can send payments by passing in an invoice

const response = await nwc.sendPayment(invoice);

1

2

3

4

5

6

7

8
9

let req_event =
EventBuilder::new(Kind::WalletConnectRequest

encrypted, [p_tag])

.to_event(&Keys::new(nwc_uri.secret))

.unwrap();


client.subscribe(vec![subscription]).await;


client.send_event(req_event).await.unwrap();

Integrate NWC Today

and join family of apps
with +350,000 users

  • Damus

    Social media

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Lume

    Social media

  • Bitcoin Connect

    WebLN library

  • Kiwi

    Communities

  • Boardwalk Cash

    ecash web wallet

  • Wavlake

    Creators platform

  • Amethyst

    Social media

  • Snort

    Social media

  • ZapPlanner

    Schedule payments

  • Habla News

    Blogging

  • Zappy Bird

    Loose sats quickly

  • More Speech

    Social media

  • YANA

    Social media

  • Spring

    Nostr browser

  • Primal

    Social media

  • Wherostr

    Map of notes

  • noStrudel

    Social media

  • YakiHonne

    Blogging

  • Nostur

    Social media

What are you
building?

Apps

Bitcoin Wallet

What You Get

Effortless Connection

Users connect wallets instantly – no Nostr account required

Expand Your Reach

A single interface to onboard from numerous bitcoin wallets

No Custody Involved

Users come with wallets of choice – your app never touches bitcoin

One-Click Payments

Seamless in-app transactions, no confirmations or QR codes

Start with SDKs

Choose JavaScript or Rust SDK to easily integrate

NWC into your application.

1

2

3

4

5

6

7

8

9

import { webln } from "@getalby/sdk";


const nwc = new webln.NWC({ nostrWalletConnectUrl });


// connect to the relay

await nwc.enable();


// now you can send payments by passing in an invoice

const response = await nwc.sendPayment(invoice);

1

2

3

4

5

6

7

8

9

let req_event =
EventBuilder::new(Kind::WalletConnectRequest, encrypted, [p_tag])

.to_event(&Keys::new(nwc_uri.secret))

.unwrap();

client.subscribe(vec![subscription]).await;

client.send_event(req_event).await.unwrap();

Integrate NWC Today

and join family of apps
with +350,000 users

  • Damus

    Social media

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Lume

    Social media

  • Bitcoin Connect

    WebLN library

  • Kiwi

    Communities

  • Boardwalk Cash

    ecash web wallet

  • Wavlake

    Creators platform

  • Amethyst

    Social media

  • Snort

    Social media

  • ZapPlanner

    Schedule payments

  • Habla News

    Blogging

  • Zappy Bird

    Loose sats quickly

  • More Speech

    Social media

  • YANA

    Social media

  • Spring

    Nostr browser

  • Primal

    Social media

  • Wherostr

    Map of notes

  • noStrudel

    Social media

  • YakiHonne

    Blogging

  • Nostur

    Social media

A simple library that combines NWC with WebLN and enables users to connect their wallet to websites on any browser or device.

A simple library that combines NWC with WebLN and enables users to connect their wallet to websites on any browser or device.

A simple library that combines NWC with WebLN and enables users to connect their wallet to websites on any browser or device.

More Than Social Media

Nostr is so much more than just "decentralised social media".

It's a neutral communication protocol that allows for high degree of interoperability between bitcoin and other technologies.

Nostr

Nostr

Decentralised

Decentralised

Globally available

Globally available

Simple to work with

Simple to work with

Safe, resilient and verifiable

Safe, resilient and verifiable