Nostr Wallet Connect

3 min read Original article ↗

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.

Creates app connection

Confirms app connection

Relay

Creates app connection

Confirms app connection

Relay

Creates app connection

Confirms app connection

Relay

What are you building?

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

use nwc::prelude::*;

let nwc = NWC::new(uri);

let params = PayInvoiceRequest::new(invoice);

let response = nwc.pay_invoice(params).await?;

Integrate NWC Today

and join family of apps
with +350,000 users

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Bitcoin Connect

    WebLN library

  • Boardwalk Cash

    ecash web wallet

  • ZapPlanner

    Schedule payments

  • Zappy Bird

    Loose sats quickly

What are you building?

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

use nwc::prelude::*;

let nwc = NWC::new(uri);

let params = PayInvoiceRequest::new(invoice);

let response = nwc.pay_invoice(params).await?;

Integrate NWC Today

and join family of apps
with +350,000 users

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Bitcoin Connect

    WebLN library

  • Boardwalk Cash

    ecash web wallet

  • ZapPlanner

    Schedule payments

  • Zappy Bird

    Loose sats quickly

What are you
building?

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

use nwc::prelude::*;

let nwc = NWC::new(uri);

let params = PayInvoiceRequest::new(invoice);

let response = nwc.pay_invoice(params).await?;

Integrate NWC Today

and join family of apps
with +350,000 users

  • Zap Stream

    Stream and stack sats

  • Zapple Pay

    Zap from any client

  • Bitcoin Connect

    WebLN library

  • Boardwalk Cash

    ecash web wallet

  • ZapPlanner

    Schedule payments

  • Zappy Bird

    Loose sats quickly

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