
Why Every Crypto Invoice Must Have an Expiry
A crypto invoice without expiry would display a fixed crypto amount forever. But cryptocurrency prices fluctuate continuously, so an invoice for 'send 0.005 BTC' generated when Bitcoin was at €40,000 would represent €200 at generation time and potentially €180 or €220 hours later. If the customer pays the same 0.005 BTC after a significant price drop, the merchant receives less than the invoiced fiat value with no recourse.
The price lock and expiry system solves this by treating each invoice as a time-limited price quote. The gateway commits to accepting a specific crypto amount for a specific fiat value for a defined window. If the customer does not pay within that window, the quote expires and must be regenerated at the current rate, ensuring the merchant's fiat revenue is always based on near-real-time pricing.
What Technically Happens When an Invoice Expires
When the expiry countdown reaches zero, the gateway marks the invoice as expired in its system and stops monitoring the associated payment address for new incoming transactions — or more precisely, it stops treating new incoming transactions as linked to that invoice's order. The payment address itself continues to exist on the blockchain and can still receive funds, but the gateway's order management layer no longer associates new arrivals at that address with an open order.
This technical detail creates the 'late payment' edge case: a customer who sends a transaction after invoice expiry will have their payment arrive at a valid address, but the gateway will not automatically credit it to their order. Most gateways have a recovery process — an internal monitoring queue that flags transactions arriving at recently-expired addresses — but resolution requires manual intervention from the gateway's or merchant's operations team.
Network-Specific Expiry Considerations
|
Network |
Typical Block Time |
Recommended Expiry Window |
Risk Without Adequate Window |
|
Bitcoin (BTC) |
~10 min |
20–30 minutes |
Customer's transaction may not confirm before expiry |
|
Ethereum (ETH) |
~12 seconds |
15 minutes |
Low risk; usually confirms well within window |
|
Tron (TRC-20) |
~3 seconds |
10 minutes |
Very low risk; nearly instant confirmation |
|
Solana (SOL) |
~0.4 seconds |
10 minutes |
Near-zero risk; confirmation in < 1 second |
|
Lightning Network |
< 1 second |
10 minutes |
Essentially zero confirmation risk |
Bitcoin's 10-minute average block time is the primary reason for longer expiry windows. If a customer sends a Bitcoin payment just as a new block is confirmed, their transaction may wait up to 10 minutes before the next block. With a 10-minute expiry window, this creates a real risk of the invoice expiring before the transaction's first confirmation. A 20–30 minute window provides sufficient buffer for the common case while limiting the price lock exposure duration.
How Merchants Should Communicate Expiry to Customers
Payment expiry is a concept with no direct parallel in card or bank transfer payments — customers encountering a crypto checkout for the first time often do not understand why their payment page shows a countdown timer or why they received an 'invoice expired' message. Clear, proactive communication reduces abandonment and support tickets.
Merchants should display the countdown timer prominently at checkout, include a plain-language explanation such as 'the crypto amount is locked for 20 minutes to protect you from price changes — please send your payment before the timer expires,' and provide a visible option to generate a new invoice if the timer expires. Gateways that allow invoice regeneration from the same checkout session — without requiring the customer to restart the checkout flow — significantly reduce friction from expiry events.
Compliance Note: This glossary entry is provided for general educational purposes only and does not constitute financial, investment, legal, or tax advice. Industry terminology may vary across jurisdictions and providers; definitions herein may not directly reflect the specific features, terms, or specifications of Finassets' services. For details on Finassets' offerings, please refer to official product documentation or contact our team directly.