Guide

Litecoin Core cannot find a confirmed transaction. Try its block hash

Our node returned an error for a confirmed Litecoin TXID. The block hash recovered the same transaction bytes without enabling a transaction index.

Magnifying glass over a glowing block containing a Litecoin symbol

AI-generated editorial illustration of looking for a Litecoin transaction inside a known block.

On this page

Dotted-underlined terms open a quick definition. Close it to keep reading.

Our had already mined a payment when it started answering No such mempool transaction. The transaction was in its latest . Its 1 LTC output was still unspent. The same lookup that worked seconds earlier had lost access to the transaction because moved it out of the , and the node had no transaction index.

We added the containing block’s hash to the RPC call. Litecoin Core returned the original transaction bytes and one . If you already have the right block hash, this is the quickest check to try before changing your node configuration.

When you have a TXID and block hash

Run these read-only commands against your own Litecoin Core node. Replace TXID and BLOCKHASH with the actual 64-character hexadecimal identifiers.

litecoin-cli getblockheader BLOCKHASH
litecoin-cli getrawtransaction TXID true BLOCKHASH

The first call tells you whether the node knows that header. Check its height and confirmations. The second call tells Core exactly which block to read and returns decoded transaction details because true requests verbose output. Check the returned txid, blockhash, and in_active_chain. That last field appears in the verbose response when you supply a block hash. If the block is stale, its bytes may still be readable while in_active_chain is false. A matching transaction in a stale block is historical evidence. Look up its current status separately. See the same TXID move between blocks in our reorg test.

If your receipt gives only a , litecoin-cli getblockhash 1234567 returns your node’s current active-chain hash at that height. Substitute the actual height and treat the result as a candidate to verify. A block at that height can change after a reorg. A receipt or explorer can supply a candidate hash, and your own node can check it. When the lookup succeeds, inspect vout for the expected recipient and amount before marking an invoice paid.

One transaction, four successful ways to find it

On November 6, 2026, we ran Litecoin Core 0.21.5.8 on an isolated Windows regtest node. We mined 101 blocks and made one transparent 1 LTC self-payment from a disposable to a fresh in that wallet. We also created a separate wallet with no involvement in the payment. The node kept every block and started with txindex=0.

Observed results for the same regtest TXID
QueryWhat Core returned
Bare transaction lookup before miningFound in the local mempool.
Bare transaction lookup after mining block 102RPC -5. A separate mempool query showed that the transaction had left.
Lookup with the hash of block 102Identical transaction bytes, one confirmation, in_active_chain: true.
Lookup with the hash of block 101RPC -5. That known block did not contain the TXID.
Lookup with an unknown block hashRPC -5. The node did not recognize the block hash.
Wallet lookup from each walletThe involved wallet reported one confirmation. The unrelated wallet returned RPC -5.
Bare transaction lookup with a synced indexIdentical bytes and one confirmation, with wallet support disabled.

Between the failed bare lookup and the successful block-hash lookup, the payment stayed in the same active block. A separate gettxout call still found its 1 LTC output with one confirmation. That call looks for an unspent output at a particular TXID:vout. It answers a different question from fetching the whole historical transaction. See what a null result from gettxout tells you.

We then restarted the same datadir with txindex=1 and wallet support disabled. When getindexinfo reported the index synced at height 102, the bare call worked again. We mined no additional blocks between the two lookups. The result demonstrates that the index can restore this lookup path on an unpruned node with the block data already on disk. Mainnet indexing time was outside the test’s scope.

When you have only a TXID

litecoin-cli getblockchaininfo
litecoin-cli getindexinfo txindex
litecoin-cli getrawtransaction TXID true
litecoin-cli -rpcwallet="WALLET" gettransaction TXID
  1. Check the node first. In getblockchaininfo, confirm the expected network and check initialblockdownload for sync status. If you know the payment’s reported height, compare it with blocks, the node’s current validated height. Check pruned for block storage mode.
  2. Read the error text as well as the code. In this run, -5 covered an unindexed bare query, a known block with no matching transaction, an unknown block hash, and an unrelated wallet. An empty getindexinfo txindex result means the node reports no running transaction index. With synced: false, check the index’s progress before relying on bare historical lookups. Even a synced node’s miss describes its own lookup result at that time.
  3. Ask the wallet that handled the payment. Use the name of the loaded wallet in -rpcwallet. Its gettransaction can report the wallet’s own transaction even when the node has no transaction index. A wallet that never recorded the payment can return an error for that same .
  4. If your node has the header but lacks the block body, check another source for the bytes. In Core 0.21.5.8, a block-hash lookup requires the block data to be available locally. A can still know the header of an old block after deleting its body. Try an unpruned node you trust if you need the transaction bytes. This Core version rejects combining pruning and txindex. Our experiment used retained block data throughout. Read the full-node setup guide.

For a one-off check, record the TXID, block hash and output number once you’ve verified the recipient and amount. A synced transaction index is useful when you routinely receive historical TXIDs without block hashes. If a bare lookup fails during a payment investigation, keep the payment unresolved while you verify it. Creating a fresh payment can produce a separate transfer.

Reproduce the lookup

Download the test results and 25 RPC records, Python runner, source and binary provenance, and file checksums. The runner makes 20 assertions, including the match between transaction bytes before mining, after mining and after the index syncs. It uses a new temporary regtest datadir and loopback RPC, with freshly generated keys and blocks on each run. The recorded run covers one transparent test payment on an unpruned node. MWEB and live pruning were outside its scope.

The primary sources cover the Core transaction lookup and errors, the index status RPC, and pruning and index settings.

Research and drafting used AI assistance. The source links and downloadable records identify the checks performed.

Method and data

Downloadable data or code · Controlled wallet / regtest.

Content review recorded: 2026-11-06. The review record does not identify a separate independent reviewer. An edited date above records an edit, not a new fact-check. AI-assisted editing or new artwork alone does not complete a source review.

Next scheduled review: 2026-12-06.

Sources saved with the review:

Research records

  • Controlled wallet / regtest · 2026-11-06.1 · Core 0.21.5.8 Windows regtest

    One fresh unpruned Core 0.21.5.8 Windows regtest run with one ordinary transparent payment, 25 RPC records and 20 assertions. The same chain was restarted with txindex enabled and the wallet disabled. No live pruning, MWEB or indexing speed test.

    The bare TXID lookup returned error -5 after the payment left the mempool, while its block hash recovered the same bytes. The wallet and unspent-output lookups answered their own queries. After txindex synced, a wallet-disabled node returned the same bytes without the block hash.

    Method & reproduction · Download data / results · Versioned citation

Report dates identify the evidence cutoff or release. Recalculating an export checks its arithmetic; a model is not an observed outcome.

See the article body for source links and any downloadable materials. Editorial method · Corrections · Report an issue

Jarosław Wasiński
Editor-in-chief · Financial markets and Litecoin education

Editor-in-chief of Litecoin.watch and founder of MyBank.pl. His published work covers foreign exchange, financial education and Litecoin. On Litecoin.watch, his remit includes editorial direction, source transparency and the practical guides and research published by the site.

Background, selected work and editorial responsibility →

Founder of MyBank.plFinancial education and market analysisNamed editorial responsibility