I sent a transaction a few hours ago but it's still Pending (as indicated by the History page of the GUI). How do I resolve this?

up vote 3 down vote accepted

First of all, if you're using the CLI, see this Q&A:

Transaction stuck as "pending" in monero-wallet-cli


It's important to make sure you're running the latest version (v0.11.1.0 at the time of writing). You can check the version # on the Settings page of the GUI (under Debug info). If you're not running v0.11.1.0, please upgrade first:

How do I upgrade my software to v0.11.1.0?


The following assumes you're using a local node

A transaction being stuck on Pending is typically caused by the local daemon being out of sync with the network. To verify that you're fully synced, perform the following steps:

[1] Go to the Settings page of the GUI.

[2] Press Show status. A window will popup with an output. The output looks like:

Height: 1456425/1456425 (100.0%) on mainnet, not mining, net hash 290.20 MH/s, v6, up to date, x(out)+x(in) connections, uptime xd xh xm xs
Height: 1456428/1456428 (100.0%) on mainnet, not mining, net hash 289.91 MH/s, v6, up to date, x(out)+x(in) connections, uptime xd xh xm xs
Height: 1456429/1456429 (100.0%) on mainnet, not mining, net hash 291.20 MH/s, v6, up to date, x(out)+x(in) connections, uptime xd xh xm xs
Height: 1456444/1456444 (100.0%) on mainnet, not mining, net hash 290.77 MH/s, v6, up to date, x(out)+x(in) connections, uptime xd xh xm xs

[3] Now to verify that you're actually fully synced, compare the first number (of Height:) to the height displayed on a blockchain explorer like, for instance, XMRchain. You're fully synced if your height matches the height displayed on a block explorer.

[4] If the GUI is stating that you're fully synced (100.0%), but your height doesn't match the height displayed on a block explorer (and is off by a large number), it is erroneously reporting that you're fully synced. This is, fortunately, easily resolved as follows. First, exit the GUI and make sure to stop the daemon as well. Second, restart the GUI + daemon. Third, use Show status to verify that it's now correctly displaying the top height.


Once you've verified that you're fully synced, we can resolve the issue as follows:

[1] Go to the History page of the GUI and copy your transaction hash / ID.

[2] Use multiple block explorers (for instance, XMRchain, MoneroBase, or MoneroBlocks) to confirm that your transaction isn't present in either the mempool or the blockchain.

[3a] If it's present in the mempool, simply wait until it gets mined.

[3b] If it's present in the blockchain (i.e. mined already), but is still stuck on Pending, perform the following steps. First, exit the GUI and make sure to stop the daemon as well. Second, restart the GUI + daemon. Lastly, let it run until it says Connected in the left bottom. This should resolve your issue.

[4] If it's not present in the blockchain, again go to the History page and copy the transaction hash / ID.

[5] Now exit the GUI and stop the daemon as well.

[6] Browse to the directory monerod is located (On Windows & Linux it's the same directory as monero-wallet-gui, whereas on Mac OS X it's -> ~/Applications/monero-wallet-gui.app/Contents/MacOS).

[7] Open monerod by double clicking on it (Windows & Mac OS X) or start it from the terminal (note that the terminal has to be in the same directory as monerod) with ./monerod (Linux).

[8] Type status to again verify that you're fully synced.

[9] Type -> relay_tx <txid>

[10] As an example, let's say your transaction hash / ID is 4d0f32b7b1c371f1807f4bd6552362cc5b3d61b68b8f8407bb93193f9b1b0273 (randomly taken from the blockchain), you type -> relay_tx 4d0f32b7b1c371f1807f4bd6552362cc5b3d61b68b8f8407bb93193f9b1b0273

[11] Use one of the blockexplorers to check whether your transaction is in the mempool now (and thus will be mined soon).

[12] After it's mined, open the GUI.


If these steps don't work for you, try these:

[1] In monerod, type -> flush_txpool

Note that it doesn't return an output.

[2] Browse to the directory your wallet files are located (Documents\Monero on Windows | ~/Monero on Linux and Mac OS X)

[3] Rename <wallet-name> (the file without extension) to <wallet-name>-old

[4] Restart the GUI. It'll automatically connect to the monerod that is already running and do a wallet refresh from scratch.

You should now be able to send a new transaction. However, it could be that the "old" transaction hash / ID is still on the History page. You can safely ignore this.


The following assumes you're using a remote node

It is quite unlikely that a remote node is out of sync with the network. However, if, for some reason, it is and you used it to send a transaction (which got subsequently stuck on Pending), perform these steps to resolve your issue:

[1] Go to the Settings page and make sure to use a different remote node than the one you were using. A list of remote nodes can be found here:

https://moneroworld.com/#nodes

[2] Exit the GUI.

[3] Browse to the directory your wallet files are located (Documents\Monero on Windows | ~/Monero on Linux and Mac OS X)

[4] Rename <wallet-name> (the file without extension) to <wallet-name>-old

[5] Restart the GUI. Note that this will trigger a wallet refresh from scratch, which shouldn't take longer than 30 minutes.

You should now be able to send a new transaction. However, it could be that the "old" transaction hash / ID is still on the History page. You can safely ignore this.


If you, after all these steps, still aren't able to send out a transaction, it'd be best to either open a new issue the GUI repository or contact me on Reddit.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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