One Swap, Several Prices: Spot Price, Quoted Price, Minimum Output, Final Output Why a swap you thought was "one number" is actually four, and what happens if you only ever look at one of the
One Swap, Several Prices: Spot Price, Quoted Price, Minimum Output, Final Output
Why a swap you thought was "one number" is actually four, and what happens if you only ever look at one of them.
The first time someone shows you a swap screen, it looks like it's telling you one thing: you put in X, you get Y. Clean, simple, one number in, one number out. Took me embarrassingly long to notice that isn't really what's happening β there are actually four different prices involved in even the most boring, uneventful swap, and most of them exist specifically because the other three aren't reliable on their own.
None of this is STON.fi-specific, to be clear. Every AMM on every chain works this way. But nobody walks you through it up front, so people build an intuition for "the price" as a single fixed thing, and then get confused the first time the number they end up with doesn't match the number they saw two seconds earlier.
I used to think slippage settings were a nuisance the interface made me deal with. Now I think of them as the only honest part of the whole screen.
Spot price is the simplest of the four, and also the least useful to actually act on. It's just the current ratio of the two assets sitting in the pool at this exact instant β divide one reserve by the other, that's your spot price. No fees factored in, no size of your trade factored in, nothing about what's about to happen. Just: here's what the pool currently thinks these two things are worth relative to each other.
The problem is that spot price describes a pool that isn't moving. The moment you actually submit a trade of any real size, you change that ratio yourself, which means the spot price you saw a second ago is already slightly wrong by the time your trade lands. It's less "the price" and more "the price if nothing happens next" β and something always happens next, because you're the something.
This is the number that actually shows up on your screen before you confirm anything, and it's already doing more work than spot price. A quote factors in your trade size, the fee, and the pool's current depth to estimate what you'll actually receive β not what the pool theoretically holds, but what you'd walk away with if this exact trade executed right now.
Here's the part that took me a while to internalize: a quote is a prediction, not a guarantee. Between the moment it's generated and the moment your transaction actually confirms on-chain, other trades can happen. Someone else's swap lands first, the pool shifts, and your quote β accurate when it was made β is now describing a pool that no longer exists in quite that shape.
A quote reflects conditions at the moment it was calculated, not the moment you sign
Larger trades against thinner pools produce quotes that age faster, because they're more sensitive to any change
Waiting too long before confirming makes an old quote genuinely stale, not just theoretically outdated
A quote is basically someone telling you "the bus should arrive in four minutes." Usually right. Not a promise.
Minimum output is the one people set once, during onboarding, and then never think about again β which is a shame, because it's doing more for you than either of the first two numbers. This is the floor you're willing to accept. If the trade would settle for less than this, the whole thing fails outright rather than quietly executing at a worse price than you agreed to.
It's derived from your slippage tolerance applied to the quoted price β set a 1% tolerance, and your minimum output sits 1% below what the quote showed you. Too tight, and normal, harmless price movement causes constant failed transactions for no real reason. Too loose, and you've effectively removed the protection this number exists to provide, especially dangerous on thinner pools where a lot of room can get eaten by one bad trade landing ahead of yours.
I think this is genuinely the most underrated number on the whole screen. Spot price and quoted price are both about prediction. This one is about consequence β it's the actual line you've drawn and said "not below this."
And then there's the number that matters more than the other three combined, because it's the only one that's real rather than estimated: what actually arrives in your wallet once the transaction settles on-chain. Everything before this point was forecasting. This is the receipt.
Most of the time, final output sits close to the quoted price, especially on deep, liquid pools where your trade barely moves anything. But "close to" isn't "identical to," and the gap between quote and final output is exactly the space where price impact, other trades landing first, and general pool movement all show up. If the gap gets too wide, that's not a bug β that's your minimum output doing exactly its job and rejecting the trade instead of letting it through at a price you never agreed to.
Honestly, the only number I actually trust completely is the one that shows up after confirmation. Everything before that is a well-informed guess, and I've made peace with that.
Laid out separately, these four numbers can look like unnecessary complexity for something that should just be "swap A for B." But each one is solving a specific problem the others can't:
Spot price tells you the pool's baseline, with zero assumptions about your trade
Quoted price tells you a realistic estimate, accounting for your specific trade size and fees
Minimum output tells you the worst outcome you're willing to accept before you'd rather the trade simply fail
Final output tells you what actually happened, no estimation involved
Strip out any one of these and something breaks. Without spot price, you'd have no baseline to sanity-check anything against. Without a quote, you'd be swapping blind. Without a minimum output, you'd have zero protection against a quote going stale between generation and execution. And without checking final output, you'd never actually know whether the first three numbers did their job.
The habit worth building isn't "understand all four in theory." It's "glance at all four in practice" β check the quote before confirming, actually look at your slippage setting instead of leaving it on default forever, and compare final output against what you expected once it lands. Takes maybe ten extra seconds. Genuinely changes how many surprises you get.
Why is my final output different from the quoted price? Some difference is normal β a quote is an estimate based on conditions at the moment it was generated, and other trades can shift the pool before yours confirms. As long as the final output stays above your minimum output, the trade executed within the range you accepted.
What's the difference between spot price and quoted price? Spot price is the pool's current raw ratio with no fees or trade size factored in. Quoted price accounts for your specific trade size and fees to estimate what you'd actually receive right now.
How is minimum output calculated? It's derived from your slippage tolerance applied to the quoted price β a 1% tolerance sets your minimum output 1% below the quoted amount, and the trade fails if it can't settle at or above that floor.
Should I set my slippage tolerance as low as possible? Not necessarily. Too low causes frequent failed transactions during normal price movement, especially on volatile or thin pools. The goal is matching tolerance to the pair's actual volatility, not minimizing the number blindly.