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

Pathfinding

Algorithms and heuristics that turn the channel graph into a route.

advanced5 days

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

./sign-in

On this page

Learning objectives

  • Model the Lightning graph as a weighted search problem
  • Incorporate fees, CLTV, and uncertainty into heuristics
  • Know why first attempts fail and retries matter

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

Required reading

  • bookMastering the Lightning Network

    Ch. 12: Pathfinding

Reflection prompts

  1. Explain Pathfinding to a teammate without jargon — what problem does it solve?
  2. What would break in production if you misunderstood Pathfinding?
  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 Pathfinding. 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

Pathfinding searches the gossip graph (plus hints) for a path that can deliver an amount under fee and timelock constraints, even with incomplete liquidity knowledge.

Why this matters

Dijkstra-with-fees is only the start. Production routers track historical failures and prefer reliable edges.

Analogy

GPS with imperfect live traffic. You pick a route, hit a jam (insufficient balance), then reroute using what you learned.

Loading diagram…

Search, attempt, learn, retry. Liquidity is uncertain.
type Edge = { from: string; to: string; feeBase: number; feeProportional: number };
// cost ≈ base + amount * proportional / million + riskPenalty

Budget user-facing fees

Show a max fee to users. Silent overpaying destroys trust.

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

Liquidity management: keeping channels balanced so pathfinding has somewhere to go.

further reading

  • bookMastering the Lightning Network

    Ch. 11: The Channel Graph

  • toolAmboss

progress // sign in

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

./sign-in-to-track
prevTransport & NoisenextLiquidity

On this page

Press Shift + ? for keyboard shortcuts.

Press R to research on Bitcoin Search.