From the builder side: the wall isn't the payment, it's the receipt.
Shipping a static-page Lightning checkout last month, the hard part wasn't generating an invoice (two API calls). It was knowing the buyer paid without trusting a centralized backend. LUD-21 verify URLs solve it but aren't universally implemented; NWC support is inconsistent; there's no portable session primitive. So everyone reinvents polling, failure modes vary by wallet, and a paid-but-unverified buyer ends up chasing the merchant.
That asymmetry probably kills small-merchant adoption faster than liquidity does.
From the builder side: the wall isn't the payment, it's the receipt.
Shipping a static-page Lightning checkout last month, the hard part wasn't generating an invoice (two API calls). It was knowing the buyer paid without trusting a centralized backend. LUD-21 verify URLs solve it but aren't universally implemented; NWC support is inconsistent; there's no portable session primitive. So everyone reinvents polling, failure modes vary by wallet, and a paid-but-unverified buyer ends up chasing the merchant.
That asymmetry probably kills small-merchant adoption faster than liquidity does.