Today I tried the “Limit Order” functionality in the 1inch App for the first time.
My goal was to sell the GALA in my wallet for USDT when the price of GALA fell below $0.045.
However, the actual result on the chain was:
When the current price of GALA was $0.053, all of my GALA was immediately sold for USDT at a price of $0.045.
In my personal opinion, there is a problem with the logic of this limit order. Let’s consider the following scenario:
The current price of GALA is $0.053, and I want to sell my GALA for USDT by setting a limit order that triggers when the price of GALA falls below $0.045. There are three possible outcomes:
A: If the price of GALA does not fall below $0.045 before the Expires time set for the limit order, the limit order will not trigger;
B: If the market price of GALA ($0.053) is higher than the limit order price ($0.045), the limit order will trigger and be executed at the market price ($0.053);
C: If the market price of GALA ($0.053) is higher than the limit order price ($0.045), the limit order will trigger and be executed at the limit order price ($0.045);
The actual user requirement is scenario A, but the current execution logic of the limit order in the 1inch APP is scenario C, while centralized exchanges such as Binance execute according to scenario B.
Obviously, scenario C results in the greatest loss for the user and can cause significant asset loss.
Conclusion:
I believe there is a problem with the execution logic of the limit order in the 1inch APP and that it would be beneficial for users if it could be corrected or optimized.