Yield

Compare yield farms across DeFi, whether they earn swap fees alone or offer extra incentives. Enter and exit positions, and compound earnings in one click, all from a single interface.

Scroll the table to load more pools. All loaded pools remain available as you scroll back, including after switching between Favorites and All pools. Changing the search, filters or sort returns the table to the top; loading another page keeps your place.

While Yield is visible, the pool list refreshes every three minutes. Switching to Positions pauses those background refreshes. Returning to Yield refreshes overdue data immediately; otherwise, the next refresh keeps its original deadline.

Rows stay on one line on desktop and phones. The Asset column takes spare width so ordinary names remain readable. Tags and icons follow the name with a small gap. Longer names shorten only when they do not fit, with both sides of two-token pairs kept visible. Hover over the name or focus the protocol icon to read its full name. On phones, tap the row to open its details.

For supported plain Curve StableSwap NG pools and their gauges, the main APR uses Observed LP return (7d) from seven complete daily measurement buckets, plus eligible incentives. During daily preparation, the latest proven window can end one UTC day earlier; its actual ending date appears in the APR explanation. This sampled LP performance includes underlying-token rate effects, so token APR is not added again. Gauge rewards retain an unboosted estimate. The adjusted frozen-starting-basket return remains available in pool analytics. Sampled return is not exact swap fees or spendable token/USD income, and does not count as an extra incentive. Missing or incomplete return windows remain unavailable; measured zero and negative returns are preserved. APR sorting, filtering and automatic deposit-mode selection use the same figure.

Unavailable APR and earnings appear as —. A measured zero remains 0. When swap-fee data is unavailable, known additional rewards can still appear; these figures exclude the unavailable fee contribution. Missing token prices leave the affected fee amounts without a dollar estimate.

Yield View

vfat.io indexes farms across a growing list of protocols and chains. See the live list on the Protocols page. Each pool appears once, showing the available option with the highest Avg APR that matches your filters. The default updates when new browse data arrives. Sorting uses that option’s values. The icon beside the pair shows its deposit option: a green sprout means Farm (Staked), and blue waves mean Pool (Unstaked). TVL covers the whole pool. Rewarded TVL, Active TVL, APR and income describe the displayed option. When that option changes, its badge and metrics change together. The liquidity figures cover all users. Pool volume and fee tier describe the shared pool.

On desktop, token logos sit to the left of the pair name, with a small network logo at their bottom-right and the project logo beside the name. The Pool/Farm icon and one compact fee/spacing tag stay on the name line. The tag shows the pool spacing and swap fee, such as CL-200 | 1% or 5bp | Variable; its explanation gives the full tick or bin-step units. Tick spacing is the minimum number of ticks between valid range boundaries; bin step is the price change between neighbouring bins. Hover or tap it for an explanation of each value. The fee affects swap costs and potential fee earnings; smaller tick spacing allows finer range placement. Bin step describes the price step between neighbouring bins in basis points (100 = 1%). Variable-fee pools retain their directional rates in the explanation when available. On phones, the network logo is a small badge on the project logo. The mobile table shows compact TVL, such as $126.8m, so the full pair name usually fits. On very narrow phones, scroll the table horizontally to reach all columns. A small badge beside the pair name keeps both the spacing and swap fee visible, such as CL-60 | 0.3% or 5bp | 0.3%. When the fee is unknown, the badge shows the spacing instead: CL-60 for 60-tick spacing or 5bp for a bin step of 5 basis points. Tap the badge for its full label and explanation without opening the pool. The name uses the available space beside the fee badge and other tags, which stay on the same line. Unusually long names shorten within the asset column; opening the row shows the full name. Fee details stay in pool details, and extra listing badges appear in desktop rows. Hover or tap the logos or Pool/Farm icon to see their names and explanations. Points-program logos, new-listing and held-position badges remain in desktop rows, with thin-pool warnings shown as an icon; whitelist and unavailable-position warnings stay visible on phones. Asset correlation is shown in pool details. On desktop, monetary columns show full amounts rounded to the nearest whole unit of the selected currency, with thousands separators, such as $375,550 and $102,750,000; phones show amounts from 1 million in compact form, such as $102.8m. For liquidity pools, hover or tap TVL or volume for the full amount and change over the selected period. Vault TVL is shown as a plain value. Rounding changes the display; sorting and trends use the original values. APRs and token quantities retain their precision. The selected sorting column keeps its arrow, and your column choices and order are preserved.

Full amounts in a volume column

Pool fee and range spacing explanation

The pool tag and Fee tier column show fees with up to four significant digits, so a rate such as 0.44034599999999996% appears as 0.4403%. Hover, focus or tap the fee to see its full value. Small nonzero fees retain their precision, and sorting uses the original rate.

When the current pool fee is unavailable, fee labels and rebalance estimates keep it unknown rather than using the creation tier. A reported zero remains a known zero. Positions stay visible unless a numeric pool-fee minimum or maximum is set; clearing those bounds restores positions with unknown fees.

An available Slipstream initial swap estimate appears in fee details. Later swaps in the same block can pay the normal fee, so automation funding and rebalance estimates keep the conservative execution fee. Fee sorting uses that execution fee as well.

Bin pool fee and price step in basis points

Thin pool marks a pool holding under $10,000, or with an APR over 10,000%. Its APR divides its earnings across very little money, so any real deposit would lower it sharply: in the Yield view, an APR over 10,000% shows as >10,000%, and pools under $10,000 follow the rest in the default sort. Sorting by a column ranks every pool together, still marked. The deposit form repeats the warning. The position-range widget shows the actual calculated APR inline, including values above 10,000%, and once you enter an amount its APR includes your deposit. Single-asset vaults aren’t marked, since their APR is a measured rate.

Only APR shows an indicator in the row: its relative change versus the same deposit option’s snapshot approximately 1, 7 or 30 days ago, following the selected Time period. Changes of 10% or less stay grey, so only larger moves stand out: a green arrow pointing up shows an increase and a red arrow pointing down a decrease. The steeper the arrow, the bigger the change: shallow for a change smaller than 5%, diagonal for 5% to less than 20%, and straight up or down for 20% or more. When there is enough space, the percentage appears beside the arrow in grey, including on phones. TVL for liquidity pools, Rewarded TVL, Active TVL, Earnings and Volume keep their change for the same period in the value’s tooltip, such as Up 13.10% vs 7 days ago. An unchanged value shows a neutral dash and 0.0% when there is room; a missing comparison shows a grey dot in the same indicator slot. Screen readers retain the full signal even when the percentage is hidden. There is no trend popup or colour key. APR changes are relative percentages, rather than percentage-point differences; switching APR/APY compares the same measure. Sorting still uses the main value. Comparisons are unavailable when the historical value is missing or zero, or the selected measure has no recorded comparison. Projected LP income compares the same rate over the selected duration; grouped LP rows with observed fees currently have income comparisons for 7d only. Custom range APR comparisons are unavailable. Volume compares the selected rolling total with that same rolling total in the historical snapshot.

Single-asset vault Earnings and APR/APY compare recorded intervals for the selected period, without projecting income or compounding an APR into APY. Event times can make the current and prior intervals slightly different lengths; both must cover their requested historical boundaries. Their metric explanations include the actual dates and durations. Signed changes use the previous value’s absolute size: −$10 → −$5 is +50%, while a previous zero has no relative comparison. Vault Earnings comparisons value both periods using the same current accounting-asset USD price, excluding historical price changes. Partial or missing earnings history has no trend comparison.

APR trend beside the Yield table values

Inline APR trend percentage

On desktops with enough room for your chosen columns and the action widget, the first row is selected automatically and its action pane opens while the row stays collapsed. This includes single-asset vaults: selecting a vault row opens its Deposit widget in the same sidebar or sheet and keeps you on Yield. Manage existing vault holdings from Deposits. More details in the widget header opens its standalone page. A chevron before the favorite star indicates that a row has inline details. Click the row to expand them; the chevron rotates down when open and back to the right when closed. When the widget would squeeze the table, the table uses the available width until you open a row. Its action pane then opens as a sheet; the close button in its header or Escape returns to the table. This also applies to saved column layouts and browser or display scaling. Resizing between a sidebar and sheet preserves your selected deposit mode and entered amounts, including the selected vault action and its inputs. You can also focus a row with Tab and press Enter or Space to open it.

Saved Detailed columns fit a desktop with 125% display scaling

The action sheet opens separately from the scaled desktop table

An expanded row shows the pool’s charts first, then its details. The chart card has a tab per metric: Avg APR, 7d earnings, Price, TVL, Volume and LP fees, with Your PnL first for a Sickle position on Positions. Each tab shows its latest value and a small trend; select one to draw it full width, or move between tabs with the arrow keys. Hovering, tapping or using the arrow keys on the chart moves one cursor across every tab, which then show their values for that day; Volume and LP fees switch from the period total to that day’s amount. When some days are missing, the chart shades them and says how many it has, such as 27 of 30 days; a tab names its day count only when it holds less than half the period. Volatility, volume per dollar of liquidity and swaps a day sit on one line under the chart, with their explanations in tooltips, followed by any data notes.

The details card below lists its figures as rows, the label on the left and the value on the right so numbers line up, in sections that flow through two or three columns on wide screens and one on phones. Rewards appears for each farm that pays incentives, with weekly rewards, Reward APR with WPR and DPR, Rewarded TVL, Staked in range and Staked TVL with each token’s staked amount below it, or one line when the farm pays nothing that week. Additional APRs appear by protocol, including Kyber Fairflow APR and Nami Genesis fee-share APR, even when no token rewards are emitted. Liquidity shows TVL with each token’s reserve and price below it, In range TVL and Active TVL. Fees & pool shows the pool fee, the last seven days’ fees, Fee APR with WPR and DPR, the platform and chain, and asset correlation. Contracts & IDs lists the farm and pool addresses, each with its explorer link and copy button, and the pool’s IDs. Select a token’s name to copy its address or open it in the explorer. Fee APR covers swap fees only, without token rewards or a range adjustment.

Daily analytics also chart 7d earnings and Avg APR for the selected Pool/Farm option when recorded history is available. The income chart tracks seven-day fees plus projected rewards at each snapshot, rather than adding them into a period total. Both share the hover, tap and keyboard exploration, with missing observations shown as gaps. Selecting a point aligns its date across the other tabs. The same charts appear in Positions details and the standalone farm view, using the history response already loaded for price, TVL, volume and fees.

When the API supplies executed-swap history, the Price chart labels that basis. These prices include fees and price impact and can differ from the current marginal pool price. Quiet periods without trades leave price gaps; a verified period with no swaps can still have zero volume and fees. USD volume and fees use historical token prices from the same period when available. Missing historical valuations remain unavailable. Metric uses these same charts; its oracle-relative range-suggestion history remains separate.

TVL, 7d earnings and Avg APR headlines show the latest recorded historical value with its recording date. The Avg APR chart records the table’s Avg APR over time; it is not an average over the chart’s time span. The table shows current figures, which can differ from the last completed snapshot. Hovering or tapping older points keeps that headline date in place and shows the selected point’s own time below it.

Curve StableSwap-NG pools also show Sampled LP performance in these analytics. Observed and adjusted LP return APRs describe per-LP virtual-price performance. Adjusted removes stored-rate and amplification revaluation against a frozen starting basket. These are not exact charged LP fees, spendable token/USD income or your position’s earnings; do not add them to the existing fee estimates. Farm Fee APR, recorded Avg APR and earnings keep their existing sources.

Shown history, 24h, 7d and 30d select server-calculated windows of intervals ending in closed UTC buckets. The actual measurement span and measured seconds can cross those bucket boundaries. A complete-window APR is shown only when the server reports it available. An explicitly labelled Measured subset APR can remain visible while the requested window is unavailable. Zero and negative returns are valid; absent or unresolved measurements appear as gaps. Bucket coverage describes source-completion proof, not the fraction of wall-clock time measured.

Preparation, source errors, stale history and backfilling remain visible alongside retained observations. Source and preparation details separates the latest diagnostic source endpoint from preparation timestamps. Hover, tap or use the chart’s arrow keys to inspect actual measurement spans, each bucket’s captured source frontier, interval counts and block range. A recent diagnostic endpoint or successful check alone does not prove complete history. Mature NG pools can select 24 hours as well as 30 days; N-coin pools show their full token list without enabling pair-only analytics. Hourly returns retain 24 closed hours, so longer hourly windows can remain unavailable.

Pool analytics with fees, rewards and average APR history

Use the Hide widget icon in the widget header to give the table more room. The widget stays hidden when you click rows, switch tabs, or reload. Select the Show widget button in the table toolbar to restore it for the current row and resume following row selections. This preference is shared with Positions. On smaller screens, row selections still open the action sheet and the close button returns to the table.

Yield with the widget hidden and the Show widget button in the toolbar

Expanded details show the Pool alongside its available Farm panels, including staked TVL, reward tokens, reward APR and the farm contract. Filters determine which pools appear; each pool’s details stay the same regardless of the filter or deposit mode selected. Viewing details does not change your deposit choice. On phones, the same details appear below the action form.

For Uniswap v4 pools, Contract shows the shared PoolManager address. Use Pool ID to distinguish individual pools: hover over the shortened ID to see the full value, or use its copy button to copy it.

Pool and farm details with Unstaked selected

On desktop screens below 2240 pixels wide, the Yield view stays centered with a maximum width of 1,792 pixels at the default text size. Wider screens allow up to 3,008 pixels for the table and combined widget. Smaller screens continue to use the available width.

Use Yield and Positions in the desktop navigation or the bar at the bottom of the screen on phones. In the desktop header, the current page uses stronger text and a thin underline. Data or More carries the same underline when it contains the current page, including pages moved into More on narrower windows. The table scrolls within the page; row actions, where shown, fill the row height and remain pinned when scrolling sideways. Phones and narrow tablets show the token pair with project and network logos, with TVL and APR alongside. The sprout or waves badge remains visible beside the pair so you can distinguish a staked farm from an unstaked pool. Tap the badge for an explanation, or tap the row to reach the deposit form and additional pool information. Customize columns lets you add other columns. Active filters are highlighted, and sorting is announced to screen readers. When the sorted column is hidden, such as Earnings on phones and narrower windows, the Asset heading shows the active sort. Tap it to sort by another column or reverse the order. With keyboard navigation, choosing a visible column moves focus to its heading.

Mobile Yield rows with fee badges and compact TVL

Full-width Yield table on a laptop

The asset column gives pair names priority. Fee, spacing and listing badges wrap when needed instead of squeezing the name, on desktop and phones. Unusually long names still shorten; hover the name or open the row to see the full pair. Numeric columns share the remaining space with enough room for their headings and the APR trend. The action widget opens separately when your chosen columns need more space, including layouts saved from the former Detailed view. Column choices and text size stay unchanged. Very narrow screens or unusually large column selections can still scroll; on phones, swipe across the table to reach the additional columns you selected in Customize columns.

Desktop defaults include 7d Volume; Avg Range is available in Customize columns. The volume heading and trend follow your selected 1d, 7d or 30d period. Phones keep the compact TVL and APR layout by default. Saved column choices take precedence; Reset to Default restores the current defaults.

Yield columns after scrolling sideways on mobile

Yield is the only browse view. Existing /pools links redirect to /yield with their query filters and fragment preserved.

Shared Yield links preview the top pools by TVL, including pools earning swap fees without extra incentives. Each pool appears once with the average APR of its displayed deposit mode. Chain and protocol selections are reflected in the preview, except All except selections, which show the unfiltered preview; other table filters and browser preferences are not.

On screens at least 2240 pixels wide, selecting a row opens one widget with details and pool analytics on the left and actions on the right when your chosen table columns leave enough room. Otherwise, actions open in a sheet while the details remain beside the table. The existing pool header spans both widget columns, including protocol, chain, tokens, fee, support and price display controls. The shared header supplies the price display selector, so the chart omits its duplicate button. The details column widens into the room your table columns don’t need, up to 1,024 pixels: on the largest screens the chart tabs sit side by side and the details flow into two or three columns, so everything shows without scrolling. On a tall screen with the column at its widest, every chart shows at once, two to a row (with Your PnL on its own row for a position), and hovering one moves the cursor on all of them; otherwise one chart shows under its tabs. Keyboard focus follows the same chart when the layout switches. Either way the charts grow taller to fill spare height. When the column is narrower, the chart tabs wrap onto a second row rather than scroll sideways. The table rows stay compact, and the two widget columns scroll independently under the shared header. Changing the selected row returns the details to the top. Hiding the action widget keeps the details panel available. Smaller desktop screens keep inline row details, and phones keep the existing details sheet.

Table, details and actions side by side on a wide screen

Farm overview

Use More details in the action pane to open a farm’s own page. On desktop, one shared pool header sits above two columns: pool and farm details, price, TVL, volume, fees, rewards and APR charts on the left, and deposit or position controls on the right. The details follow the same layout as an expanded table row: the main info cards sit at the top, with charts below using the full details width. Each column scrolls independently, so you can inspect the data while keeping the controls available. When you hold a selected position, its balances, rewards and PnL appear in the details column too. Each chart and range header that shows prices has its own price direction selector; switching any of them updates the others for that pool.

When the controls are taller than the window, the status line and the Deposit button stay pinned at the bottom of their column. Fields that continue under them stop at a clear edge, and a field you reach with Tab scrolls up to sit above the button rather than behind it.

On phones, a tap anywhere on a row opens the pool; only the star stays separate. The sheet shows the row’s type, TVL and APR under the tags at the top, and tapping one explains it.

On phones and smaller tablets, the controls appear first, followed by the details and charts in one scrolling page. The shared header stays visible. Resizing the page preserves the amount, range and automation settings you are editing.

For fungible farms, the page opens your Sickle position when you also have a stake outside Sickle. If only the external stake is available, you can make a fresh Deposit or Migrate that stake into Sickle. History and Performance are available only for Sickle positions. A History link to an external stake opens its available actions instead.

Increase, Withdraw, Rebalance, Harvest, Compound and Move act through your Sickle, so they appear only for Sickle positions, as does the History button in the header. When a position held or staked by your wallet can’t be migrated, for example because the farm is deprecated, the page explains that it’s held by your wallet and links to the protocol. For a gauge stake it offers Exit, which claims any rewards, unstakes the position and removes its liquidity to your wallet. Unstake to wallet only returns the LP tokens or position NFT, and Harvest collects pending rewards. A position held but not staked offers Remove instead. Exit and Remove appear only for pools whose removal vfat can price, such as concentrated-liquidity NFT positions and Solidly or Uniswap V2 style LP; other pools link to the protocol. Removals use minimums 1% below a simulation at the current pool price, so a price move beyond that during the transaction makes it revert instead of filling at a worse mix of tokens.

If a claim or unstake stops because you switched wallets, reconnect the wallet that holds the position and retry.

For Shadow and Ramses NFT positions that earn incentives while staying in your wallet, Harvest is available when rewards are pending, and Remove claims those rewards before removing liquidity. The empty NFT stays in your wallet so you can claim rewards that become available in later periods. Empty V3 NFTs can collect any remaining tokens without trying to decrease zero liquidity.

Deposit and migration controls for a stake outside Sickle

Farm overview with pool data and actions side by side

Farm overview on mobile

Filtering

Use Filters → Pool → Token categories to find pools containing Stablecoins, Stocks, or Blue chips. A pool matches if at least one of its underlying tokens belongs to any selected category. For example, a tagged WETH/USDC pool matches both Blue chips and Stablecoins. Selecting all categories still excludes untagged pools; Any token removes this restriction. The selection applies across all pages and favorites and is preserved in shared links and saved presets. Clearing or resetting filters returns to Any token.

Categories come from vfat’s reviewed token list. They describe the tokens rather than the pool’s pricing curve, rewards, or asset correlation. Blue chips describes vfat’s curated established crypto assets; category membership is not a safety rating.

Token categories in the Yield filters

Token categories in the mobile Filters sheet

The row above the table holds search, Customize columns and the widget button. Everything that narrows or orders the rows sits in one bar along the top edge of the table: Filters, the quick filters, the result count and Sort.

Filters shows how many filters you changed and uses the soft selection highlight while any are active. The quick filters are Chain, Protocol, Stable pools, Extra rewards, Correlated, Min APR, Fee and List. Chain, Protocol, Min APR, Fee and List open a small picker; the others switch on and off. Unset chips are outlined; an active chip turns soft blue and shows its value, such as Chain: Base or APR ≥ 10%, with a × that removes only that filter. Stable pools and Correlated appear when the results include such pools. When your search contains a chain or protocol name, such as usdc base, a + Base chip offers to filter by it and keeps the rest of your search.

Fee caps the swap fee of the pools listed, because some pools take 80% or more on every swap. It starts at Fee ≤ 5%; pick 1%, 2%, 5%, 10%, 25% or None, which reads Any fee. The cap is remembered in this browser and also applies to Portfolio’s Earn suggestions and Move targets. Pools with a variable fee, your positions and your favourites are never hidden. It isn’t part of shared links or saved presets, and Reset and Show all keep it; the N of M pools count already reflects it. Under Filters → Pool, Pool fee notes the default, such as “Default: pools above a 5% fee are hidden.”, and the Pool summary shows Fee ≤ 5% (default).

At the end of the bar, the result count reads, for example, 1,240 of 15,309 pools: the pools that match your filters out of those that match your search. When any filter differs from its default, Reset beside the count returns them all to the defaults while keeping your search. Sort names the current sort and changes the column or direction; table headings still sort as before. When the table is narrow, the chips scroll sideways under a fade while the count (shortened to 1,240 / 15,309) and Sort stay in place. On phones, Sort and Filters move beside search as icon buttons.

When filters hide pools that match your search, Show all appears beside the count, even if only default filters are active. It keeps your search and clears the filters, including the default TVL, APR and income bounds; Reset restores the defaults instead. Pool lists keep their membership and saved default visibility, while list selection and visibility overrides for the current view clear.

Filters groups the full set of filters by question: Where (chains and protocols), Returns (APR, income, extra rewards and points programs), Pool (pool type, tick spacing, asset correlation, deposit mode, fee, average range and token categories), Size & activity (TVL and volume), Safety & listing (whitelisted, coverable and pool age) and Pool lists. Where and Returns open first, along with any group that has an active filter; the others show a one-line summary, such as TVL ≥ $1K (default). The bar at the top jumps to a group and opens it, and each group shows how many of its filters are active. Every row has the same shape: a label, one control, and room for a ×. Choices with two to four options are text-only segments, longer lists are chips with All or Any first, and ranges are a minimum and maximum field with the unit inside. A label with a dotted underline explains itself when you hover over or tap it. A changed row has a blue edge and label; the × at its end clears that row, including a default such as the TVL floor, and rows you haven’t touched show no ×. Chains and protocols use searchable lists with selected items first; tapping the only selected chain, protocol or list item returns to all. All except beside a chain or protocol shows every other one, including ones added later; the chip then reads, for example, Protocol: All except Aero, and excluded items are struck through and marked Excluded. Excluding every available chain or protocol shows no matching pools; include an item again or select All to restore them. ≥ 5%, ≥ 10%, ≥ 25% and ≥ 50% set a minimum APR in one tap. Dollar amounts accept shorthand such as 1K or 2.5M, and TVL is entered in dollars. Editable fields keep the exact amount, including small fractions; arrow keys change that amount without rounding it to an abbreviation. Entries outside a field’s range, such as a negative amount, are marked and not applied. Show N pools at the bottom closes the panel; Reset returns every filter to its default.

On wide screens with room beside the table, Filters opens as a panel next to the table so rows update as you choose. Otherwise it opens as a sheet on the right, or as a bottom sheet on phones. Opening the docked panel moves keyboard focus into it; Escape or Close returns focus to Filters.

Under Filters → Pool, use Avg range to set a minimum, maximum, or both for the average range width shown in the table. Enter percentages directly, such as 0.05 for 0.05%. Bounds are inclusive, and blank inputs leave that side unrestricted. An active bound excludes pools without a reported average range. The filter applies across all results and favorites in Yield, and is preserved in shared URLs and saved presets. Clear an input to remove that bound; clearing or resetting all filters removes both.

Average range percentage bounds in the Yield filters

Average range percentage bounds on mobile

The row’s sprout or waves icon follows the displayed Staked or Unstaked option, including when both options offer rewards or a farm has no current emissions. Hover over or tap the icon to see which option its APR, Active TVL and Rewarded TVL describe; TVL always covers the whole pool, plus the pool’s extra-rewards availability. Opening this explanation keeps the row’s selection and details in place. Screen readers announce the displayed option.

Filters → Pool → Deposit mode offers All, Unstaked, and Staked. Unstaked carries the blue waves and Staked the green sprout, the same icons as the rows, so the filter doubles as their key. Pool type describes the pool’s structure, such as concentrated, stable, or volatile; it does not change when you switch deposit modes. Concentrated pools keep CL and their tick spacing visible in compact rows, including on phones. For example, CL-100 beside 1% identifies a concentrated pool with tick spacing 100 and a 1% swap fee.

Extra rewards → With requires a positive reported reward rate or reward APR beyond swap fees. Without requires known absence of extra rewards. An available staking mode with zero emissions does not count as extra rewards. Points, swap fees, and previously earned rewards do not qualify. Unknown reward data is included only in Any.

All option filters must match the same deposit mode. A pool with fees-only unstaked LP and rewarded staking can appear under Unstaked + Without or Staked + With, but not Unstaked + With. Filtering happens before totals, sorting, and pagination. Each row starts with the highest average APR among its matching modes; APR and earnings follow that mode, while TVL remains the whole pool’s liquidity.

The deposit-mode selector shows matching choices. If other modes are hidden, Clear filters to show all modes restores them while keeping your search. If refreshed data means your chosen mode no longer matches, the table displays a matching mode while your open form keeps its destination and explains the mismatch. Choose a matching mode or clear the filters to bring them back together. Unavailable modes remain unavailable. Shared links and saved presets include both choices. Older Farms/Pools selections are read as Staked/Unstaked, and older extra-incentives choices use the new current-rewards definition. Clearing or resetting filters returns deposit mode to All and extra rewards to Any.

With extra rewards selects the rewarding deposit mode

Filter deposit options by extra rewards

The same choices appear in the mobile Filters sheet.

Selected filter options are highlighted the same way for deposit mode, extra rewards, pool age, asset correlation, chains, protocols, points, pool types and pool lists. Choices carry no icons; chain, protocol and points logos identify the item they name. Pool type, asset correlation, points programs and token categories show every choice as a chip, so there’s no separate picker to open.

Filter extra rewards on mobile

Search by token symbol, a pair such as WETH/USDC in either order, or a concentrated-liquidity label such as CL200-WETH/USDC. CL100 or CL-100 on its own lists concentrated pools with a tick spacing of 100, matching the CL-100 label on compact rows. Separate terms with spaces to match any of them, and put - in front of a term to leave out whatever it matches: ETH -wstETH lists ETH pools without wstETH, and -wstETH alone lists every other pool. An exclusion wins over a match, and it works on pairs and labels too, such as -CL100. To combine tick spacing with other searches, use Filters → Pool → Tick spacing: enter a minimum and maximum in ticks, or pick Tight ≤ 10, Mid 50–100 or Wide ≥ 200. Set both fields to 100 for exactly 100. Pools without a tick spacing are left out while either bound is set. You can also search by a farm or pool address, or a pool ID. The field shows what you can search for instead of an asset count. Open the Search help question-mark button for examples. Symbol matches are partial and ignore case, so ETH can also return WETH; use a pair to narrow the results, or select chains and protocols under Filters.

To reuse a search, open Filters, choose Save as preset, and give it a name. New presets save your search text together with the other filters, even if you only changed the search. Selecting a preset restores both; a preset saved with an empty search clears the search field. Older presets keep the current search text. An unfinished preset name stays in place when resizing changes the panel layout. Closing the panel discards that draft. Presets are saved in this browser, separately for Yield and Positions.

A named search saved with the current filters

Search help with token, pair and address examples

Very long token symbols and names are shortened in the interface. Results that match only the hidden portion of oversized metadata are excluded from search. If matching farms are hidden by your active filters, use Reset beside the result count to reveal them.

Reset restores the $1,000 minimum TVL and zero minimum APR; Earnings has no default limit. Earnings bounds accept negative amounts. An explicitly entered or saved zero minimum excludes recorded losses; a zero minimum also excludes an unavailable metric. Clear or adjust the separate APR minimum to include negative APRs. To let pools with unavailable metrics appear, use the × on the APR, earnings or TVL row, which removes that row’s limits. The search text and your global asset-visibility preference are kept. The result count covers available pools that match your filters; pools with no available deposit mode are outside that count.

The table can be filtered and sorted by protocol, chain, pool type (concentrated liquidity, stable, volatile or single-asset vault), asset correlation (correlated or uncorrelated pairs), points programs, pool lists, whether cover is available, and by numeric thresholds for APR, TVL, combined fees and rewards, fee tier, pool volume and pool age. This is useful once you’re comparing hundreds of pools at once.

Choose Filters → Safety & listing → Listing → Whitelisted only to limit this view to vfat’s curated list. The selection is included in shared links and saved filter presets. With this filter off, unlisted assets remain visible. Reset removes the page’s whitelist restriction. Token warnings explain observed restrictions and transfer taxes; they do not hide assets.

Pools first listed within the last seven days show a New tag. Hover over or tap it to see the date added; opening this explanation keeps the row’s selection in place.

Under Safety & listing, Added within finds pools added in the last 7d, 30d or 90d, and Added over excludes pools added in the last 1d, 3d or 7d. You can combine one choice from each row. Any or the row’s × removes that limit. If a selection makes the minimum age equal to or greater than the maximum, the other age limit becomes unrestricted. These filters are included in shared links and saved presets.

Open Customize columns beside the search bar and use Time period to select 1d / 7d / 30d. This updates the existing Earnings column; choose 1d for daily income. The selection defaults to 7d, is remembered in your browser, and is included in the URL when changed. Avg APR and its range/compounding options stay unchanged.

A small superscript * after an APR marks historical swap fees, estimated fees, unavailable fee data, or a concentrated liquidity range basis. Hover over or focus the value, or tap it on a phone, to read its explanation. On concentrated liquidity pools, it names the range the APR assumes (for example, a position about as wide as the average for the pool’s in-range liquidity) and whether the APR comes from swap fees, rewards or both. See APRs for how this differs from the Fee APR in pool details and the APR in deposit forms. Historical fees do not guarantee future returns.

APR explanation

Rewarded TVL and Active TVL are hidden by default. Enable them individually in Customize columns to show them alongside TVL, APR, and the selected period’s Earnings. TVL covers the whole pool; the optional liquidity columns follow the displayed deposit option:

  • TVL is total pool liquidity, including staked and unstaked positions. Its value, trend, sorting and filters use the pool regardless of the row’s Pool or Farm label.
  • Active TVL is the total value of positions currently in range for the displayed Pool or Farm option.
  • Rewarded TVL is the portion of that option’s active liquidity in the current price range that earns fees or rewards.

Hover over or tap each liquidity heading’s help icon for its definition. Filters and deposit choices can change which option is displayed; Active TVL, Rewarded TVL and APR follow that option together, while TVL remains pool-wide. These preferences are saved, including on phones; Reset to Default restores responsive defaults.

Optional liquidity and income columns

Volume is shown by default on desktop and follows the selected period. Use Customize columns to change its visibility. Click its header to sort, or set minimum and maximum dollar amounts under Filters → Size & activity. The volume row follows the selected period; bounds you set for another period stay listed until you clear them. Empty bounds apply no restriction. Column choices and volume filter presets are remembered.

Unavailable volume displays as an empty cell and sorts last in either direction. Applying a volume filter excludes pools whose volume for that window is unavailable; a reported zero remains a valid value.

Enable Fee tier in Customize columns to compare pool swap-fee percentages. It is hidden by default. Click its header to sort across all matching farms; variable and unavailable fees sort last in either direction. Variable fees show as Variable, with directional rates on hover when available, and unavailable fees display as —.

Choose the time period and optional columns

1d / 7d / 30d Earnings combines swap-fee income and token incentives in one column, including pool-only rows. Amounts and APR values with explanations use straight dotted underlines. Hover over the amount, or tap it on a phone, for the breakdown. Fees use the selected period’s history; when that history is unavailable, they use the weekly fee rate and are labeled estimated. Token rewards are estimated from the current rate for the selected duration. Where a protocol pays the pool’s swap fees to farmed positions off-chain, such as Nami during Genesis, that fee share is added as its own estimated line, using the last 24 hours of volume for each day of the period; the pool’s own on-chain swap fees can then be $0. All amounts belong to the displayed deposit mode across all its liquidity, not to your personal position. Sorting and the Earnings ($) filter use the same combined amount. The table is sorted by Earnings for the selected period by default, highest first, so pools that currently earn nothing appear last. Click TVL or another heading to change the order; a sort other than the default is kept in the URL. Saved Fees and Rewards columns are merged while preserving the visibility of either column.

For single-asset vaults, the same column, sorting and filter use recorded net vault income for the selected period: recorded asset growth excluding deposits and withdrawals, after protocol fees. It covers the whole vault and can be negative. It is not estimated from TVL or APR. Hover or tap for exact accounting-asset income, fees, history quality and current USD price basis. Partial recorded history shows *; missing earnings or their USD price shows —, while a recorded zero shows zero. See Single-asset yield vaults for the measurement boundaries.

When swap-fee history is unavailable but token rewards are known, the income column shows the rewards-only amount with *. APR likewise shows a known rewards-only rate with * instead of hiding it. The explanations identify the missing swap fees; these figures are partial estimates, not complete totals. Sorting and filters use the marked figures already in the browse response, without another request. Their trend indicators remain neutral when the historical data cannot distinguish rewards from swap fees. If no rewards or APR component is reported, the figure remains —.

Rewards-only amount with unavailable swap fees

Curve plain-pool fees are temporarily estimated from input trading volume and the recorded base fee, after the protocol’s 50% share. Their fee amounts show ≈, and the APR explanation identifies the estimate. Pool details and deposit-mode cards use the same calculation. Dynamic fees, historical fee changes and yield from the underlying tokens are not included. Missing volume or token prices display as — or Unavailable, rather than zero; a recorded zero still displays as zero. Actual indexed LP fees take precedence when available.

Combined fees and rewards breakdown

Saved farm and pool favorites are combined automatically. Favorites saved for either UltraSolid deposit mode appear under the same pool. Saved Pools filter presets are carried over to Yield. A star now saves the pool, including all its deposit modes. Position badges count positions across those modes. New favorites are limited to 250 pools; larger existing lists remain available.

Favorites and saved filter presets update across open tabs in the same browser. Changes to different favorites or presets are preserved; each tab keeps its current filter selection.

The favorite and pool-list buttons fill the row’s height, so their full area is clickable without expanding the row.

Pool lists

Start with Favorites, the only built-in pool list, and add your own named lists from List → Manage lists… in the filter bar. Favorites starts visible by default; choose the default visibility for each new custom list. Existing favorites keep their membership and saved visibility. All lists are saved in this browser and do not affect Positions or your positions.

The All pools view starts with each list’s saved default visibility and shows every pool matching your search and filters, except members of lists currently hidden. Pools outside any list remain visible. A pool can belong to several lists; membership in any hidden list takes precedence in this view.

The List chip in the filter bar shows List: All pools until you pick a list. Choosing a list, such as Favorites, focuses it; the chip then names it, and its × returns to All pools. Filters → Pool lists offers the same choice under Show, with each list’s pool count. A focused list shows all its members, including normally hidden pools, subject to your other search and filters. Choose All pools, or tap the selected list again, to return to All pools with your current visibility settings.

In All pools has a chip for each list, highlighted while that list’s pools appear in All pools. Tapping a chip overrides its visibility for the current view, without changing the list’s saved default or membership. The row’s ×, clearing filters or resetting filters removes these overrides. Filter URLs and saved filter presets can carry overrides; the list definitions stay unchanged.

Show and In All pools choices in Filters

List → Manage lists… opens group management: create lists, rename or delete custom lists, and add or remove pools. Choose Visible by default or Hidden by default when creating a list. Each list shows its saved status beside its pool count. Open its three-dot menu to change Default visibility, including for Favorites. These defaults are saved in this browser; view-specific filtering controls remain in Filters.

Manage pool lists and their members

When Favorites is your only list, the table shows the familiar star column. Creating your first custom list replaces that column with Edit pool lists, where you can choose Favorites and any custom lists. The action pane and mobile action sheet use the same control. Membership covers every deposit mode of that pool. Deleting your last custom list restores the star column without changing Favorites. Removing a pool from a list leaves its other memberships intact; Undo in the notification reverses a membership change.

List membership replaces the Favorites column after a custom list is created

Choose lists for a pool

In the Lists manager, open a list’s … menu to:

  • Add shown pools: add every pool matching the current view, search and filters, including rows not yet loaded. Existing members do not use additional capacity. If the matches exceed the remaining space, narrow the search or filters first. The list stays unchanged on failure.
  • Clear list: remove every member. Notifications for adding or clearing pools include Undo.
  • Rename or Delete list: available for custom lists. Deleting a list leaves its pools in any other lists.

You can create up to 20 custom lists. Each holds up to 1,000 pools. New favorites remain limited to 250 pools; larger existing Favorites lists are preserved.

The selected list is included in shared URLs and saved filter presets. Membership and visibility are local: links to Favorites use the recipient’s own favorites, and a custom-list link shows no pools when that list is unavailable in the browser. Reset returns to All pools without changing list membership or default visibility. The result count leaves out pools removed by hidden lists in All pools.

If all loaded rows are hidden, the table loads more results automatically. If loading fails, select Retry to continue.

Depositing

The Deposit asset field combines the token picker, amount, token/currency switch, and MAX on one line. It starts with the token worth the most in your wallet on the pool’s chain, since your Sickle can deposit from any token. Tokens whose market is too thin to swap your balance, such as lending receipts, are only used when you pick them. Without a connected wallet, or without such a token worth at least $1 there, it starts with the chain’s native token. If your wallet data is still loading or refreshing when the form opens, it switches once loading finishes unless you have already picked a token or started entering an amount, including an unfinished decimal. Increase follows the same rule. Selecting both underlying tokens turns this row into Total deposit, in your display currency. Entering $10 sets a $10 total, split between the tokens for the pool or selected range. Under it, You provide has a row for each token: its wallet balance in the token and its value, an amount you can type in the token or, with its unit switch, in your display currency, and a bar for the share of that balance in use, such as 62% · ≈$14.38. Type the total, type one token’s amount (for example $5 of ETH, whatever the USDC comes to), or drag a token’s bar to a share of that balance; the other amounts follow, because the pool or range sets the mix. A tick on a bar marks the most of that token the other balances allow, and dragging a bar to its end returns to the maximum. The Auto split badge marks that every amount is split this way; hover or tap it for a short explanation. The total starts at the maximum your balances cover, reserving network gas for a native token, and follows balance and range changes until you enter an amount or drag a bar. MAX returns to the maximum and retries a failed gas estimate. A typed total or token amount is kept through range and price changes; a token amount typed in your display currency keeps its value. Under the total, Max shows the largest total your balances cover and names the token that limits it, such as “needs WETH” when a required token has no balance. The balances stay visible then, and Use USDC only (naming the token you hold) switches to a single-token deposit. An amount above what a balance covers turns that token’s row red and names what it needs. A token the selected range does not use stays at zero. When token prices are unavailable, the total row accepts a percentage of the available mix. Selecting a single token again re-enables the combined row and resets its amount. Above the field, Balance states the token’s balance and its value; MAX inside the field is the one control that fills it. Under the field, the balance slider shares its row with the entered amount’s value, such as ≈ $500.00, so typing never adds a line; hover the value for the token’s price.

Combined selector with underlying token amounts

For concentrated-liquidity deposits and increases using both underlying tokens, including on Hemi, the entered amounts are maximum spend caps. The quote pairs them using current pool state. If a meaningful amount would remain unused, review the adjusted amounts before continuing; the quote is refreshed after you confirm. Unused tokens stay in your wallet.

The maximum balance shows token units and an approximate fiat equivalent when a price is available. The token/currency switch changes input units without hiding the balance conversion. Amount feedback and the percentage slider remain available, and an entered amount shows its share of the balance beside its value; entering a currency amount also shows its token equivalent.

The token picker opens as a dropdown as wide as the full input row, or in a bottom drawer on phones. The list always opens at the top, where the pool’s options and the tokens you hold come first. Tokens outside vfat’s whitelist appear in Unlisted tokens, after the other tokens, even when you hold a balance or they show a dollar value. Search by symbol or full address to find them directly. The dropdown adjusts its position and scrolls to fit the available screen space. Token rows separate fiat value, when available, from token balance. Faded list edges indicate more results above or below. Use the arrow keys to move through results; the active row stays readable. The Sickle positions tab identifies each position by its token logos, name and NFT or range ID, and shows its USD value when available. On touch devices, opening the token picker shows the token list without automatically focusing search or opening the keyboard. Tap the search field to type a symbol or paste a token address.

On desktop, click the amount field to close the token dropdown and type, or double-click to select the existing amount. MAX and the token/currency switch also close the dropdown when used. Press Escape to close it and return focus to the token selector. These controls work the same way in Increase.

In the picker’s Sickle positions tab, search the start of the displayed position label or any token symbol in it, ignoring case. Symbols retain their punctuation: USDC.e finds positions containing USDC.e. You can also paste the full pool address. Only positions on the selected network are shown.

Sickle positions in the Deposit asset dropdown

Sickle positions in the mobile Deposit asset drawer

Choose a row as before. Only available deposit modes are shown. When there is more than one available way to deposit, Deposit mode cards appear below the deposit asset input, just above Position range. Each card shows that mode’s Avg APR, using the same average APR as the table, followed by its source: Swap fees, Token rewards, or Swap fees + rewards. The source reflects the current APR breakdown, so a farm with zero token rewards can show only swap fees. Zero APR shows No current APR, and missing source data shows Source unavailable. Quick Deposit uses the same labels. The selected card is highlighted like the position range presets:

  • Unstaked provides liquidity without staking.
  • Staked provides liquidity and stakes in the named farm. This does not imply that fees and token rewards are both earned: the source label beneath the APR shows the income available for that mode.

The action button says Deposit for Unstaked and Deposit & Stake for Staked, including when the farm currently pays zero rewards. Quick Deposit uses the same action labels.

Rows and Quick Deposit start with the available mode with the highest Avg APR that matches your filters. Opening a row or Quick Deposit keeps that mode, and automatic choices update when browse data refreshes. If you explicitly select Staked or Unstaked, your choice stays selected while its metrics refresh. Changing the extra-incentives filter restores the automatic highest-APR choice. Switching modes keeps the form, entered amount, range, and pool details in place. The quote refreshes for the new mode; Deposit stays disabled until that mode is ready. It does not move existing positions. If your selected mode becomes unavailable, it disappears from the choices and Deposit stays disabled until you choose an available mode. The Deposit mode section is hidden when no modes are available. The action pane explains that deposits are unavailable.

Choose a deposit mode

Pools containing tokens outside vfat’s curated list show an amber Unverified tokens indication only when no usable backend assessment is available. Completed positive results replace this fallback. Recorded transfer restrictions use red, and measured transfer taxes use amber; open the shield for the affected token and check time. These indications do not hide pools or change action eligibility.

The action button offers Connect wallet when disconnected. Once connected, one line above the deposit button says what comes next, and the button keeps its label. It names what blocks the deposit, such as Enter an amount to get a quote, Not enough balance for this amount or Fix the range above to continue; shows Updating the quote… while a new quote loads; and then reads Ready with the route’s price impact. A price impact above your limit reads Price impact 3.20% · you’ll confirm it before signing. Notices shown in the form, such as gas funding or a transfer tax, are counted on this line, for example 1 notice · Rebalance needs gas funding. Details opens the quote; Show moves to the bound or notice concerned, with a list when there are several. The line keeps one height, so notices never push the button. Increase, Withdraw, Rebalance, Compound and Harvest, including their Liquidity Book and Metric versions, show the same line above their button, starting from Connect a wallet to continue or what blocks the button; their transfer-tax notices sit in the form and are counted on the line.

On wider screens, after connecting your wallet and choosing a pool and mode, use the blue + (Deposit) button at the end of the row for a one-click quick deposit of ETH (or the native token). The menu states what a quick deposit uses: the native token, the pool’s average range (or 10 bins each side of the price for Liquidity Book pools) and no automation. It shows your wallet balance, then the three largest fixed amounts your balance covers, 25% and 50% of your balance, and Max after gas, each with its value and its own Deposit button. Max keeps back the estimated network fee for the deposit and refreshes when the estimate expires. While it refreshes, Max is unavailable; if the estimate fails, select Retry. The menu scrolls in short windows. If another transaction is running, confirm Queue it or Cancel; the menu closes after the deposit is queued. Balance-based amounts are masked while balances are hidden. Quick Deposit uses the same cards and average APR comparison. When it is unavailable the button turns gray, and its tooltip says what is missing, such as Deposit · connect a wallet. Alternatively, click anywhere on a row to open the full action pane, where you can:

  • Deposit any token: it’s automatically routed/swapped into the position
  • Deposit both underlying tokens directly, or an existing LP token or NFT position
  • Move an existing Sickle position from one farm into another
  • Choose a custom price range for concentrated liquidity farms
  • Set slippage and price impact for actions that swap tokens, and max dust for actions that add liquidity. Each field shows the value used for this action and offers to save a changed value as your default. Inspect the resulting swap route before signing.
  • Turn on cover or automation for the position at deposit time

Under the chart of a new concentrated-liquidity deposit or a Rebalance, Range mode sits immediately above the bound inputs with two choices, Follow price and Fixed prices. The mode controls the draft: Follow price keeps the % offsets as the pool price moves, while editing, and Fixed prices keeps the exact lower and upper prices. Each quote request sends explicit fixed bounds, and the transaction uses those quoted bounds in either mode; the help icon next to Range mode says so. Ordinary deposits and manual rebalances start with Follow price: edit the % change fields, with each bound’s price read-only beside its title. In Fixed prices, edit the price fields; their % change reads beside each title and updates as the market moves. Select a read-only value to edit it: a price switches to Fixed prices and a % switches to Follow price, then that bound’s field takes focus. Switching between Follow price and Fixed prices keeps the displayed range. While the pool price is unknown, the mode can’t change.

Select a bound’s field to type, or step it with − and +, ↑/↓ or the mouse wheel; each step moves one allowed pool tick increment. Tab moves from the lower bound to the upper bound; −, + and the read-only values stay out of the Tab order. Enter numbers using a decimal point or comma; percentages can include a leading minus or plus. Very small or large prices display in scientific notation, such as 1.23e-12, and scientific notation is also accepted when typing. Text, currency symbols and malformed numbers are rejected. The chart, the read-only value and the estimates follow as you type; Enter or leaving the field confirms the value. Escape restores the bound without changing your saved Custom range. In Follow price it restores the bound’s % offset, even if the price moved while you typed; Metric also restores the exact deposit weights. The field you are editing is outlined. For example, select the lower price, or choose Fixed prices, and enter 2000 and 2020 when USDC is the quote token. Bounds round outward to the pool’s allowed prices; long prices step down a size so they show in full.

A New position opened from an existing position starts with its exact fixed boundaries; you can then switch modes. Pool-migration reviews start with their proposed fixed ranges and also offer both modes; a changed range requires review again. These boundaries are token-to-token prices, including when both tokens are volatile. Liquidity Book and Metric also offer both modes; Metric rounds draft price targets to its oracle-priced bands. See Metric LP positions for how oracle updates affect them.

Range suggestions follow the same fallback order for tick-based, Liquidity Book and Metric pools: usable price history, an applicable pool default, then current liquidity distribution. If none is available, enter manual bounds. A sharp-movement warning and an oversized statistical goal keep their explanation instead of being replaced with a narrower fallback. Pool-default range uses the protocol’s existing default and relative width settings; it has no time estimate. Pool liquidity, or Liquidity shown for a partial snapshot, expands around the current trading price to cover at least 50%, 80% and 95% of the loaded liquidity for Tight, Standard and Wide. Whole bands may exceed these targets or make choices coincide. The range-help tooltip explains the source and selected coverage; these fallback ranges do not predict price movement, returns or time between rebalances. Partial liquidity describes its loaded window only, and indexed data can lag chain activity. New deposits start with Standard when available. Data refreshes and source changes preserve edited bounds and funding inputs.

Tight, Standard, Wide and Custom sit in one row, with exactly one selected. Each suggestion says about how often it needs a rebalance, from your saved rebalance goals, such as ↻ every 3 days; without usable history it describes its width instead, such as narrower, pool default and wider, or its share of pool liquidity. Bounds appear only in the fields under the chart. Changing a bound selects Custom, which shows an estimate for your own bounds, such as ↻ ≈ every 4 days, or no estimate without usable history. Choosing a suggestion afterwards keeps your range in Custom, so you can switch back in one click; undoing your change selects the suggestion again. In Rebalance, Custom starts with the proposed default range. Nothing is added between the choices and the chart: the history used, such as 14 days of price history, sits beside the Position range title, and its help explains goals, the estimate and their limits. On narrow screens the line drops “every” (↻ 3 days).

Wherever you edit a range, in Deposit, Rebalance, and Increase for Liquidity Book and Metric pools, the price direction, such as USDC per WETH, sits in the Position range header from the moment the tab opens. For an existing position it also sits at the top of the Current position chart, or beside a Liquidity Book position’s price range, on every tab. The same selector appears beside the Price chart title, on a farm’s own page and in the wide two-column widget too. Click any of them once to switch to the reverse direction; all of them control price displays and range inputs for the selected pool. Switching units preserves the position’s price boundaries.

Aligned pool tags above the deposit form on mobile

Drag either vertical boundary handle on the New position chart to adjust its bound, using a mouse or touch. Drag the Range center handle with a dotted drag grip to move both bounds together without changing Width. The center handle appears when there is enough room between the boundary handles; zoom in to make more room. The bound values, width, APR and reward preview update together. Bounds snap to valid pool ticks and cannot cross or move beyond the pool’s allowed range.

On a focused boundary or center handle, arrow keys move one allowed tick increment, Page Up / Page Down move ten increments, and Home / End move to the allowed limits. Editing with a boundary or center handle selects Custom. These controls work in either price display direction, and new deposits and rebalances preserve their selected range mode through pool refreshes. Current-position charts stay read-only. Drag the chart away from the handles to pan, or zoom to make finer adjustments.

In Rebalance, Range mode also offers Width on tick-based positions: one field sets how wide the range is, and both bounds move together around the price, moving in proportion. − and +, ↑/↓ and the mouse wheel on the field step it, and on a computer you can also hold Alt (Option on a Mac) and scroll over the chart, up to widen and down to narrow; a hint under the mode says so. The handles on the chart step aside in this mode, and the range follows the price as it does in Follow price. If the price is inside the position’s range and you haven’t edited the range or chosen a suggestion, Width starts from the position’s own bounds, so narrowing keeps its token mix and swaps little. Otherwise it starts from the range shown and keeps that range’s mix. Near the narrowest range, rounding to the pool’s allowed prices shifts the mix more. If the price is outside the range shown, there’s nothing to scale around, so choose Fixed prices to move a bound first.

Range settings

The sliders button opens Range settings on every range chart: beside the price direction wherever you edit a range (Deposit, Increase, Rebalance, Aero migration’s Edit, and the Liquidity Book and Metric range pickers), and beside the title of a position’s own chart, including in Withdraw, Rebalance and Automate this position. On phones it opens as a sheet from the bottom. Each choice applies at once to every pair, is remembered in this browser, and has no Save button.

  • Rebalance goals: how many days Tight, Standard and Wide each aim to leave between rebalances, in whole days from 1 to 14, always in that order. The presets and their ↻ every 3 days labels update as you press − or +. Reset to 1 · 3 · 7 days restores the starting goals. Goals describe normal price moves, not a schedule or automation. When the suggestions follow the pool’s liquidity because there’s no usable price history, goals don’t change them and the popover says so. Portfolio’s Earn APR uses the Standard goal.
  • Rebalance starts from: appears on a Rebalance’s Position range, and on a tick-based position’s Current position chart. Recentered (the default) recalculates the range whether or not the position is in range: your automation’s saved offsets around the price if it has them, otherwise the same width centered on the price. Current bounds opens on the position’s own prices in Fixed prices, so neither bound moves until you move it, and Rebalance stays unavailable until you do. A bound the price has passed says so, such as Below the current price. Moving only that bound swaps far less than recentering, because the position already holds almost only one token; the new position then starts near the edge of its range, so a small price move can take it out again. On a position with auto-rebalance, the next automated rebalance goes back to its saved offsets. A Liquidity Book position using Shift keeps its saved offsets and doesn’t offer this choice. The choice applies at once to a range you haven’t edited, otherwise from the next rebalance you open. The quick Rebalance button on a row and the out-of-range review ignore it and always recenter, including when you continue with Open all rebalance options.
  • Range percentages: Ticks · 100 = 1% (the default) or Price change. The popover shows the current range both ways, such as 7.80% as ticks and 8.11% as price change. With Price change, a lower bound of −10% targets 90% of the displayed reference price and an upper bound of +10% targets 110%; the pool’s tick spacing rounds each bound outward, and Width measures the price increase from the lower bound to the upper bound. Switching changes the displayed percentages only: range boundaries and saved automation settings stay as they are. The same choice applies to rebalance buffers, Custom rebalance offsets, Yield’s Avg Range (%) and Positions’ range-width filters and column. APR, slippage and price impact keep their meanings.
  • Liquidity bars: show or hide where the pool’s liquidity sits on every range chart, including Liquidity Book and Metric charts.

The liquidity chart highlights your chosen range in blue, with liquidity outside it in grey. The bound fields sit below it, and the legend states the current price in the selected price units. The current-price line keeps its colour when price is outside the range. Violet bands show rebalance buffers between the chosen range and its rebalance thresholds. Amber areas beyond the cutoff prices show where rebalancing is paused. Rose-pink dashed vertical lines indicate auto-exit triggers. The chart updates as you edit automation settings and initially fits all configured limits. Disabled sides stay hidden; a zero buffer has no band. Lower and upper prices for each configured automation limit appear beneath the chart. Drag the violet, amber, or pink handles on their price lines to adjust rebalance buffers, cutoffs, or auto-exit triggers. The fields update together. When handles overlap, tap the handle with an arrow to choose the limit to drag. Handles separate automatically as their lines move apart. Blue range handles remain below the automation handles. Arrow keys make precise adjustments; cutoffs stay outside the chosen range and exit triggers cannot cross. Scroll to zoom the chart and drag away from the handles to pan.

Buffer bands, cutoff areas, and auto-exit limits in the range chart

Chosen liquidity range and readable price labels on mobile

Entering fixed quote-token price boundaries

To adjust a Position range bound with the mouse wheel, select its field under the chart and scroll up to increase or down to decrease it. Each adjustment uses the same pool tick increment and limits as the + / − buttons and the ↑/↓ keys. Wheel adjustments also work in manual rebalances. Scrolling over a field you haven’t selected keeps normal page scrolling. In a new deposit, a bound that can’t be used turns red and says why, for example Above the upper bound, while the chart keeps the last range it could draw and Custom reads no estimate. When the price has crossed a bound, so the position would start out of range and one-sided, that bound shows Above the current price or Below the current price. In manual rebalances, an unsafe range replaces the chart with the two bound fields so you can correct them.

Liquidity Book farms, such as LFJ and Pharaoh pairs on Avalanche, hold liquidity in discrete price bins instead of a continuous range. The Position range picker offers the same Tight, Standard and Wide rebalance goals as other concentrated-liquidity forms when recent price history is available. New deposits start with Standard when it fits the pool; choosing another goal uses your saved range settings. Suggestions round outward to whole bins. When price history is missing, stale or shows too little movement, the picker tries the same pool-default and liquidity-distribution fallbacks described above. A sharp-movement warning or a suggestion requiring more than 256 bins remains unavailable with an explanation. You can always enter your own bounds.

Under the chart, Lower bound and Upper bound each have one editable field with − and +. Follow price edits the % change from the active bin and shows its price beside the bound title. Fixed prices edits the price and shows its % change beside the title; select either read-only value to switch modes and edit it. Each step moves one bin. While a typed bound can’t be used, such as a lower price above the upper one, the chart keeps the last range it could draw. Range mode offers Follow price and Fixed prices just above the inputs. Ordinary deposits and manual rebalances start with Follow price: selected offsets follow the active bin while editing. Before each quote, the UI snapshots explicit fixed bin IDs; the quote API never recenters them. In fixed mode, the selected bin IDs stay fixed and the displayed % values change; quotes are checked against those bins. The API converts those fixed IDs using its quote snapshot. A quote that returns different bins is rejected, with no fallback to a relative range. Existing-position increases start with their saved fixed bins. Switching modes preserves the currently displayed range. In fixed mode, choose a suggestion again to recenter it. Custom keeps your own range while you try the suggestions. A keeper’s Keeper rebalance shape in automation settings is a set of offsets from the active bin, so it edits only the % change and shows the corresponding price beside the bound title. Switching display direction preserves the selected bins. A range spans at most 256 bins. Bin slippage, in bins, sets how far the active bin may move before the deposit is refused. Under Automate, turn on Rebalance and Exit for the position at deposit time, and Rewards when the pair pays hook rewards, as in other concentrated-liquidity deposits. Each one you turn on shows a one-line summary, such as Recenter when the active bin leaves your range · triggers 2 bins below, 3 bins above; Edit opens its bin settings, including Shift and the keeper’s max bin slippage for Rebalance. Move and a position’s Automation tab use the same chips.

On mobile, scroll inside the action panel to reach its range and automation controls; the action button stays below the form.

The range chart uses the same layout and controls as other concentrated-liquidity pools. Green shading marks the selected range; green and grey bars show indexed pool liquidity per bin in USD. Price labels mark the bounds and active price. Drag the handles to adjust the range in whole bins, including a single bin, up to the 256-bin limit. The bound fields follow the price direction. Drag the chart away from the handles to pan, or scroll or pinch to zoom. Nearby liquidity is cached so navigation stays smooth; exploring beyond the loaded area fetches more bins in the background. Hover, tap or use arrow keys to inspect a bin’s price, token reserves and pool value. Missing liquidity data leaves the selected range visible with a retry option; missing token prices leave reserves inspectable without drawing USD bars. Indexed reserves can lag chain activity. The shaded range marks where the deposit will be placed and does not estimate its added value.

Liquidity Book range picker with price-history suggestions and pool liquidity

On phones, tap a row to open the action sheet. The same cards appear inside the deposit form.

Deposit mode on mobile

The simulation and route preview appear right below the submit buttons for new deposits, position widgets and batch actions, expanded by default when a quote is available. Use the toggle beside the submit button to collapse or reopen the preview. Loading or expanding it keeps the buttons in place. In action forms with a status line, the last quote stays visible, dimmed and marked Updating, while a new one loads, instead of disappearing on each edit. Long forms and previews scroll while the submit controls stay visible. You can switch farms without closing the preview first.

You can preview a deposit route before approving its input tokens. A missing token approval that the deposit will request does not appear as a token-transfer warning in the preview. Choose Deposit or Deposit & Stake to complete any required approvals; vfat checks the final quote before asking you to confirm the deposit.

On chains where the native currency also has an ERC-20 interface, such as CELO on Celo and USDC on Arc, deposits and increases use native funding and skip that token’s approval transaction. MAX leaves enough native currency in your wallet for the network fee. Other input tokens and fee-token-only chains may still need approval.

Submitting an action opens its transaction dialog before the full quote and gas-funding check finish. The dialog shows Preparing until those checks complete; you can Cancel during preparation.

Network fee uses the transaction’s simulated gas once its full quote is ready. Before simulation, it uses a provisional estimate for the action. Gas prices refresh while the details are open. If a recent gas price is unavailable, the row says Estimate unavailable; your wallet supplies its own estimate before signing. The conservative amount kept back by MAX is a separate funding reserve.

After an approval transaction, deposits and increases wait for the approved amount to show on-chain before building the final quote. If it still has not appeared after about 15 seconds, the step stops and says the approval is not confirmed yet. Wait a few seconds, then choose Retry.

For an exact input amount, the final quote also checks your current token balance alongside the approval. If setup transactions used some of that token for gas, the step shows the available and required amounts. Return to the deposit form to update the amount, or add funds before choosing Retry. Your chosen amount is preserved, and Retry reads the balance again.

Under Automate, the Rebalance, Rewards and Exit chips name every automation the pool supports. Where cover is available, the section is called Automate & cover and a fourth Cover chip adds it the same way; its header counts what is on, such as 3 on · saved with the deposit. If an automation needs gas funding without a gas account, a one-line notice in its card gives the minimum position size, with Enable gas account where available; hover it for the full explanation. Select a chip to turn that automation on with recommended settings; a summary line says what it will do. Choose Edit to open its settings in place, one at a time, and the chevron to fold them back. Changes apply as you make them, with nothing to confirm. In Rewards, choose Compound, Keep tokens, or Convert tokens. Settings stay in place when you fold them or turn an automation off and back on. The app fills the compound or harvest settings from your reward choice. While any automation is on, the button reads Deposit & automate and the automations are saved with the deposit.

Managing open positions

Open positions show up on the Positions page, where quick actions let you compound earnings, harvest, or exit back to a token of your choice.

Contract infrastructure

vfat.io Yield is powered by Sickle, a self-custodied contract deployed on each chain the first time you deposit. Sickle executes complex, multi-step actions (swap, add liquidity, stake, and more) in a single transaction via audited Strategy contracts. See Audits for the full list of reports. Smart contracts carry risk regardless of audits, and there is always the underlying risk of the pool you enter.

Single-asset vaults

Single-asset yield vaults show one accounting asset, separate wallet/Sickle shares and measured historical net yield. Their Yield widget offers Deposit into your Sickle, opening the form directly without a single-option tab. The row also offers Quick Deposit with native-token amount presets on wide screens when entry is available and the connected wallet has sufficient balance. Pay with the accounting asset directly without a swap, or swap another token on the same network into it. The widget opens beside the table when space allows and in a sheet on smaller layouts. Use Deposits to select an existing wallet or Sickle holding and manage its shares. More details opens the standalone page, where holding cards also let you select which balance to manage. New entry is available only when the vault supports deposits.