Prices and guardrails
How the terminal reads a token's price from the chain, checks every route's minimum against it before signing, and which guardrails add a notice, a confirm or a refusal.
Every trade signs a minimum output, and Rhea, DCL or Plach refuses the swap if less would arrive. Before signing, the terminal checks that minimum against a price it read from the chain itself, not one the engine sent. The guardrails then decide what you see: a notice, a confirm, a red prompt or a refusal.
Reading a price from the chain
Section titled “Reading a price from the chain”The terminal reads a token’s market price from its pools on chain, never from the engine. A pool must be deep compared with the order to count.
Checking a route before it is signed
Section titled “Checking a route before it is signed”A route’s minimum is checked against your slippage and against that market price. A route outside that band isn’t offered.
At the click, a quote that has aged is quoted again. If the new terms are worse, nothing is signed and the toast says “The price moved since the quote. Nothing was sent.” Whatever is signed has a minimum no wider than the one you saw.
The trading account then checks the call on chain: the venue is on its allowlist, the swap pays out to the account itself, and the caps and the reserve hold (Trade execution).
The guardrails
Section titled “The guardrails”A confirm needs one more press, Enter, and Esc cancels. A red prompt names the loss in NEAR and can’t be confirmed with Enter.
- Your settings can only tighten the built-in checks. A rule of yours replaces a built-in check only when it is at least as strict.
- Token tax is shown and never blocks a trade from your device. Above 11%, the trading account refuses 24/7 buys of that token.
Before the button
Section titled “Before the button”Before the button can be pressed, the trade must fit your balance, keep the 0.05 NEAR reserve, and stay inside your per-trade and daily caps:
| Check | What the ticket says |
|---|---|
| Not enough of the token to sell | “Not enough tokens.” |
| The trade would leave less than the reserve | “Keeping 0.05 NEAR for fees.” |
| Over the per-trade cap | “Above your per-trade cap.” |
| Over the daily cap | “Above your daily cap.” |
| Over a token’s own holding cap | “This token caps how much one wallet may hold; this buy would go over it.” |
Prices behind 24/7 orders
Section titled “Prices behind 24/7 orders”A 24/7 order signs values that come from a price: a trailing stop’s high, or the entry of a plan the engine resolved for you. Before the terminal signs such a value, it reads the chain’s price and compares the engine’s price with it.
- Too far apart: “This token’s price doesn’t match the chain right now. Nothing was placed.”
- No pool answered: “Couldn’t check this token’s price on chain. Nothing was placed. Try again in a moment.”
Each order the engine sends back is compared with the one you asked for before it is armed or placed. If anything differs, nothing runs and the terminal says “The server returned a different order than requested; it was not armed.” 24/7 orders covers what the executor and the watcher check when the order fires.
Last verified 15 October 2026 against R4.