RoadmapsProjects
Sign in./start

Learn

RoadmapsProjects

Contribute

DiscoverIssues

Account

Sign in./start-building

Become an Open Source Builder. Learn. Build. Contribute.

Learn

RoadmapsProjectsStart Building

Contribute

DiscoverIssues

Account

Sign inDashboardSettings

Legal

PrivacyTerms

© 2026 Pull // all rights reserved

PrivacyTerms

lesson // lightning

BOLT12 Offers

Reusable offers, onion messages, and modern Lightning payment UX.

intermediate5 days

Public lesson — sign in to track progress on this roadmap.

./sign-in

On this page

Learning objectives

  • Contrast BOLT11 invoices with BOLT12 offers
  • Explain reusable static payment points at a high level
  • Know implementation support is uneven and evolving

study // plan

Lessons are primers. Depth comes from required reading, interactive labs, reflection, and a hands-on check with evidence — the BOSS study pattern.

Research on Bitcoin Search
BOLT12Lightning offers

Required reading

  • boltBOLT12 Offers

Reflection prompts

  1. Explain BOLT12 Offers to a teammate without jargon — what problem does it solve?
  2. What would break in production if you misunderstood BOLT12 Offers?
  3. Which BOLT (or implementation doc) is the source of truth for this topic, and what did you verify there?

Lab // Polar check

After reading, run one hands-on check related to BOLT12 Offers. Prefer local regtest or Polar over mainnet.

evidence required

  • ·Command output or screenshot from your local lab
  • ·One sentence on what you observed vs expected
  • ·Link to the required reading section you used

Offers (BOLT12) aim to replace many awkward invoice flows with reusable, negotiable payment requests delivered over onion messages.

Why this matters

Static QR codes, refunds, and recurring flows are painful with single-use BOLT11 strings. Offers are the protocol direction for better UX, but support varies by implementation.

Analogy

BOLT11 is a single-use concert ticket printed on demand. An offer is a box office that can issue fresh tickets when you ask, without reprinting a giant static poster that goes stale.

Mental model

  1. Payee publishes an offer
  2. Payer requests an invoice over Lightning messaging
  3. Payee returns a fresh invoice bound to that request
  4. Payer pays as usual

Loading diagram…

Offers bootstrap fresh invoices without out-of-band QR churn.

Check feature support

Before betting a product on offers, verify your target wallets and node implementations support the flows you need.

Common mistakes

  • Assuming every wallet can scan offers today
  • Mixing offer UX copy with BOLT11 field names in APIs
  • Ignoring onion message connectivity requirements

Worked mental model

Re-read the diagrams in this lesson once out loud in plain language. If you cannot explain the flow to a friend without jargon, pause and revisit Mastering Bitcoin / Mastering Lightning chapters linked in Resources. Chapter references are intentional, not decorative.

Hands-on habit

Every protocol idea should be paired with one local experiment:

  1. Reproduce the happy path on regtest (or Polar for Lightning)
  2. Break it on purpose (wrong fee, expired invoice, offline peer)
  3. Write down what error you saw and which layer produced it (wallet, node, mempool, peer)

That habit turns reading into builder instinct.

Glossary check

Pick three terms from this lesson and define them in one sentence each without opening notes. Weak definitions mean the lesson is not finished yet.

Resource order

Use Resources in order: narrative book chapter first, then BIP/BOLT for precision, then implementation docs for commands. Jumping straight to RPC flags without the mental model creates brittle knowledge.

Next steps

LNURL bridges UX today with HTTP-based flows still widely deployed.

further reading

  • docsCore Lightning offers
  • bookMastering the Lightning Network

    Payment UX chapters, pair with BOLT12 reading

progress // sign in

Reading is public. Sign in to mark lessons complete, sync across devices, and unlock your roadmap.

./sign-in-to-track
prevInvoicesnextLNURL

On this page

Press Shift + ? for keyboard shortcuts.

Press R to research on Bitcoin Search.