Lightning scales BTC transfers through payment channels. Stacks scales programmable applications through its own ledger, Clarity contracts and sBTC. Both lean on Bitcoin, yet they are not the same kind of Layer 2.
Filing every network "built on Bitcoin" under a single label hides the differences that matter most: which script or signer set controls the asset, whether state is stored permanently, and how a user gets back to the Bitcoin main chain when something goes wrong.

The Lightning Network has participants open a two-way payment channel on Bitcoin first, then update the balance state off-chain as many times as they like. Only opening, closing or dispute handling has to be broadcast to the Bitcoin main chain.
Two people without a direct channel can still pay each other over a multi-hop route. Hash time-locked contracts let an intermediate node claim its share only if the payment keeps moving forward, which reduces how much users have to trust the hops in between.
The design suits frequent, small and low-latency payments, but the real experience depends on channel capacity and the direction liquidity happens to sit in. A payment can fail when the wallet finds no usable route, when inbound capacity is short, or when a node is offline. Custodial Lightning wallets make channel management simpler, at the cost of added custody and withdrawal risk on the provider side.
Stacks runs its own global ledger, execution environment and native asset STX. Miners take part in block production by spending BTC through Proof of Transfer, Stacks blocks are anchored to Bitcoin blocks, and Clarity contracts can additionally read parts of Bitcoin state.
To use BTC inside a Stacks application, the usual route is sBTC. A user sends BTC to a Bitcoin address controlled by a signer set, and the protocol mints the matching sBTC on Stacks. To exit, the user burns or locks the sBTC and asks the signers to send BTC on Bitcoin.
The 1:1 backing and the exit liveness of sBTC both depend on the signer set and the protocol contracts. It is not a direct copy of native BTC living on another ledger, and the fact that Stacks state is anchored to Bitcoin does not remove the signers' role in peg-out.
| Comparison | Lightning Network | Stacks |
|---|---|---|
| Primary use | BTC payments and micropayments | Persistent smart contracts, tokens and applications |
| State model | Channel participants keep updating local state | A global ledger records account and contract state |
| Base asset | Native BTC locked inside a channel | STX pays network fees, sBTC represents bridged BTC |
| Relationship to the main chain | Channel contracts can be force-closed and settled on Bitcoin | Blocks anchor to Bitcoin, with independent execution and ledger |
| Exit condition | The user closes on Bitcoin with a valid channel state | Turning sBTC back into BTC requires Stacks contracts and the signer process |
| Typical constraints | Liquidity, routing, online monitoring, channel management | Signers, bridging, contracts, running a separate network, STX gas |
Lightning has no global contract state for arbitrary applications, so it is not a drop-in replacement for Stacks. Stacks can hold complex application state, but it also adds an execution layer, a token economy and a BTC anchoring mechanism.
That depends on which definition you use. The official Stacks documentation admits the classification is not a clean one.
If L2 means a scaling layer that depends on Bitcoin, follows Bitcoin finality and anchors its state to Bitcoin, Stacks shows several L2 traits. If you apply the stricter standard common to Ethereum rollups, where a user must be able to force an exit of the base asset relying on L1 rules alone, then sBTC peg-out still depends on the signer set and Stacks does not fully meet that bar.
A more accurate framing is this: Stacks is a Bitcoin smart contract layer that the ecosystem commonly calls a Bitcoin L2, but its security and exit model differs from Lightning and from Ethereum rollups alike.

Lightning channel balances are constrained by pre-signed Bitcoin transactions and scripts. In a cooperative close, both sides agree on the final balance. In a unilateral close or a dispute, the latest valid state has to be published to Bitcoin and the time-lock conditions have to run their course.
An sBTC exit on Stacks starts with a request to a Stacks contract, after which the signers verify it and jointly sign a Bitcoin transaction. The Bitcoin chain confirms the final BTC transaction but does not itself verify the full Stacks contract state, so the signer threshold and signer availability are an extra boundary.
Whichever route you take, going through a custodial wallet, a trading platform or a third-party cross-chain service layers the provider's own withdrawal and operating conditions on top.
If all you need is to send and receive payments, start by checking whether the Lightning wallet is self-custodial, how stable its routing is, and how channels and inbound liquidity are managed. If you need smart contracts, lending, tokens or persistent application state, Stacks is the closer fit, provided you accept STX gas and the sBTC bridging model.
For the full scaling taxonomy, go back to A complete guide to Layer 2 scaling. To keep exploring multi-chain, modular and zero-knowledge directions, see Frontier Web3 sectors and trends.
A single off-chain channel update is normally not written to Bitcoin transaction by transaction. An explorer shows the on-chain transactions tied to opening, closing or disputes, but you cannot reconstruct the full channel payment history from them.
Not necessarily. A wallet can manage a lightweight node itself, use a service provider, or take a custodial approach. The more convenient the setup, the more important it is to confirm who holds the keys, what the withdrawal limits are, and what happens if the service goes down.
No. STX is the native asset of Stacks and is used for network fees and protocol incentives, while sBTC is a token representing BTC on Stacks, backed by locked BTC and the signer mechanism.
Yes. Opening and closing Lightning channels and handling disputes all require on-chain transactions, and sBTC deposits and withdrawals need Bitcoin confirmations too. Mainnet fees and congestion feed into the cost of entering, exiting and dealing with anything that goes wrong.


