Investigating a Failed Transaction
In this example we will showcase how to investigate a failed transaction on the example of Furucombo - a platform for easy optimization of DeFi investment strategies.
By visualizing complex DeFi protocols as cubes and allowing the user to define the inputs and outputs, Furucombo is able to bundle all of the user transactions i.e. cubes into one and send it out.
Because the transactions are bundled in this way, it is even more important to be able to see what happened in each and every step and solve issues quickly.
The user wanted to repay the DAI debt on AAVE, but only had WMATIC at hand - check out the Decombo breakdown here to see what actions does this transaction include.
By searching the transaction hash on Tenderly we can see everything that happened with it, as well as deep dive in order to find the breaking point:

The transaction failed at the
repay
step (screenshots below), as the repay amount should've been 180.80 DAI, but there is only 180.6658 DAI available after the swap in the first step.As a way to avoid these issues in the future, we could lower the amount between
swap
and repay
steps to allow for price slippage (~0.3%). Alternatively, by using the previous output
feature when inputing the amount for the second cube we will ensure sending the exact and expected amount from the first cube.You can comment and prioritize any trace you want, either for yourself or to make collaboration in the project easier. You can read more about it here.
The transaction failed at the
check slippage
step, which is the final step when executing a Furucombo transaction.Lowering the amount between steps in order to allow for price slippage (~0.3%) when the
previous output
feature is not applicable.Last modified 1yr ago