What are zaps on Nostr? Bitcoin tips, publicly visible
Zaps are one-click Bitcoin Lightning tips that show up on Nostr feeds. What they are, how the receipt flow works, and how to send or receive one.
A zap is a Bitcoin Lightning tip with a public receipt posted to Nostr. Someone writes a post, you tap the lightning bolt icon, pick an amount, and sats move from your wallet to theirs. The zap then appears next to the post, visible to everyone, with the amount and sender attributed.
The combination of money and social signal is the point. Likes are free and therefore cheap in the literal sense; zaps cost the sender something, and that something is visible as appreciation. A post with 20 zaps reading "10,000 sats total" is saying something different from 20 likes.
TL;DR. A zap is a one-click Bitcoin Lightning payment with a receipt posted to Nostr relays. Minimum is usually 21 sats (a fraction of a cent); no maximum. Sender and amount are public. Requires both sides to have a Lightning wallet with Nostr zap support.
When you are ready, grab your @nostr.blog address
The mechanics, in one pass
A zap involves four actors: the sender's Nostr client, the sender's Lightning wallet, the recipient's Lightning address, and the Nostr relay network.
- You tap the zap button on a post. Your client asks how much and, optionally, for a comment.
- Client builds a zap request event (kind 9734). This is a Nostr event describing who is tipping whom and for how much. It is NOT signed by your wallet; it is signed by your Nostr identity.
- Client calls the recipient's Lightning address. The recipient's address service (commonly known as an "LNURL pay endpoint") receives the zap request, generates a Lightning invoice for the specified amount, and returns the invoice to your client.
- Client pays the invoice via your Lightning wallet. This is a standard Lightning payment; your wallet handles it.
- The recipient's service publishes a zap receipt (kind 9735). The receipt is signed by the service's Nostr identity and references both the zap request and the original post being zapped.
- Relays propagate the receipt. Your client and the recipient's client both see it. The zap appears next to the post.
Steps 1 through 4 are the payment. Step 5 is what makes it a zap and not just a Lightning payment. Without the published receipt, money moves but no zap shows up.
Why the receipt design works that way
The receipt is signed by the recipient's wallet service, not by the sender or recipient directly. This is deliberate and slightly unintuitive.
Why: the wallet service is the only party that can witness the payment. The sender can claim they paid, but claims are cheap; a signed message from the wallet service saying "I received X sats for this invoice" is the unfakeable part.
The tradeoff: clients need to filter receipts from wallet services they trust. A malicious service could publish fake receipts. In practice, reputable Lightning address providers (the major managed services, Alby, Getalby, most paid providers) sign receipts correctly and get included in client trust lists. Random self-hosted LNURL servers sometimes do not, and their receipts get filtered out.
What you need to send a zap
Two things:
- A Lightning wallet funded with sats. Any wallet that can pay a Lightning invoice works. Custodial options (Wallet of Satoshi, Primal wallet, Blink) are the easiest. Non-custodial options (Phoenix, Mutiny, Breez) give you more control.
- A Nostr client with zap UI. Every mainstream client has this. Some clients use the built-in wallet (the nostr.blog client has one), others use Nostr Wallet Connect (NWC) to talk to an external wallet.
If you are new to Lightning, our Lightning Network guide covers the payment layer. Start there if any of this feels abstract.
What you need to receive zaps
One thing: a Lightning address in your Nostr profile that supports zaps.
"Supports zaps" is the subtle part. The address must:
- Accept an LNURL pay request with an attached zap-request event.
- Generate a Lightning invoice for the requested amount.
- After payment, publish a zap receipt (kind 9735) to Nostr relays.
Many Lightning addresses support parts 1 and 2 but not 3. They happily receive the money but do not publish the receipt. The result is an invisible tip: money arrives, no zap appears.
Wallets that handle all three in 2026: Wallet of Satoshi, the nostr.blog built-in wallet, Alby Hub, Strike, Primal, Phoenix with the Nostr plugin, and most LNURL services that were built with Nostr in mind.
Wallets that have trouble with step 3: some self-hosted LNURL setups, some old custodial services that predate zaps, some exchange withdrawal addresses. If zaps are not showing up despite sats arriving, this is almost always why.
Zap amounts, culturally
The numbers people use are a shared vocabulary at this point.
- 21 sats. The default small zap. 21 is a reference to Bitcoin's 21-million supply cap. Reads as "I acknowledge this post exists and have enough on-hand to tip."
- 210 sats. Slightly more emphasis. Still in the "micro-engagement" range, about 10 cents.
- 420 sats. Culturally loaded. Make of it what you will.
- 1000 sats. A meaningful tip. Roughly 60 cents. Signals "I actually valued this."
- 21,000 sats. A significant zap, around $12. Sent for genuinely useful or entertaining posts.
- 100,000+ sats. Major zap, around $60+. Usually reserved for long-form articles, streamed content, or fundraising posts.
None of this is protocol-level. The norms emerged from community practice and shift over time, especially as sat prices change. The general rule: match the zap to how much the post contributed to your day.
Why zaps feel different from likes
Three reasons, each real.
First, the sender pays. A like costs the clicker nothing; the signal is basically free. A zap costs money and therefore signals real attention and appreciation. Posts with zaps tend to be more substantive on average because people allocate their sats toward things they actually value.
Second, the receipt is public. Everyone can see who zapped whom and for how much. This creates something like a public leaderboard of "who rewards what kind of content," which is visible over time and adds a layer of social signal beyond individual tips.
Third, the receiver gets real money. A post that collects 100,000 sats is $60 in someone's wallet. A post that collects 100 likes on Twitter is still zero dollars. This is what lets writers, artists, and podcasters build a living from Nostr directly, without advertising or platform mediation.
Common zap issues
Three specific ones, with their fixes.
"I paid the invoice but no zap shows up." The receiving service did not publish a zap receipt. Either their wallet does not support zaps (step 3 above) or they have not set up zap publishing correctly. The money moved; the social signal did not. Ask the recipient what wallet they use and whether it supports zap receipts.
"I cannot send zaps from my client." Your client needs either a built-in wallet or an external one paired via NWC. Check your client's wallet settings. If it says "no wallet connected," the zap button will not work; pair a wallet first.
"My zap went through but the amount looks wrong." Some wallets apply a small routing fee on the sender side or a withdrawal fee on the receiver side. 1 to 5 sats off the expected amount is normal. 10%+ discrepancies indicate something unusual, worth investigating.
What comes next
Zaps are the first social primitive Nostr ships that feels fundamentally new. Every other feature (posts, replies, reactions, hashtags) has a direct Twitter analog. Zaps do not, because Twitter's monetization runs through ads and subscriptions, not peer-to-peer tipping.
If you want to try sending your first zap, the easiest onramp is signing up on nostr.blog, which bundles a Lightning wallet with your identity. Fund the wallet with a few thousand sats, zap a post that made your day, see how it feels. The first zap converts most new users faster than reading another guide about them.
Frequently asked questions
How much should I zap someone?
Can anyone see who I zapped?
Do I need a Bitcoin wallet to zap?
What is the smallest zap I can send?
Can a zap fail silently?
Related reading
Lightning Network explained for Nostr users
The Bitcoin layer that makes sub-cent tips practical. How Lightning works, why Nostr uses it for zaps, and what you need to send and receive sats.
8 min readWallets and LightningHow to send a zap on Nostr: step by step
Sending your first zap takes about two minutes once your wallet is funded. Here is the setup, the actual flow, and what to do if the zap does not land.
6 min readWallets and LightningNostr Wallet Connect (NWC) explained
NWC bridges your Nostr client and your Lightning wallet. It lets your feed zap without the wallet being baked in. How the pairing works.
7 min readWallets and LightningZap-receive address setup: how to get paid sats on Nostr
To receive zaps you need a Lightning address that publishes zap receipts. How to set one up, verify it works, and fix zaps that go invisible.
6 min readWallets and LightningAlby vs Mutiny vs Wallet of Satoshi: compared
Three popular Lightning wallets for Nostr users compared. Custodial vs non-custodial, setup friction, Nostr integration, and which one fits you.
6 min readWallets and LightningHow to buy sats for zapping on Nostr
Five reliable ways to get sats into a Lightning wallet, from in-app purchases to exchanges to peer-to-peer. Real fees, delays, and regional gaps.
7 min readWallets and LightningUsing Wallet of Satoshi with Nostr: a practical guide
Wallet of Satoshi is the easiest Lightning wallet to set up and common for Nostr zapping. How to pair it, what it does well, and its limits.
6 min read