monero.loveA little love for the network.

Monero glossary / Wallets and keys

Transaction unlock time: when an output becomes spendable

Rules determining when an output may be spent. Ordinary received outputs have a 10-block spendable age, while miner outputs have a 60-block maturity rule in the reviewed stable code.

Also called: locked balance, unlocked balance, maturity.

Confirmed is not always spendable

A wallet can recognize an incoming payment after it enters a block while still excluding it from unlocked balance. The reviewed stable rules require an ordinary received output to reach a spendable age of 10 blocks.

Miner outputs have a separate 60-block maturity rule. The wallet also considers explicit transaction unlock conditions. Having enough total balance therefore does not guarantee that enough eligible outputs are available for a new payment.

References: Monero source: cryptonote_config.h · Monero source: cryptonote_core/blockchain.cpp · Monero source: wallet/wallet2.cpp

A payment arriving before you spend again

Suppose a wallet receives a payment and immediately tries to send some of it onward. The incoming output may be confirmed but locked. The wallet must wait until the applicable conditions are met before using that output.

Change from an outgoing transaction is also a newly created output. If the wallet has no other unlocked outputs, it can temporarily show a lower unlocked balance even though the change belongs to the same owner.

References: Monero source: wallet/wallet2.cpp · Monero source: cryptonote_config.h

The explicit unlock_time field

The transaction unlock_time field can add a block-height or timestamp condition. In the reviewed implementation, values below 500,000,000 are interpreted as block indices and larger values as timestamps, with protocol-specific allowance rules.

A zero value does not waive the normal spendable-age rule. Explicit unlock conditions and ordinary age checks are separate checks in the wallet and validation logic. Avoid inferring one from the other.

References: Monero source: wallet/wallet2.cpp · Monero source: cryptonote_config.h · Monero source: cryptonote_core/blockchain.cpp

Block intervals and countdown estimates

Monero's target block interval is 120 seconds, but actual blocks do not arrive on an exact schedule. Multiplying a block count by two minutes produces an estimate, not a promise of when the wallet can spend.

Confirmation displays and block-height boundary conventions can also differ. Use the wallet's unlocked status and confirm its node is current rather than treating a rounded timer as the consensus rule.

References: Monero source: cryptonote_config.h · Monero source: wallet/wallet2.cpp

Related glossary terms

Practical guides

Technical baseline: v0.18.5.4. Reviewed 2026-11-08 UTC.

Find Unlock time and spendable age in the A-Z glossary

Support Monero Love

Help keep the public nodes and packages running. Send any amount of XMR.

Scan with a Monero wallet to donate to Monero Love.89hGTKxRVA3AUeKAbCRBt5TMSzq3MQZooNNsezCpNFjp2oeJPRx8AJeGKA8ziHZNqab78f4Vr1ntxhPDxX5298nnGZjHkhm