Using bitcoinj, my server created a transaction and it was broadcasted on the blockchain. I can get its history using: walletAppKit.wallet().getTransaction(txHash)

It is in Pending state.

Then I stopped my server before the transaction get confirmed.

Then I started the server again, and I was still getting Pending status when calling walletAppKit.wallet().getTransaction(txHash), although the status is well confirmed on explorer like https://live.blockcypher.com/

I understand that when server was down, there was no more listener for change events on that wallet/transaction. But the question is how make my wallet aware again about the new change of my transaction status after my server restart?

(I am on TestNet by the way)

3 Answers 3


Try synchronizing your wallet again, you can delete the file .spvchain


It seems you are most likely not connected to enough peers to download the chain since you last synced. Sometimes in bitcoinj peer discovery takes a while. I recommend giving it a few more tries.


Ensure that your WalletAppKit is resyncing with the network after the server restarts. After the wallet is back online, you can explicitly query the transaction status using the transaction hash.
Review the logs from your WalletAppKit for any messages related to syncing and transaction events. And ensure that your server has a stable and active connection to the TestNet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.