I'm developing an application with which you can make ERC20 token transfers. When you make transfers from one account to another with a reasonable time between transfers it works correctly.
But when you make many transfers in a very short period of time from one account to another, like making 100 transfers one after another.
To make the transfers I am using the web3j library with version 4.5.15 and connects to the blockchain through Infura.
Why does this happen, and how can I fix it?
I leave you the code where the transfers are executed:
StaticGasProvider staticGasProvider = new StaticGasProvider(gasPrice, gasLimit);
TransactionManager transactionManager = new FastRawTransactionManager(web3j, "my_credentials", new NoOpProcessor(web3j));
ERC20 tokenContract = ERC20.load("token_address", web3j, transactionManager, staticGasProvider);
TransactionReceipt transactionReceipt = tokenContract.transfer("to_address", "amount").send();
Thanks for your help.
Regards