What is a Lightning invoice?
A Lightning invoice is a payment request — a standardized way of saying “please send me this exact amount of Bitcoin.” When a customer pays you with Bitcoin at your Square terminal, Square generates a Lightning invoice automatically and displays it as a QR code.
The customer scans the QR code with their Bitcoin wallet app, confirms the amount, and the payment arrives in your Square account within seconds.
You never need to create or manage Lightning invoices manually with Square. Square generates them automatically when a customer chooses to pay with Bitcoin at checkout.
What is in a Lightning invoice
A Lightning invoice contains:
- Amount — the exact number of satoshis to be paid
- Destination — which Lightning node should receive the payment
- Expiry time — how long the invoice is valid (usually 10-60 minutes)
- Description — optional memo describing what the payment is for
- Payment hash — a unique identifier for this specific payment
All of this is encoded into the QR code. The customer’s wallet decodes it automatically.
What the customer sees
When a customer pays with Bitcoin at your Square terminal:
- They tell you they want to pay with Bitcoin
- You select Bitcoin as the payment method in Square
- Square displays a QR code on the customer-facing screen
- The customer opens their Bitcoin wallet app — Cash App, Strike, Blue Wallet, Phoenix, or any Lightning-compatible wallet
- They tap “Send” or “Scan” and point their camera at the QR code
- Their wallet shows the amount in both sats and dollars
- They confirm — payment arrives in 1-3 seconds
- Square shows a payment confirmed screen
The whole process typically takes 15-30 seconds once the customer opens their wallet.
What you see in Square Dashboard
After a Bitcoin payment, your Square Dashboard shows:
- Transaction amount in USD (the dollar value at time of payment)
- Bitcoin amount in satoshis
- Exchange rate used at the time of the transaction
- Transaction status — confirmed or pending
- Lightning payment ID — a unique identifier for the transaction
The dollar amount shown in Square at the time of payment is the figure you should use for your tax records — not the current price if you check later. Square’s timestamped records are IRS-compliant documentation.
Understanding the satoshi amounts
Square shows payment amounts in satoshis. Here is a quick reference at common price levels:
| USD amount | At $96,000/BTC | At $80,000/BTC | At $120,000/BTC |
|---|---|---|---|
| $5.00 | 5,208 sats | 6,250 sats | 4,167 sats |
| $10.00 | 10,417 sats | 12,500 sats | 8,333 sats |
| $25.00 | 26,042 sats | 31,250 sats | 20,833 sats |
| $50.00 | 52,083 sats | 62,500 sats | 41,667 sats |
| $100.00 | 104,167 sats | 125,000 sats | 83,333 sats |
Use the BitcoinUnit converter to check any amount at the current live price.
What if a payment fails?
Lightning payments can occasionally fail if the network cannot find a route with sufficient liquidity. In practice this is rare for typical retail amounts under $500.
If a payment fails:
- Square will show a payment failed message
- No funds move — the customer is not charged
- You can try again or accept an alternative payment method
- Square handles the technical retry logic automatically
Invoice expiry
Lightning invoices expire — Square’s invoices are typically valid for 10-15 minutes. If a customer takes too long to pay, the invoice expires and Square will generate a new one automatically.
This is why you should complete the Bitcoin payment process promptly once the QR code appears. If the customer’s app shows “invoice expired”, simply start the checkout process again in Square.
Converting Bitcoin payments to dollars
Square automatically converts your Bitcoin payments to USD at the prevailing exchange rate and deposits to your bank account on the same schedule as your card payments. You do not need to manually convert anything.
If you prefer to hold some Bitcoin rather than converting immediately, Square also offers a “Bitcoin Savings” option that retains a percentage of each payment as Bitcoin in a separate account.