A terminal for concentrated liquidity.
RANGE is a workbench for providing liquidity on canonical Uniswap v3 pools: find a pool, pick a price range, deposit, and manage the position for its whole life. This page documents every feature in the product and then teaches the craft of LPing itself.
Overview#
RANGE sits on top of the canonical Uniswap v3 deployment of the chain it runs on. Nothing about your position is proprietary: every position you open is a standard Uniswap NFT, owned by your wallet, visible and manageable in any other Uniswap interface. RANGE adds the terminal around it.
- Non-custodial by construction. Deposits route through a small fee router that forwards funds to Uniswap inside the same transaction and refunds any leftover. It holds nothing between transactions, and withdrawals never touch it at all: they go straight to Uniswap.
- Simulated before signed. Every write is simulated against the chain first. If it would revert, your wallet never opens and you never pay gas for a failure.
- Priced live. Amounts, range previews, and withdraw bounds are computed from the pool's live price at the moment you act, not from a cached snapshot.
- Honest numbers. Projections are labeled as projections. Values that cannot be computed reliably render as a dash instead of a guess.
Getting started#
Connecting a wallet
The Connect Wallet button lists every wallet extension your browser announces (the EIP‑6963 standard), each with its own name and icon, deduplicated. If no wallet is installed you get install links instead of a spinner. Connecting shares your public address only.
If your wallet is on a different network, the address pill is replaced by a single switch button. One click puts you on the right chain.
Native ETH everywhere
Anywhere a pool has a wrapped native token side, RANGE lets you pay with native ETH directly: deposits, zaps, adding to a position, and swaps. Wrapping happens inside the transaction and leftover dust is refunded automatically. Closing a position can pay you back in native ETH too (Close to ETH).
Custom RPC
The gear icon opens the RPC settings. You can point the app's reads at your own RPC endpoint: Test verifies the endpoint actually serves the expected chain before you save, Save & reload applies it, Use default returns to the shared endpoint. The URL is stored only in your browser. An amber dot on the gear shows when a custom RPC is active.
Finding pools#
Trending feed
The home page opens on a trending feed sourced from a market data aggregator and re-verified on-chain: pool shape, live price, and reserves are read from the chain before a row is shown. The # column is the pool's rank in the aggregator's own ordering; gaps in the numbering are pools on other protocol versions that were filtered out, kept visible so the rank stays meaningful.
Browse and filter
The table filters client-side, instantly:
- Search over token symbols, pool address, and token addresses.
- Window toggle 1h / 6h / 24h switches the Volume, Fees, and Fee/TVL columns together (default 24h).
- Min TVL and a protocol toggle.
- Verified only, off by default. Trending lists are long-tail heavy; the badge is still shown per row either way.
Every column sorts. The default sort is Fee/TVL, because fees earned per dollar of liquidity is the number an LP actually eats. A dash in the volume columns means the pool has no indexed trade history yet; the row is still real and fully usable.
The verified badge
A pool shows ✓ verified only when both tokens are on the app's curated allowlist. Tokens whose metadata was resolved on-chain are never auto-verified: resolution only fixes the symbol and decimals, it says nothing about the token's quality. Direct address lookups always work regardless of verification, so you are never blocked from a pool you explicitly asked for.
Token lookup
Paste any token address into the search box and you land on that token's page: live price, 24h change, a reference chart labeled with the venue it comes from, and every market the token trades on. Pools on Uniswap v3 link straight into the workbench; markets on other protocol versions are listed for context but not routable. If the address you pasted is actually a pool, the app notices and redirects you to the pool page instead of dead-ending.
The pool page#
One screen holds everything about a pool: stats, chart, deposit workbench, your positions in it, and recent trades.
| Stat | Meaning |
|---|---|
| Price | Current pool price, quoted as token1 per token0. This is the axis every range is defined on. |
| TVL | USD value of the pool's token reserves, read on-chain. |
| Volume / Fees | Rolling trade volume and the fee income it generated (volume × fee tier). |
| Fee/TVL | Fees divided by TVL over the window: the pool's raw yield density. The single most useful column for comparing pools. |
| Tick spacing | The granularity of prices your range bounds can snap to. Set by the fee tier. |
| 24h change | Price move over 24 hours, signed and colored. |
If pool statistics are older than five minutes, a banner says so. Data is either fresh or labeled stale, never silently old.
Chart
Candles in six timeframes from 1m to 1d, denominated in the pool's own quote (token1 per token0), so the chart and your range speak the same units. Your selected range is drawn directly on the chart as a band, which makes an off-market range visually obvious before you deposit. When the pool itself has no trade history, the chart falls back to reconstructing candles from on-chain swaps, then to the token's most liquid venue elsewhere (labeled as such, with the range overlay hidden since units differ).
Recent swaps
The trades table is read straight from the chain in your browser: the pool's swap events over the last 2,000 blocks, newest first. Outflows from the pool render green, inflows red, each with a USD value and a relative timestamp. No third-party trade feed is involved.
Adding liquidity#
The workbench walks one decision at a time: range, then amounts, then deposit.
1 · Pick a range
- Presets including a symmetric ±25% band around the current price, tighter and wider options, and full range.
- Single-sided presets that place the whole band above or below the current price, for deposits of one token only (see range orders).
- Custom bounds, snapped to the pool's tick spacing.
As you adjust the range you see its capital efficiency (how many times more liquidity each dollar provides versus full range) and an estimated fee APR extrapolated from the pool's recent Fee/TVL over your chosen band. The estimate is labeled an estimate; volume moves.
2 · Enter amounts
Type either token and the other side auto-fills at the live pool price for your exact range. Out-of-range positions correctly require only one token. Changing the range clears the amounts, because a fill computed for a different range is stale by definition.
3 · Deposit
The deposit button runs a short transaction chain, each step skipped when it is not needed:
- Approvals, one per token, skipped when your existing allowance is already sufficient or you are paying native ETH.
- Simulation of the exact mint. If it would revert, the wallet never opens.
- Mint through the fee router, which skims the platform fee (disclosed on an amber line before you sign), forwards the rest to Uniswap, and sends the position NFT plus any refund straight to you.
Slippage tolerance is selectable (0.1% / 0.5% / 1.0%, default 0.5%) and deadlines are set 20 minutes ahead using the chain's own clock, so a wrong computer clock cannot expire your transaction.
The price drift guard
Right before your wallet opens, the app re-reads the live pool price and compares it with the price your amounts were computed against. If it moved more than 0.5%, the transaction is stopped and a banner reports the drift with an Accept new price button. Nothing proceeds on a moved market without your explicit ok.
Zap: one token in#
Zap takes a single token (or native ETH) and turns it into a two-sided position in one transaction: fee skim, swap a computed slice into the other token, mint into your range, refund the dust.
- The split is computed for your exact range. The app solves for the swap amount that makes the swap output plus your remainder match the token ratio your range needs at the live price. A band entirely above or below the price becomes a full swap or no swap, automatically.
- The swap leg shops for the best venue. Every fee tier of the v3 deployment plus the v2 pair are quoted in parallel; the largest output wins. The swap route is independent of the pool you are depositing into, so a deeper pool for the same pair gives you a better fill.
- Slippage is yours to set. Chips for Auto (0.5%) / 1% / 3% and a custom field clamped to 0.05–50%. The swap leg carries an on-chain minimum output; the same drift guard as regular deposits runs before signing.
- Dust comes back. Whatever the mint does not consume is refunded in the same transaction.
Managing positions#
The portfolio lists every open position as a card: pair, fee tier, ID, a live In range / Out of range indicator, a mini range bar with the current price marker, live token amounts, and unclaimed fees. Amounts are derived from the pool's exact live price, refreshed continuously, so what you see is what a withdrawal would actually return.
| Action | What it does |
|---|---|
| Collect | Claims this position's accrued fees to your wallet. Fee-free, straight to Uniswap. |
| Claim all fees | Collects from every position with fees owed in one signature (one batched multicall). |
| Remove | Slider from 1–100%. Removes that share of liquidity and pays it out plus fees, in one transaction. Withdraw minimums are set from a fresh price read at click time with a 1% bound. |
| Close | Removes 100%, collects everything, and burns the NFT, in one transaction. |
| Close to ETH | Same as Close, but the wrapped native side is unwrapped and paid out as native ETH. Shown when one side of the pool is the wrapped native token. |
| Add | Tops up the position. Typing one side auto-fills the other at the live price, and the pairing keeps tracking the price while the panel is open. Supports paying the wrapped side with native ETH (on by default when available). |
| Rebalance | Re-centers the position on the current price. Detailed below. |
| Close all | Exits the entire portfolio: 100% removal, collect, and burn for every open position, flattened into one signature. Guarded by an explicit confirmation that lists exactly what will close. |
Rebalance
When the price walks away from your band, Rebalance rebuilds the same range width centered on the current price:
- Withdraw & collect, fee-free. The full position plus accrued fees comes out directly via Uniswap. No platform fee on this leg.
- Approvals for the redeposit, skipped where allowances suffice.
- Re-mint centered. If the withdrawal came back as both tokens, they are re-deposited with the balanced portion used and any excess refunded. If the position was out of range, the withdrawal is one token only, so the app zaps instead: it swaps roughly half at the live price and mints, deploying your full capital rather than reverting on a lopsided ratio.
The modal shows the full cost breakdown before you start: estimated gas, the platform fee on the redeposit, the slippage bound per leg, and the exact redeposit amounts. The same drift guard applies to the re-mint, with an explicit Accept new price step if the market moved while the modal was open.
Positions on newer protocol versions
Positions from the next Uniswap version appear read-only: pair, range, live amounts, and a warning badge when the pool uses a custom hook contract. They are NFTs in your wallet, fully controllable through the official interface; in-app exits for them are planned.
PnL cards#
Share PnL renders a 1200×630 card with your position's deposit value, current value, and percentage PnL, ready to download and post.
- Cost basis is recorded, not invented. Positions minted through RANGE record their deposit value automatically at mint time. Positions minted elsewhere ask you to enter what you deposited; the app will not fabricate a number.
- Current value is priced honestly. The position is valued through its own pool against the pool's reliable quote side, then converted to USD once. Per-token price lookups are avoided because a thin token's global price can come from a shallow pool at the wrong tier and inflate the number. If a needed price is unavailable the card says so instead of guessing.
Swap#
A plain token swap with the same routing brain as the zap: every v3 fee tier and the v2 pair are quoted in parallel, the best output wins, and the route is shown (Uniswap v3 · 0.30% or Uniswap v2). Quotes refresh every few seconds while you look at them.
- Re-quoted at signing. When you hit Swap, the route is re-quoted fresh and the better of the two is used. The quote you saw acts as a floor, not a promise that decayed while you read it.
- Exact approvals. The approval step approves exactly your input amount, never unlimited.
- Native ETH both directions. Pay with ETH directly, or check the unwrap option to receive native ETH out.
- Slippage presets 0.5% / 1% / 3% back an on-chain minimum received.
- Any token. The picker offers the majors plus a paste-any-address field with on-chain symbol and decimals resolution.
Creating a pool#
If a token has no pool yet, RANGE can create one, permissionlessly, and seed it in the same flow.
- Pick the quote side from the app's two blue-chip quote assets (the wrapped native token or the network stablecoin), and a fee tier:
Tier Tick spacing Typical use 0.01% 1 Hard-pegged pairs 0.05% 10 Stable or highly correlated pairs 0.30% 60 Standard volatile pairs (default) 1.00% 200 Exotic, thin, or new tokens - Set the initial price against a live reference chart of where the token already trades. The input pre-fills from the reference market.
- Choose a range and seed it, depositing both tokens or zapping in one. The projected fee APR is explicitly labeled a projection from the token's current traded volume across venues.
Fees#
| Action | Platform fee | Notes |
|---|---|---|
| Deposit / mint | 0.10% | Skimmed from the deposited amounts, disclosed before signing |
| Zap | 0.10% | On the single input amount, before the swap |
| Add to a position | 0.10% | On the added amounts |
| Swap | 0.10% | On the input token |
| Collect fees | 0 | Straight to Uniswap, router untouched |
| Remove / Close / Close all | 0 | Straight to Uniswap, router untouched |
| Rebalance: withdraw leg | 0 | Only the redeposit leg pays the deposit fee |
The 0.10% default is a contract parameter with a hard cap of 0.50% compiled into the contract. No admin action can ever set the fee above that. The contract also supports per-address fee overrides and a token-holder exemption: holders of a designated token above a minimum balance pay zero deposit fees. Both are visible on-chain.
The router is deliberately boring: it pulls funds, skims the fee to the treasury, forwards the rest to Uniswap, and refunds anything left, all inside one transaction. It has no balance of its own between transactions, uses two-step ownership transfer, and emits an event for every fee charged.
Safety rails#
- Simulation gate. Every write is simulated first. A transaction that would revert costs you nothing and never reaches your wallet.
- Chain-time deadlines. All deadlines (20 minutes) derive from the chain's latest block timestamp, not your device clock. A laptop clock running minutes behind can no longer produce instant "transaction expired" failures.
- Slippage bounds everywhere. Deposits, withdrawals, swaps, and zaps all carry on-chain minimums derived from a fresh price read. Fee-adjusted, so the platform fee never silently tightens your tolerance.
- Drift guards. Actions computed against a price that has since moved more than 0.5% stop and ask before proceeding.
- Readable errors. Failures map to plain language: a cancelled signature, a wrong network, insufficient gas, moved price, expired deadline. Raw hex never reaches you.
- Exact approvals. Token approvals cover the amount at hand, not infinity.
- Custom hook warnings. Pools with custom hook contracts are flagged before you deposit, because hooks can restrict or tax what you do.
How concentrated liquidity works#
A classic AMM spreads your capital across every price from zero to infinity. Almost all of it sits at prices that will never trade. Concentrated liquidity fixes this: you choose a price band, and your capital only backs trades inside that band.
Three consequences follow, and everything else in this guide is downstream of them:
- Inside your band, you are a denser market maker. The same dollars quote more depth, so you earn a larger share of every trade's fee. Concentration is a fee multiplier.
- Your position's composition slides as the price moves. At the bottom of your band you hold only the base token; at the top, only the quote token. In between, a mix. The pool is constantly selling the rising asset for the falling one on your behalf; that is what earns the fees, and it is also the source of impermanent loss.
- Outside your band, you earn nothing. The position sits 100% in one token, waiting. It is not lost or liquidated. It is parked.
Prices in these pools move along a grid of ticks, and your bounds snap to the pool's tick spacing. You never need to compute ticks yourself, but it explains why bounds sometimes adjust slightly from what you typed.
Reading a range#
Think of a position as a ladder of tiny limit orders spanning your band, all of them earning a fee every time they fill in either direction. Reading a position is reading where the price sits inside that ladder:
- Price near your lower bound: the position has mostly converted into the base token. It is effectively a bag of the asset, bought on the way down, plus collected fees.
- Price mid-band: balanced mix, maximum optionality, earning on both directions of chop.
- Price near your upper bound: mostly quote token. You have effectively sold the asset on the way up, plus collected fees.
This reframe matters because it kills the most common beginner confusion: "my token amounts changed." Yes. That is the mechanism, not a malfunction. You deposited a market-making strategy, not a vault of fixed amounts.
Choosing a range width#
Width is the one decision that dominates everything else. Narrow ranges multiply your fee share while the price cooperates; wide ranges keep you earning through bigger moves. The multiplier is dramatic:
| Band around price | Capital efficiency vs full range | Character |
|---|---|---|
| ±1% | ≈ 200× | Sniper. Hours of uptime on a volatile pair; needs constant tending |
| ±5% | ≈ 40× | Aggressive; suits pegged pairs or very active management |
| ±10% | ≈ 20× | Active but survivable on majors |
| ±25% | ≈ 8× | The workhorse. Weeks of uptime on majors, still a strong multiplier |
| ±50% | ≈ 4× | Relaxed; survives most regimes |
| Full range | 1× | Never out of range, minimum density, minimum IL sensitivity |
How to actually choose:
- Start from the chart, not the multiplier. Look at the pair's realistic trading band over your intended holding period. Your range should contain where the price will be, not where you wish it to stay.
- Match width to your attention. A ±5% band checked once a week is not a strategy, it is a coin flip. If you will look at this position twice a month, take the wide band and accept the smaller multiplier.
- Volatility scales width. A stable pair can live in a fraction of a percent. A new token can blow through ±50% in a day. The same width means nothing across pairs; think in "days of typical movement."
- Skew deliberately or not at all. Centering is the neutral choice. Skewing your band above the price is a slow sell order; below, a slow buy order. Do it on purpose (see range orders), not by accident.
Where fees come from#
Your fee income is exactly:
fees = volume through your band × fee tier × your share of the band's liquidity
- Volume, not TVL, pays you. A pool with modest TVL and relentless volume out-earns a deep, quiet one by an order of magnitude. That is why RANGE sorts by Fee/TVL by default: it is volume normalized by the capital competing for it.
- The fee tier is a price, and prices clear. Low tiers win volume on tight pairs where a 0.3% toll would be absurd; high tiers compensate for the risk of volatile pairs. A pair listed at multiple tiers usually concentrates its real volume in one of them: check before assuming the higher tier earns more.
- You compete inside the band. Fee share is proportional to your liquidity against everyone else's at the current tick. A crowded band pays less per dollar; an underserved but active band is where the yield is.
- Fees do not compound by themselves. Accrued fees sit uninvested until you collect them. Collecting and redepositing on a sensible cadence (when fees meaningfully exceed gas plus the deposit fee) is the LP's version of compounding.
Impermanent loss, honestly#
Impermanent loss (IL) is the gap between the value of your LP position and the value of simply holding the tokens you deposited. It exists because the pool always sells the winner and buys the loser as the price moves. It is the cost of the service you are being paid fees to provide.
For a classic full-range position, the damage by price move is:
| Price moves | IL vs holding |
|---|---|
| ×1.1 | −0.11% |
| ×1.25 | −0.62% |
| ×1.5 | −2.02% |
| ×2 | −5.72% |
| ×3 | −13.40% |
| ×5 | −25.46% |
Three things every LP should internalize:
- Concentration multiplies IL the same way it multiplies fees. A ±10% band experiences the full composition swing over a 10% move that a full-range position spreads over infinity. The efficiency multiplier cuts both ways; there is no free lunch, only a priced one.
- IL is realized when you act. While the position is open the loss is "impermanent" because a price round-trip undoes it. The moment you withdraw or rebalance at a moved price, it is locked in. This is why reflexive rebalancing after every move quietly bleeds accounts.
- The trade is fees versus IL, nothing else. A position is profitable when collected fees exceed realized IL plus costs. High-volume, mean-reverting, sideways markets are the LP's paradise. Strong one-way trends are the LP's tax. Judge every pool through that lens.
Going out of range#
Eventually the price leaves your band. The position converts fully into one token and stops earning. Nothing is liquidated; the clock just stops. You have exactly three options, and none of them is wrong by default:
- Wait. Correct when your thesis says the price comes back. You hold a full bag of one token plus all fees earned so far. The cost is opportunity: zero income while parked.
- Rebalance. Re-center on the current price and resume earning. This realizes the IL of the move and pays gas plus a deposit fee on the redeposit. Correct when the move looks like the new normal and volume continues.
- Close. Take the tokens and leave. Correct when the reason you entered (volume, volatility regime, the token itself) no longer holds.
Decide the policy before you deposit, not while staring at a red indicator. "If price exits below, I hold; if it exits above, I take profit and close" is a complete, executable plan that removes emotion at exactly the moment emotion is most expensive.
Rebalancing discipline#
Every rebalance buys future fee income and pays three costs today:
- Realized IL: you lock in the composition shift of the move that pushed you out.
- Transaction costs: gas plus the deposit fee on the re-entry (in RANGE, the withdrawal leg is free).
- Whipsaw risk: if the price snaps back, you rebalanced at the worst tick and will pay again to follow it home.
Discipline that keeps the math on your side:
- Compute the payback period. Estimated daily fees in the new band versus the total cost of the move. If the band's honest fee estimate needs weeks to repay one rebalance, your band is too narrow for this pair.
- Rebalance on regime change, not on touch. The band edge being touched is noise; the price consolidating beyond your band is signal. Let the market confirm before you chase it.
- Budget it. Fix a number: "this position rebalances at most N times before I widen the band." Hitting the budget is the market telling you your width was wrong; widen rather than pay the toll again.
- Asymmetric exits beat symmetric chasing. Falling out the bottom of a band on a token you do not want more of is not a rebalance signal, it is an exit signal.
Range orders: limit orders that pay you#
A band placed entirely on one side of the current price takes a single-token deposit and behaves like a limit order that earns fees while it fills:
- Band above the price, deposit the base token: a sell ladder. As the price rises through your band, the pool sells your token for the quote, tick by tick, collecting the fee on every fill. Fully crossed, you sit 100% in quote at an average price inside your band.
- Band below the price, deposit the quote token: a buy ladder. The mirror image: you accumulate the base token on the way down, paid to do it.
Two honest differences from a real limit order:
- It un-fills. If the price crosses your band and comes back, your order reverses. A filled range order you actually want to keep must be withdrawn (or rebalanced) once it completes.
- The fill price is an average across the band, not a single tick. Tighter bands approximate a classic limit order more closely.
Used deliberately, range orders are the cleanest way to scale in or out of a position: a DCA where the market pays you the fee instead of charging you the spread.
Risk checklist#
Run this before every deposit. Every item has ended someone's week.
- Token quality first. An LP is a forced buyer of the weaker asset. Mint functions, transfer taxes, blacklists, or an anonymous deployer on one side of the pair make the fee APR irrelevant. If you would not hold the token outright, do not LP it.
- Thin pools lie. A shallow pool's price can be pushed cheaply, which distorts everything you see (price, chart, your paired amounts) and can be exploited around your deposit. Cross-check against a deeper venue before trusting a number.
- Yesterday's Fee/TVL is not a promise. Launch-day volume dies; incentives dry up. Ask what sustains the volume, and haircut any APR you cannot explain.
- Slippage bounds are your seatbelt. They cap what a sandwich attack can take from a deposit, swap, or withdrawal. Widen them only knowingly, on thin markets, by the minimum that lets the transaction through.
- Small positions lose to fixed costs. Gas for entry, management, and exit plus deposit fees are a flat toll. Size positions so expected fees dominate the toll, or make fewer, larger moves.
- Custom pool logic can bite. Pools with hook contracts can restrict or tax deposits and withdrawals. Heed the warnings the app shows.
- Verify addresses, always. Same-symbol fakes are the oldest trick on any chain. Verify the token address against an official source; the verified badge covers the curated list only.
Playbooks#
The pegged pair
Two assets that track each other (stables, wrapped or staked variants). Tight band (a fraction of a percent to ±1%) at the lowest fee tier that carries the volume. IL is near zero while the peg holds: the real risk is the peg itself, and it is binary. Size like you believe the peg, exit like you never fully do. This is the closest thing LPing has to fixed income, with one fat tail.
The blue-chip volatile pair
A major asset against a stable. The workhorse: ±15–30% band at the standard tier, rebalanced on confirmed regime change only. Expect fees to trickle in chop and IL to bite in trends. Collect and redeposit fees when they meaningfully exceed the cost of doing so. Most of your long-term result comes from range width discipline, not from clever timing.
The new token
Brutal volatility, brutal fees, real tail risk. Use only money whose loss you accept. Wide bands (±50% or more) or full range; the highest fee tier; small size. Treat the position as a paid bet on volume, not an investment in the token. Withdraw fees frequently: banked fees are the only part of this trade the market cannot take back.
The exit ladder
You hold a token you want to reduce into strength. Place a single-sided band above the market across your target sell zone. The market walking up through your band executes your exit at an average price you chose, and pays you the fee for the privilege. Withdraw once crossed, or the retrace un-sells it. The mirror version below the market builds a position into weakness.
Glossary#
| Term | Meaning |
|---|---|
| Tick | One step on the price grid all pool prices move along. Each tick is 0.01% away from its neighbor. |
| Tick spacing | How many ticks apart range bounds may sit for a given fee tier. Coarser for higher tiers. |
| Fee tier | The percentage a pool charges traders per swap, paid to in-range LPs (0.01% to 1%). |
| Liquidity (L) | The pool's internal measure of depth a position provides inside its band. |
| TVL | Total value locked: the USD value of a pool's reserves. |
| Fee/TVL | Fees generated over a window divided by TVL. Yield density; the LP's screening metric. |
| In / out of range | Whether the current price is inside your band (earning) or outside it (parked in one token). |
| Impermanent loss | The gap between an LP position's value and simply holding the deposited tokens, caused by the pool trading against the move. |
| Range order | A single-sided band above or below the price acting as a fee-earning limit order. |
| Zap | A one-transaction deposit that swaps part of a single input token to match your range's ratio, then mints. |
| Dust | Small leftover amounts a mint cannot consume. RANGE refunds them in the same transaction. |
| Slippage tolerance | The worst execution you are willing to accept, enforced on-chain as a minimum output or deposit bound. |
| Drift guard | RANGE's pre-signature check that the live price still matches the price your amounts were computed against. |