Skip to content

Monero transaction confirmations stay at 0 until manual restart #3110

@phrontizo

Description

@phrontizo

Description

Transaction confirmations can get stuck at 0 in Cake Wallet even when the connected node has fully confirmed the transaction. Both mobile and desktop are affected. Restarting the wallet or triggering a manual resync fixes it.

Steps to reproduce

  1. Send a Monero transaction using Cake Wallet connected to a personal full node
  2. Transaction appears with 0 confirmations
  3. Wait for the transaction to be mined and confirmed (verified via direct RPC query to the node — 16 confirmations)
  4. Cake Wallet still shows 0 confirmations on both sender and receiver wallets
  5. Restart the wallet → confirmations update correctly

Environment

  • Cake Wallet (both mobile and desktop, latest versions)
  • Connected to a personal monerod node (v0.18.4.6, fully synced, healthy)
  • Node verified serving correct data: direct RPC call to get_transactions returned "confirmations": 16, "in_pool": false, "block_height": 3633552

Analysis

The confirmation count in Cake is a snapshot value set when updateTransactions() runs, stored as a property on MoneroTransactionInfo. It's only refreshed when:

  1. A new block arrives and the SyncListener detects a height change
  2. onNewTransaction fires (which, due to a separate bug in monero_c, is tied to the refresh cycle rather than actual new transactions)

If the daemon connection is interrupted or the wallet is backgrounded and the listener state becomes stale, confirmations freeze. The _lastKnownBlockHeight == syncHeight early-return in SyncListener prevents updateTransactions() from firing until a height change is detected, but if the cached height matches the current height on reconnect, no update is triggered.

Additionally, there's no mechanism to re-query confirmation state for transactions already in the local transaction history. Once a MoneroTransactionInfo object is created with confirmations: 0, it persists until the entire transaction list is rebuilt.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions