Transaction Failures
Establish the failed transaction rate for Osmosis over the last 4 months. Make a case for what is causing the failed transaction rate that you assess and provide recommendations to mitigate it.
Introduction
Let's first have a look at the common reasons why a transaction may fail as well as what community members have to say about it.
- Common Issues (Keplr)
- The transaction keeps failing
- There might be a lot of reasons why your transaction failed. Some common reasons are as follows:
- Your transaction may have been successful but because of network congestion, Keplr wasn’t able to reflect this in your extension/dashboard because of a timeout. Please make sure to check your address on a block explorer and wait 10 minutes at least before trying another transaction.
- You're trying to interact with the dashboard before having deposited the tokens. Set your Keplr extension on [osmosis] >go to Osmosis Dex > [Assets] > [Depsit] > follow the procedure to send your tokens..
- You're trying to perform transactions without owning any $OSMO: If this is the case, please choose [low] fees. This might require some time to process.
- IBC Transfer Timeouts (Community)
- It seems that due to upgrades, bad validators not relaying transactions, a spike in users as well as using too little gas, there has been an increase in failed transaction
More granularity
Let's look at some individual transactions.
- 834243E8A6F98308CBD189AEE873B8EC67835A842AB4CEA28B46B796B6EAECDE -
uosmo token is lesser than min amount: calculated amount is lesser than min amount
- 9F37D4EF749A67399FEBDD54A9EA5B48284C2F6F23A49FF42D1BD7236B4B2CB2 -
uosmo token is lesser than min amount: calculated amount is lesser than min amount
- 8239DF46985D4CB496BA12797B7DD758EBAE70071C664E28BD3F146E3E1160B6 -
uosmo token is lesser than min amount: calculated amount is lesser than min amount
- 7D51E5DFA9FF3453F1B76E9FB43D20E1455E9B6593166A7E8921AC5628C9B314 -
IBC/... (ATOM) token is lesser than min amount: calculated amount is lesser than min amount
- C7AB66C9D8044C3D2BE23DC551E521A3A4457A0CE0ABEF9FA0538253EC1D8A31 -
account sequence mismatch, expected 458119, got 458118: incorrect account sequence
For the first few it's either the fee is too low (0), or something else is wrong with the input->output of the transaction. I was not aware that you can make 0 fee transactions and even if you can (which I don't think you can) if you could the Gas used/wanted should be 0/0, not some other denomination. Maybe in this case this is why the transaction failed, as the user put in 0 OSMO
for the transaction and the module
was expecting some specific fee amount to be able to create the transaction, hence it failed.
For the last one, I am really not sure what the account sequence mismatch, expected VALUE1, got VALUE2: incorrect account sequence
message means.
It seems that the chain of transactions has failed due to some wrong value being passed from one TX
to the next. This could be a user error or a dApp
error. If it's the latter it should be investigated heavily and fixed if the OSMO
chain wants users to have a good experience using the dApps
available on the chain. I know that communities and especially chains help applications that are trying to launch/fix things on their chain, so hopefully, if it is the latter this will get fixed soon.
Personally with a 50% failure rate, even if my funds are safe and the transaction is reversed and there's no OSMO
lost in the transaction, I would find it hard finding myself going to that chain for DeFi applications. I know Osmosis
has just launched WETH
and WBTC
pools which may be very attractive to users, but if they are having this sort of experience, I do not see how it will be easy for the chain to ride this hype train without falling off-of it.
What we can is that since the launch of the chain there has been a significant amount of failed transactions compared to successful ones from 10-15% failed up to 40% in some cases.
With a current ~50-52% of Failed transactions, this definitely needs a more in-depth investigation, both to try to understand why the transactions are failing as well as to understand what type of interactions they are such that they can be fixed.
We can't really see that much from the msg_type
as coin_spent
, coin_received
and transfer
are essentially the same thing and tx
holds the rest of the interactions not shown here. For this reason, we need to look at Failed transactions by codespace
.
What we see here is that the majority of failed transactions come from users trying to use some gamm
-type contract and sine by users using the Osmosis
SDK.