Skip to main content

Why did my trade fill at a different price than the quote

The quote is the pool price at that instant; the fill is the pool price when the trade lands. How pools move, what price impact means, and when to ask us to check.

Written by Klutch

The price you see before you confirm a trade is an estimate of what the pool will give you at that moment. The trade settles on chain at the price the pool is at when it fills, and on some tokens those two can differ.

How a liquidity pool prices a trade

A pool works like a see-saw. The token sits on one side and the cash on the other, and the price is how tilted it is. Every buy takes tokens off one side and adds cash to the other, so each buy tilts it further and the next unit of cash buys fewer tokens.

A quote is the pool's price at the instant it is issued. If other trades land in the second between your quote and your fill, your order fills at the new price. On a pool with only a small amount of cash in it, your own order can move the price before it finishes filling.

Someone who bought a moment before you may have paid less because they arrived when the pool was level, not because their order was bigger.

The price impact estimate

Before you confirm, the app shows a price impact estimate. On the web app it sits beside the quote; in the app it is the Price impact row in the trade details, and it moves up beside the amount when it is large.

It measures how far your quote sits below the token's market price, which mostly comes from your order size against the pool's liquidity, so a high figure means an order of that size moves this pool right now.

When the figure is high the app asks you to confirm first, and when it is too high the trade is refused with Price impact too high. Quick trades fire without showing the estimate first.

Your slippage setting is the most price movement you accept before the trade fails instead of filling. How it works is in https://help.fomo.family/en/articles/17831977-slippage-settings.

Pools that hide a fee

Some liquidity pools advertise no fee to the systems that route trades and then take a large cut once an order lands there. That is why a fill can come in below the quote with no visible fee on the trade.

If you think this happened on one of your trades, contact support from inside the app with the token and roughly when you traded, and we will check what your order actually crossed on chain.

Checking what happened

The transaction on the block explorer is the record of what the pool was when your trade filled. Finding it is covered in https://help.fomo.family/en/articles/14468718-how-to-find-a-transaction-hash.

Did this answer your question?