Skip to content

Zaps: Tips on Nostr

Learn how to send and receive Bitcoin tips (zaps) on Nostr using the Lightning Network

10-15 minutes Intermediate

What are Zaps? ⚡

Zaps are Bitcoin tips sent over the Lightning Network. They’re the native value layer of Nostr—allowing users to reward content they love with real money.

Think of them as “likes with value”—a way to support people whose content you enjoy.

How Zaps Work

  1. You create good content → A post, thread, or reply
  2. Someone enjoys it → They click the ⚡ zap button
  3. They send satoshis → Tiny amounts of Bitcoin (1000 sats = ~$0.30)
  4. You receive instantly → Money appears in your wallet
  5. Everyone sees it → Zaps are public and create social proof

Why Zaps Are Revolutionary

Traditional Social Media:

  • Likes are free and worthless
  • Platform keeps all ad revenue
  • Creators get nothing
  • Engagement is hollow

Nostr with Zaps:

  • Every like can have real value
  • No platform takes a cut
  • Direct creator support
  • Meaningful engagement

Real Examples

  • Developer receives 100,000 sats ($30) for fixing a bug
  • Artist gets zapped for sharing their work
  • Writer earns Bitcoin for insightful threads
  • Meme creator gets tips for viral content

The Value-for-Value Model

Traditional social media

  • Free to post
  • Free to read
  • Attention pays the platform

Nostr

  • Free to post
  • Free to read
  • Attention pays the creator
Same free access on both sides — the difference is who the attention pays.

How Zaps Appear

In supported clients, zaps show up as:

  • ⚡ Lightning bolt icons
  • Amount zapped (e.g., “21 sats”)
  • Running totals on posts
  • Special notifications when you receive them

Alice

Just published my new article!

  • 12
  • 3
  • 5,420 sats
  • Bob zapped 1,000 sats
  • Carol zapped 500 sats
Zaps appear inline with the other reactions, with the sender named.

Not Required!

💡 Important: Zaps are completely optional. You can use Nostr for free forever without ever sending or receiving a single satoshi.


Wallet Setup 💼

Before you can send or receive zaps, you need a Lightning wallet.

For Beginners

Primal Wallet (Built into the Primal app)

  • Zero setup—activate it inside the client
  • Self-custodial (Spark-based) since Primal 3.0
  • Web, iOS, and Android
  • primal.net

Coinos (Web)

  • Hosted wallet that runs in any browser
  • Gives you a you@coinos.io Lightning address
  • Custodial—keep only small amounts
  • coinos.io

Phoenix (Mobile)

  • User-friendly
  • Self-custodial
  • iOS and Android (back in the US App Store since April 2025)
  • Note: true self-custody means small on-chain/channel fees when funding a tiny first balance
  • phoenix.acinq.co

For Advanced Users

Alby Hub (Desktop/Cloud + Browser Extension)

  • Your own self-custodial Lightning node, in the cloud or self-hosted
  • Lightning address included; pairs with the Alby browser extension and the Alby Go mobile app
  • Connects to any Nostr client via Nostr Wallet Connect (NWC)
  • getalby.com

Zeus (Mobile)

  • Connect to your own node, or use the built-in wallet
  • Full control
  • Power user features
  • zeusln.com

Custodial vs Non-Custodial

Custodial (Coinos and other hosted wallets)

  • ✅ Easy setup
  • ✅ Lower fees
  • ❌ They hold your funds
  • ❌ KYC may be required

Non-Custodial (Primal Wallet, Phoenix, Alby Hub, Zeus)

  • ✅ You control your keys
  • ✅ Better privacy
  • ❌ Slightly more complex
  • ❌ Higher on-chain fees

💡 Recommendation: Start with a hosted or built-in wallet for small amounts. Upgrade to full self-custody (Phoenix or Alby Hub) as your balance grows.

What About Wallet of Satoshi and Mutiny?

Older Nostr guides recommend these two. That advice is out of date:

  • Mutiny Wallet shut down. The team announced the shutdown in August 2024 and ended all apps, hosted services, and support by December 31, 2024. Don’t send funds there.
  • Wallet of Satoshi is no longer the zero-setup custodial app it was famous for. Its classic custodial service left the US market in November 2023 and was discontinued across the EU in early 2026. It has since relaunched around a Spark-based wallet marketed as self-custodial—a different product from the one older guides describe.

For the easiest start today, use your client’s built-in wallet (like Primal’s) or a hosted web wallet like Coinos instead.


Connecting Your Wallet

Step-by-Step: Alby Hub + Web Client

  1. Set Up Alby Hub

    • Start a hub at getalby.com—in the cloud or self-hosted
    • Alby Hub is a self-custodial Lightning node; Alby no longer offers a hosted custodial balance
    • Optionally install the Alby browser extension and link it to your hub for one-click zaps in web clients
  2. Get a Nostr Wallet Connect (NWC) String

    • In Alby Hub, create a new app connection for your Nostr client
    • Copy the connection string it generates
  3. Connect to Client

    • In your Nostr client (Primal, Iris, etc.)
    • Settings → Wallet → Connect
    • Paste the NWC connection string
  4. Test with a Small Zap

    • Find a post you like
    • Click ⚡ button
    • Send 10 sats

Step-by-Step: Phoenix + Mobile Client

  1. Download Phoenix

    • App Store / Play Store
    • Create wallet (backup seed phrase!)
  2. Fund Your Wallet

    • Buy Bitcoin or receive from elsewhere
    • Need at least 10,000 sats to start
  3. Know Phoenix’s Receiving Limits

    • Phoenix gives you Lightning invoices to receive payments
    • It does not give you the classic name@provider Lightning address most Nostr clients expect for zaps (its human-readable address support on @phoenixwallet.me is an experimental BIP-353 feature)
  4. For Receiving Zaps, Pair It with a Lightning Address

    • Zaps arrive at the Lightning address in your Nostr profile
    • Use an address from a wallet that provides one (your client’s built-in wallet, Coinos, or Alby Hub), and keep Phoenix as your self-custody wallet for larger balances

Step-by-Step: Built-In Client Wallet (e.g., Primal)

  1. Activate the Wallet Inside Your Client

    • Open your client’s wallet tab and follow the activation prompts
    • Primal’s built-in wallet is self-custodial and works on web, iOS, and Android
  2. Get Your Lightning Address

    • Once active, the wallet shows your Lightning address
    • It looks like: username@provider.com
    • This is where zaps will arrive
  3. Add to Your Nostr Profile

    • Clients with a built-in wallet usually fill this in for you
    • If not: Edit Profile → find “Lightning Address” or “LN Address” field → paste → save
  4. Verify It Works

    • Look for ⚡ icon on your profile
    • Ask a friend to send you a test zap (100 sats)
    • Check your wallet—should receive instantly
    • You should see zap notification in your client

Sending Zaps 💸

How to Zap a Post

  1. Find a post you like
  2. Tap the ⚡ button
  3. Choose amount or enter custom
  4. Add message (optional)
  5. Confirm and send!

Zap Amounts Etiquette

Quick reference:

AmountWhen to Use
10-50 satsSmall appreciation
100-500 satsGood post/thread
1,000-5,000 satsGreat content, podcast episode
10,000+ satsExceptional value, art, tool

💡 Rule of thumb: Zap what the content is worth to you. No amount is too small!

Custom Messages

Most clients let you add a message with your zap:

"Thanks for the help!"
"Great thread, learned a lot"
"☕ Coffee's on me"

This personalizes the interaction and helps creators know what content resonates.

Zap Simulator

Simulate sending and receiving Bitcoin payments (zaps) on Nostr using the Lightning Network.

Lightning Invoice
lnurl1dp68gurn8ghj7ampd3kx2ar0veekzar0wd5xjtnrdakj7tnhv4kxctttdehhwm30d3h82unvwqhhgmmjwscqzzsxqrpcgupzqvdkxsmm4w4ek2njsmqx93rz8sctjhjlyk

Receiving Zaps 💰

Setting Up LNURL

To receive zaps, you need to configure where they go:

  1. Get your Lightning Address or LNURL

    • From your wallet (your client’s built-in wallet, Coinos, Alby Hub, etc.)
    • Format: yourname@provider.com
  2. Add to Your Profile

    Client → Profile → Edit → Lightning Address
    Paste: yourname@getalby.com
  3. Verify it works

    • Ask a friend to send you 10 sats
    • Or use a testnet faucet

Zap Notifications

In most clients:

  • Push notification when zapped
  • Notification tab shows zap history
  • Can see who zapped you

Privacy note: Zaps are semi-public. While amounts can be private in some setups, the fact that you zapped (or were zapped) is visible.


Zap Splits [ADVANCED]

Optional feature for sharing zap revenue automatically.

What are Zap Splits?

When someone zaps your post, automatically split the payment with collaborators:

Example: podcast episode

  • 70%Host (you)
  • 20%Producer
  • 10%Editor
One zap, split automatically between everyone who worked on the episode.

Setting Up Splits

  1. In your client: Look for “Zap Splits” or “Recipients”
  2. Add collaborators: Enter their Lightning addresses
  3. Set percentages: Must total 100%
  4. Save: Future zaps auto-split

Common Use Cases

  • Podcasts: Split between host and guests
  • Collaborative posts: Share with co-authors
  • Art: Split with inspiration sources
  • Open source: Fund dependencies

Zap Analytics 📊

Tracking your zap activity:

For Creators

  • Total zaps received: Lifetime and time period
  • Top zapped content: Which posts earn most
  • Zap velocity: Rate of incoming zaps

Tools:

For Supporters

  • Total zapped: How much you’ve given
  • Zap leaderboard: Who you’ve supported most
  • Impact tracking: See your contribution

Creator Best Practices

Maximizing Zap Support

1. Create Value

  • Educational content
  • Unique insights
  • Entertainment
  • Helpful tools/resources

2. Be Consistent

  • Post regularly
  • Build trust over time
  • Quality over quantity

3. Acknowledge Supporters

  • Thank people who zap
  • Reply to comments
  • Build relationships

4. Signal Value

  • “Zaps welcome” occasionally
  • Show appreciation
  • Don’t beg or demand

5. Diversify Income

  • Don’t rely solely on zaps
  • Offer paid content/subscriptions
  • Build products/services
  • Accept direct donations

Tax Considerations

General principles:

  • Zaps may be taxable income
  • Keep records of receipts
  • Convert to fiat = taxable event in most places
  • Bitcoin held = capital gains when sold

Tools:

  • Koinly, CoinTracker for tracking
  • Export wallet history regularly
  • Document everything

Troubleshooting Zaps 🔧

“Zap button doesn’t work”

  • Check wallet is connected (Settings → Wallet)
  • Ensure you have sufficient balance
  • Try reloading the client

”Wallet won’t connect”

  • Verify your connection string is correct
  • Check that your wallet is unlocked
  • Some wallets need to be “online” (Phoenix)

“Zaps not showing up”

  • Zaps take a few seconds to process
  • Some clients batch notifications
  • Check your wallet directly for confirmation

”Can’t receive zaps”

  • Verify your Lightning address is in your profile
  • Test with a small amount first
  • Ensure your wallet is running (non-custodial)

Best Practices

Do:

  • ✅ Zap content that provides value
  • ✅ Add a friendly message
  • ✅ Start small while learning
  • ✅ Support newcomers with welcome zaps
  • ✅ Keep some sats in your wallet

Don’t:

  • ❌ Feel pressured to zap
  • ❌ Zap more than you can afford
  • ❌ Expect zaps in return
  • ❌ Spam low-quality content expecting zaps
  • ❌ Forget to backup your wallet seed

Resources


Community

Join the zapping community:

  • Use #zap tag to discuss
  • Follow #plebchain for tips
  • Share your Lightning Address in your bio

Quick Reference

WalletDifficultyControlBest For
Primal Wallet (built-in)EasiestSelf-custodyBeginners
CoinosEasyCustodialWeb users, small amounts
PhoenixMediumSelf-custodySerious users
Alby HubMediumSelf-custodyDesktop users
ZeusHardFull controlPower users

Zap Amounts:

  • 21 sats = Minimum viable zap
  • 100 sats = Standard “thank you”
  • 1000 sats = “This was valuable”
  • 10000+ sats = Exceptional content

Remember: Every sat counts. Don’t worry about amounts—support good content generously!


Test Your Zap Knowledge

Ready to test what you’ve learned about zaps?

Lightning & Zaps Quiz

Zap Definition

Question 1 of 5

0/5 answered

What are 'zaps' on Nostr?
P0 Critical

Keep reading

Improve this page

Spotted a typo or something unclear? Edit this guide on GitHub.

Follow us on Nostr