Infura query with mutiple nodes

I’ve been getting an issue where Infuera query returns inconsistent result for eth_getTransactionCount(address). It return first with 5, then 6, and then 5 again. In my speculation I think this is because of late-synchronized node, which hasn’t update the last transaction from my account yet, and return its current state (which is 5).

I wonder what is the structure behind Infura endpoint, is it return the earliest reply from any node or it will have to do a consensus between a list of its . node before returning a result?

Unfortunately this is possible and something we are actively working on addressing. We do not recommend using “latest” in block queries and rather using block hashes and a 1-3 block lag.