Set a Swap Limit When an Oracle Check Is Missing
When a swap has no oracle check, set a minimum output from the live quote, then tighten it for price movement without confusing tolerance with fair value.
Crypto Daybook Newsroom3 min read
When a swap has no oracle check, set a minimum output you would accept and make the transaction fail below it. An oracle is a service that supplies outside data, such as market prices, to a smart contract. Without a price check, the swap may rely on the trading pool’s own balances to set its rate. Your limit can restrict how much the transaction delivers, but it cannot tell you whether the quoted rate is fair.
What does a swap limit protect?
A swap limit sets the lowest amount of the output token you will accept for a given input. On many swaps, this is called “minimum received” or “slippage tolerance.” Slippage is the change in a quoted price before the trade executes. If the final output falls below the minimum, a contract that enforces this limit should reject the swap.
That protects against a worse execution than you allowed. It does not protect against a bad starting quote. A thin or manipulated pool can show an unfavorable rate before you approve anything, and a generous limit can let the trade go through at that rate. Compare the quote with another reliable market reference where possible, especially for a large trade or a token with little liquidity.
How do you calculate the minimum output?
Start with the output shown in the quote, then subtract the largest loss you are willing to accept from price movement. For example, if a swap quotes 2,000 USDC and you choose a 1% tolerance, the minimum is 1,980 USDC. The transaction can execute at 1,980 or more, but should fail below that amount if the contract checks the minimum.
Use the exact token amounts the swap screen shows. A quoted output may already account for pool fees, while network fees are often paid separately in the chain’s native token. Those costs affect the value of the trade even if they do not change the minimum output. For a breakdown of how those charges fit together on a Chainflip swap, see the chainflip explainer.
A tighter limit means less room for the price to move, but also a greater chance the transaction fails during a fast market or a busy block. A wider limit is more likely to let the swap complete, while allowing you to receive less. Choose a limit based on the trade, not just on what makes the transaction succeed.
What should you check before confirming?
Check that the quote and limit refer to the same input and output tokens, and review the displayed minimum amount before signing. Then consider whether the quoted rate makes sense for the trade size. Larger trades can move a pool’s price further because they change the balance of tokens available to other traders.
- Confirm the token addresses and network; similar token names can refer to different assets.
- Check the quoted output and the minimum output, not only the tolerance percentage.
- Review any separate protocol, pool, or network fees shown by the swap interface.
- If the quote looks poor or the minimum is lower than you would accept, cancel and get a fresh quote.
Keep the minimum at the amount you are actually willing to receive. It is an execution boundary, not a price guarantee: when there is no oracle check, the contract can enforce your floor without confirming that the trade began at a fair market rate.