How to Check Transaction Nonce on Ethereum

How to check transaction nonce

✓ Top answer Community-sourced, written up by
How to Check Transaction Nonce on Ethereum

You can check a transaction nonce by looking up your address on Etherscan and viewing your pending or confirmed transactions. Etherscan is the primary tool users rely on for this, especially when dealing with stuck transactions.

To find your next nonce, locate your last successfully confirmed transaction on Etherscan and note its nonce. Most wallets and applications increment the last confirmed nonce by one for subsequent transactions.

Etherscan also shows all pending transactions associated with your address, including their nonces. If a transaction is stuck due to low gas, you can resend it with the same nonce and a higher gas fee.

Key steps

  1. Find last confirmed nonce Use Etherscan to locate your last successfully confirmed transaction and note its nonce.
  2. Predict next nonce Most wallets and applications increment the last confirmed nonce by one for subsequent transactions.
  3. View pending transactions Etherscan allows you to see all pending transactions associated with your address, including their nonces.
  4. Resend with higher gas If a transaction is stuck due to low gas, you might need to resend it with the same nonce and a higher gas fee.
  5. Use proxy contracts For numerous simultaneous token transfers, using a proxy contract can help manage nonces more effectively by submitting single transactions from multiple external addresses.
How to Check Transaction Nonce on Ethereum — infographic

Using Etherscan

Find last confirmed nonce: Use Etherscan to locate your last successfully confirmed transaction and note its nonce. "Use etherscan to find your last confirmed transaction and check the nonce of that transaction."
Predict next nonce: Most wallets and applications increment the last confirmed nonce by one for subsequent transactions. "They simply do last nonce + 1."
View pending transactions: Etherscan allows you to see all pending transactions associated with your address, including their nonces. "Just click on your account address. You can see all your 30+ pending transactions here"

Nonce Management for Stuck Transactions

Resending with higher gas: If a transaction is stuck due to low gas, you might need to resend it with the same nonce and a higher gas fee. "You need to manually change your nonce to 1 and replace your transaction with a higher gas fee, or plan to wait months and hope it goes through"
Wallets and nonce tracking: Some wallets, like MetaMask, keep track of your nonce, while others, like MyEtherWallet, might use the same nonce if you open a new page. "An application like Metamask would have kept track of your nonce and would end up with +2. If you opened a new page of a site like MyEtherWallet it probably used the same +1 again because it didn't know about the previous one."

Advanced Nonce Tracking

Manual tracking: For a high volume of concurrent transactions, some Users suggest manually tracking nonces, possibly with tools like Redis. "I guess I'll need to manually track the nonce with something like redis, rotate accounts, or queue transactions (or a combination of all)."
Proxy contracts: For numerous simultaneous token transfers, using a proxy contract can help manage nonces more effectively by submitting single transactions from multiple external addresses. "a good pattern, if the transactions are logically concurrent, rather than sequential, is to put them through a proxy contract."

Are you looking to check a nonce for a pending transaction or for general account activity?

Bottom line

Etherscan is the primary tool Users use to check transaction nonces for Ethereum transactions, especially when dealing with stuck or pending transactions.

Community answers 15

What others in the community said:

87% upvoted

This seems like a fairly major issue for developing server-side logic / an API that sends transactions that (I think) remains unresolved after nearly 3 years:

Does anyone have a decent solution for sending many transactions from the same address, potentially near concurrently? The best solutions in the thread are just finding ways to try and manually track it, which ultimately desynchronizes when something fails and there is a nonce gap.

73% upvoted

I did a send transaction for an ERC223 token, but when I searched the tx hash in etherscan it just gave me that message saying sorry it can't find it. I don't have a record of the transaction hash. I understand that if I resend the transaction with the same nonce and much higher gas it can go through; however I didn't note the nonce when I sent the original transaction. Is there a way to figure out what the nonce was? Otherwise it seems I could be waiting many days for the original transaction to go through. I tried to do another send transaction from the same address (different token) and of course it's stuck in limbo too. Would the nonce of my account have incremented by one after the first in-limbo transaction? Would it have incremented again with the second in-limbo transaction?

78% upvoted

Books and people are talking about that finding the nonce is very hard but checking it is very simple. But how do you actually check it?

If i look at the infomation of the most recent block, what steps do i have to do to actually determine for myself if the given nonce is correct or not?

You can make a good guess at which nonce was used.

The nonce is a sequential number and nearly every wallet, website or application checks your previous transactions to get your nonce. They simply do last nonce + 1.

Use etherscan to find your last confirmed transaction and check the nonce of that transaction. (Lets call that lastNonce).
Any transaction that you tried to send would likely have used lastNonce+1.

Your second attempted transaction could have either used lastNonce +1 or +2. An application like Metamask would have kept track of your nonce and would end up with +2. If you opened a new page of a site like MyEtherWallet it probably used the same +1 again because it didn't know about the previous one.

mycrypto just announced they've solved this (about time, kinda crazy they could leave it this long with so many failed transactions due to bad nonce tracking across different servers) and presumably theyre open source so go check out what they did.

we solved it at funfair a year or so ago, but we're not yet open source, so cant help you right now.

81% upvoted

For example I have this transaction which is pending because there are lower nonce transactions which were stuck. Is there a way to find out such information that the transaction is gonna pending due to another transaction? Etherscan API only tells me whether transaction is confirmed or not

Don't use eth_getTransactionCount. Sounds like you're completely managing the accounts, so perhaps you can internally track the nonce?

That said, you're still going to have to pay a lot of attention that these transactions are being broadcast and processed properly. Say nonce 23 isn't being broadcast on the network for whatever reason, nonce 24 is just going to sit there in the txpool until it's GCed.

And perhaps nonce >23 may even fail as out of order. Going by memory, I can't remember exactly where that comes into play. Maybe if a miner picks up a 24 before 23? Whatever, don't trust my word for it and test.

You'll also have to make sure you aren't going over an account's limit for the txpool of the node. I think go-ethereum defaults to 16 per account, but whoever is running the node can configure that to whatever. To be sure of this limit, you'll probably need to run your own node.

Right now my ledgers X and S works perfectly with MEW so I cannot replicate your problem. I have two suggestions that might help you though.

Try being in the ETH app on the ledger before opening mew

Try to slide the Windows pop. Up aside and ignoring it.

Just click on your account address. You can see all your 30+ pending transactions here

You need to manually change your nonce to 1 and replace your transaction with a higher gas fee, or plan to wait months and hope it goes through

Obviously I don't know your exact use-case, but a good pattern, if the transactions are logically concurrent, rather than sequential, is to put them through a proxy contract.

e.g. suppose you want to make 1000 token transfers.

  1. Create a proxy contract which holds the tokens you want to transfer.
  2. The proxy contract should have a function transferTokens which can be called by any of 1000 external addresses that you own.
  3. Submit a single transaction from each of the 1000 external addresses to call transferTokens on your proxy contract with the appropriate parameters.

You can make it more sophisticated by allowing any address to call the proxy contract provided it includes some signed data from an authorised address. The tricky thing with this approach is that you need to make sure your "executor" addresses have a small amount of ETH to pay for gas, but this is quite easy to automate as a one-off process (or something you repeat every now and again when the executors are running low on ETH).

So are you running the latest Eth app on the Ledger and latest firmware? This was an issue for a while there but had been resolved. Have you tried the MyCrypto desktop app?

46% upvoted

First of all, in a brief rant, I would like to point out that guy is an overconfident fool. My post listed very specific and unusual factors that applied to my issue, so I assume he may have not read it and thought I was making another "AAH! my transaction is stuck" post. But even that assumption already gives him the benefit of the doubt in that he even knew solution to the cliche problem, given that he failed to provide any suggestion of help to fix my issue.

Now, here are some links to previous posts that I made:

This is the first post I made, which was intended to be posted in this subreddit, but somehow it ended up in the bitcoin sub instead and I didn't realize until much later, and by that point the questions I asked in it were no longer relevant, so the next post was made from scratch.

This is the next post I made, which was successfully posted in this subreddit. It may be hard to see at first, but if you look closely, you might be able to tell that I was really stressed when I wrote it (/s). That said, it probably wasn't communicated as well as it could've been. (There was more than enough information for that guy to be a little less retarded about it though.)

(Yes, I used that word; I have high-functioning autism, which means I am clinically retarded, and as such I inherently have the "retarded pass". If you're mad at me just for saying that word, you need to go and reconstruct the methodologies you use to perceive right and wrong. (For example, imagine a white guy angrily criticizing a black guy for using the "N" word. That word never wasn't an insult, but still, you can't deny the irony!) Additionally, I think it's retarded to enforce non-use of a word that works perfectly fine, just because it can be used as an insult. Would you prefer "mentally underdeveloped"? I mean the same thing either way, and in both ways I still insulted the dude.)

"Please just use the word retarded; Anything else is just impractical and unnecessary."

-sincerely, a retard.

Finally, here is my current situation:

I have found the settings on how to select a transaction's nonce, both in MEW and MetaMask, also the Brave Browser's wallet, but that's really just an integration of MetaMask. The problem now, is that every time I try to connect my nano x to them, I then receive a popup from windows asking me to connect the key, which goes away by opening the Ethereum app on the nano, but it is then replaced with the text "touch your security key" which a request that the ledger doesn't have any way of doing. Usually, the popup will eventually disappear, so you have to press "connect wallet" to try again, but that just gives you the insatiable popups again. On rare occasion, the "Touch the Key" popup will flash for a few seconds, and actually connect, finally showing the account address selection screen (one of the times though, I couldn't select an account anyway, for some reason...), but even once you access the account, the popups will appear AGAIN and that will never work, because the only way you *might* get the flashing thing is if you clear any data you can think of that could possibly have something to do with the browser, which then might give you a 1/10 chance to create that glitch, which means the device will need to be reconnected.

I've been dealing with this crap for a week now, and I feel deader than I ever have inside except for maybe some really low periods in the years when I hadn't started taking any medicine for MDD. It's a different kind of dead this time, I guess because I'm not quite drowning in existential hopelessness this time.

That said, I would GREATLY appreciate it if anyone could help me solve the issue. I just need to be able to use the account. I don't have any room to care about the ether in the transaction anymore; I just simply want to be able to use the stupid thing. Ledger, can you PLEASE(PLEASE!!!********) include a nonce-configuration interface in the next update, PLEASE!!!!!!!!???!!!!!!!!???

For now, I just need something that will work. Does someone know of any "external wallet" or management tool that the Ledger Nano X should be able to connect to, relatively easily? Or is there a known solution?? Please, I just need to get on with my life...

Edit: I forgot to insert the links to my other posts... anyway they're functional now.

Solution: This string of responses found below

40% upvoted

I need to fix a low gas transaction. It is still pending on etherscan, I've tried both MEW and MetaMask, but both don't have a log for that transaction, and therefore there is no speed up or rebroadcast option. Ledger Live is the only thing that shows my pending transaction.

THREE DSHJL:FSGFHDSIKLJ: DAYS I'VE BEEN TRYING TO FIX THIS!!!!!!!! WHERE THE SFDGHJKLJG:HSD:LJHGFL:SDJNDL IS THE DSJFKLFHSK:G" OPTION TO RESEND THIS SDFHLF:SHGSOKLP:JF :H LEDGER??!?!??!?!??!?!?!!"?! YOUR SUPPORT ARTICLES ARE SO GDSIL:GFH S JES:HJFO:SUJGFOIL: HGFOSIH LIS JGFHSFLKJ:HG K:SJHJOIFSAEHIOGHV SS?LGFJPHJKIHSGKLI:SX" WSJ:OJFGESDOIFRGJ OI{JGOISLJ SD OLIGV:J":WSJGFOISPHYGFPJ:ZL USELESS, IT'S AS IF I ASKED YOU WHAT 2 + dfjdfkjla;g hghjraskl;fING 2 IS, AND YOU TOLD ME IT'S A MATH EQUATION!!!!!!!!!!!!!!!!

EdIt: GuEsS wHaT? I jUsT tRiEd SeNdInG aNoThEr TrAnSaCtIoN, iN hOpEs ThAt It MiGhT aCtUaLly RePlAcE tHe FiRsT oNe AuToMaTiCaLly. At FiRsT, It LoOkEd LiKe It Did, BeCaUsE lEdGeR lIvE rEpLaCeD tHe LoG oF tHe OlD oNe, BuT oNcE iT gOt To EtHeRsCaN, iT sHoWeD tHaT lEdGeR lIvE aCtUaLlY sEnT tHaT oNe On ThE nExT nOnCe!!!!!!!! NoW LeDgEr Is EvEn MoRe FhsahfioafhkD uP!!!!!! tHiS iS nOt NoNcE sEnSe, It'S nOnSeNsE!!!!!

### Advanced Nonce Tracking
- Manual tracking: For a high volume of concurrent transactions, some Users suggest manually tracking nonces, possibly with tools like Redis.
- Proxy contracts: For numerous simultaneous token transfers, using a proxy contract can help manage nonces more effectively by submitting single transactions from multiple external addresses.

Related questions

How do I find my last confirmed nonce?
Use Etherscan to locate your last successfully confirmed transaction and check the nonce of that transaction.
How do I predict my next transaction nonce?
Most wallets and applications increment the last confirmed nonce by one for subsequent transactions.
How can I see my pending transactions and their nonces?
Click on your account address on Etherscan to see all your pending transactions and their associated nonces.
What do I do if my transaction is stuck due to low gas?
You need to manually resend the transaction with the same nonce and a higher gas fee, or wait and hope it goes through.
Do all wallets track nonces the same way?
No, some wallets like MetaMask keep track of your nonce, while others like MyEtherWallet might use the same nonce if you open a new page.
How do I manage nonces for a high volume of concurrent transactions?
Some users suggest manually tracking nonces with tools like Redis, rotating accounts, or queuing transactions. You can also use a proxy contract for numerous simultaneous token transfers.

Replies (0)

No replies yet. Be the first to reply.