Traderjoe

Traderjoe Liquidity Book allocates swap fees to the bins that trades use

Traderjoe Liquidity Book rewards liquidity providers (LPs) when swaps consume liquidity in their deposited price bins. A trade begins at the active bin and can continue through additional funded bins. Each participating bin earns fees for the portion that it handles, shared among its providers. Deposits outside that path don't receive fees from the trade, even when the pool records volume. Range choice therefore affects both fee opportunities and token exposure. The exchange now operates under the LFJ name.

Swaps Move Through Funded Bins

Liquidity Book's automated market maker exchanges assets at a fixed price within each bin, drawing on its available reserves. The active bin identifies the pool's current trading price. When a swap requires more of the output asset than that bin holds, execution continues through other funded bins. Empty bins contribute no liquidity, and the swap needs usable reserves in its direction of travel. This creates a sequence of discrete exchange rates within a single pool.

The fixed price prevents price impact within one bin, before fees. Crossing into another bin changes the rate for the next portion of the swap. Zero price impact inside a bin therefore doesn't imply that an entire large swap executes at its starting price. The active bin displayed after execution identifies where the trade ended; earlier bins can also have collected fees during that trade.

Which Bins Earn Fees From a Large Swap?

Every bin that supplies liquidity to a large swap earns fees on its portion of the trade. Fees don't all belong to the bin that remains active afterward.

Each traded bin allocates its liquidity-provider fees in proportion to the liquidity shares held within that bin. The pool records ownership through LBToken receipts, with a separate identifier for each bin. A provider's receipt balance relative to that bin's total receipt supply determines the relevant ownership share.

Untouched bins receive no swap fees from that trade, regardless of the pool's total volume.

A position spanning several bins can have a different ownership share at each price. Its fee income combines the allocations from the bins that actually handled trades while it held those shares. A pool-wide deposit percentage can't express those differences, especially when competing liquidity concentrates unevenly across the price range.

Range Width Sets Participation and Concentration

A liquidity range controls the prices where a deposit can participate in swaps. Its width and distribution determine how much capital sits at each price, creating different exposure to market movement.

Narrow Placement

A tightly concentrated allocation places more of a fixed deposit near selected prices. Holding competing liquidity constant, that increases the provider's share in those bins. Price movement can also carry trading beyond the entire allocation sooner, leaving the position with no new swap-fee income until its bins trade again.

Broader Coverage

A wider allocation funds more price points and can keep part of the position available as trading moves. With the same deposit spread evenly, each bin receives less capital. Wider coverage doesn't ensure continuous earnings: price can leave that range, and volume can remain concentrated where the provider holds only a small share.

Separated Deposits

Custom distributions can place different amounts in different bins, including separate clusters. The span between the lowest and highest funded prices doesn't make every intervening bin part of the deposit. A gap in the provider's allocation earns no fees when another provider's liquidity handles trading there.

Bin Step and Pool Identity

The bin step measures neighboring price spacing in basis points and helps define a Liquidity Book pool. One basis point equals 0.01%. Counting bins alone doesn't describe a position's price coverage, because that coverage also depends on the pool's bin step. A smaller step places adjacent prices closer together. The same number of bins can therefore cover different price intervals in pools with different steps.

Separate pools for the same assets can have different bin steps, versions, liquidity distributions, and fee settings. Their deposits and fee accounts remain separate. Ownership in one pool doesn't create a claim on another pool's swaps. Swap routing also matters: trades that use a different pool won't generate bin fees for this position. Pool identity belongs alongside range selection when comparing potential fee activity.

Illustration: Traderjoe Liquidity Book: Bin Step and Pool Identity

View full-size image

Spot, Curve, and Bid-Ask Allocations

Liquidity shapes distribute a deposit across its selected bins, changing where the position commits the most capital. They organize exposure within the range; they don't replace the bin-level fee rules.

Spot

Spot distributes liquidity uniformly over the chosen range. The width remains a separate choice, so a broad Spot allocation and a tightly concentrated Spot allocation have different participation and management trade-offs.

Curve

Curve concentrates the bulk of liquidity around a central price while allocating some to surrounding bins. It can keep more capital near that center without placing the whole deposit there. Trading away from the center encounters the smaller allocations, changing the position's share of fees along the range.

Bid-Ask

Bid-Ask weights liquidity toward the outer bins of a range spanning the active price, aiming to capture price fluctuations within that range. It can also support a one-sided allocation for acquiring or selling a token through swaps. That use combines inventory conversion with fee earning. Trading must reach the funded bins for either effect to occur.

Volatility-Sensitive Fees and Protocol Share

A Liquidity Book swap fee combines a base component with a variable component that follows the pool's volatility settings. The base component depends on the configured base factor and bin step. The variable fee uses a volatility accumulator that responds to bin movement and recent trading history. Its reference can persist or decay under the configured timing parameters. This allows fee rates to change as trading conditions change, including during a swap that crosses multiple bins.

The protocol can also take a configured share of swap fees. Liquidity providers receive the remaining fee allocation, so the gross charge to a trader isn't identical to LP income. Pool fee ownership and JOE staking represent different fee-sharing arrangements. A fee estimate needs the selected pool's parameters and trading activity; a bin step alone doesn't supply the total fee rate.

Fee Collection Depends on the Pair Version

Liquidity Book versions differ in how providers access accrued fees, even though bin participation remains central to earning them. V2.0 keeps fees separate from liquidity and lets providers claim them. In V2.1, liquidity-provider fees remain in the bin's reserves. Those retained fees increase the assets backing the position's receipts and become available through liquidity withdrawal. V2.2 retains this core accounting while adding hooks that support additional functionality.

A receipt balance needn't increase when the assets backing those receipts increase. This explains why fee accrual can raise a position's reserve value without delivering a separate wallet payment. Compounding also leaves the chosen bins in place; it doesn't relocate liquidity toward a new market price.

A Hypothetical Fee Share With V2.1 Accounting

Consider a hypothetical V2.1 position whose interface only recognizes V2.0's separate fee claims. All balances and trading amounts in this case are illustrative. The provider holds 135 LBToken receipt units in a bin with 675 total receipt units. A swap uses that bin and leaves 13.75 units of the input token as LP fees, after the protocol's share. Receipt ownership stays unchanged during the swap.

The provider's share is 135 / 675 = 20%. Ignoring integer rounding, the attributable fee component is 13.75 × 135 / 675 = 2.75 input-token units. That amount increases the assets backing the receipts. It doesn't arrive as a separate 2.75-unit payment in the wallet, and the swap also changes the underlying token inventory.

A position view that supports V2.1 reserve accounting provides the appropriate alternative to a separate-claim display. A compatible liquidity withdrawal redeems the selected share of current reserves, including retained fees and principal. Here, the 2.75-unit fee component forms part of that reserve claim. Additional providers entering the bin would change the share for later swaps.

Does Rebalancing Restore Fee Earnings Automatically?

Rebalancing places liquidity at new prices; fee income resumes when subsequent swaps actually use the newly funded bins. Manual rebalancing involves removing liquidity from existing bins and redeploying assets into another allocation. Withdrawal returns the position's share of current inventory, which can differ from the original token mix. The new deposit must fit the selected bins' permitted asset composition, so redeployment can require an asset conversion.

Network fees and any necessary swaps add to the cost of an adjustment. Repeatedly chasing the active bin can increase those costs, while leaving the position untouched preserves its existing price coverage. A return to previously funded bins can restore trading activity without a rebalance. Fee compounding supplies no automatic range-management service, and new placement alone produces no swap-fee income without trades.

Trading Fees and Incentive Reward Ranges

Concentrated Incentives can reward liquidity around the active bin under a pool's configured reward range. That reward window can include nearby inactive bins and moves as the active bin changes. Its eligibility rules differ from swap-fee allocation, which follows the liquidity that trades actually use. A bin can therefore qualify for an incentive without earning fees from a particular swap.

V2.2's hook-based rewarders support rewards tied to liquidity held within a defined range over time. Available reward programs and their settings depend on the pool. A rewards label doesn't mean every deposited bin qualifies, and an incentive allocation isn't evidence of trading-fee income. Distinguishing these streams also keeps a temporary reward offer from determining a range intended for continuing swap participation.

Fee Income Against Inventory Risk

A fee-earning bin also exchanges the assets backing its providers' positions, so growing fee income can accompany changing token exposure. A position that price passes through can end up entirely in one asset. For a narrower funded range, complete conversion can occur across a smaller price interval. Remaining outside the trading range then removes new swap-fee income without undoing the inventory conversion that already occurred.

Impermanent loss is the inventory-value shortfall relative to holding the original assets, before trading fees and incentives. Dynamic fees can offset some of that shortfall, but their size follows actual trading and fee settings. Rebalancing adds its own costs. The next allocation choice therefore concerns how much capital to keep near trading prices, how far to spread it, and which resulting token inventory fits the intended holding.

Traderjoe Liquidity Book: common questions

Can I Withdraw Liquidity From Selected Bins Without Closing the Whole Position?

Liquidity Book supports withdrawing specified amounts from selected bins while leaving other receipt balances intact. The pool redeems the chosen receipts against those bins' current reserves. Unwithdrawn shares remain in their existing bins, retaining their own eligibility for later trading fees. An interface must support the relevant bin selection to expose that control.

Why Does Adding to the Active Bin Sometimes Charge a Composition Fee?

In V2.1, an active-bin deposit can incur a composition fee when its asset ratio differs from the bin's existing ratio. The mechanism accounts for the swap needed to reconcile that imbalance. This charge concerns the deposit itself, so it can occur before the new position earns any trading fees.

Does Deposit Slippage Tolerance Define the Prices That I Fund?

Deposit slippage limits how far the active bin may move from the desired bin before the router rejects the deposit. Bin offsets and token distributions define the allocation relative to the active bin. Accepting more movement can shift the actual funded prices, so tolerance settings don't replace the selected liquidity distribution.

Are LBToken Receipts Fully Compatible With ERC-1155 Apps?

LBToken is a custom multi-token implementation resembling ERC-1155, so an integration needs to support its actual interface. It tracks balances by bin and supports batch operations, while omitting receiver callbacks and the URI metadata function. Recognizing ERC-1155 alone doesn't establish that an app can read or manage a Liquidity Book position.

Can a Reverted Liquidity Deposit Still Cost Network Fees?

An included deposit transaction that reverts consumes gas while its liquidity changes roll back. A wallet rejection before submission creates no included transaction. A separate approval transaction that already confirmed keeps its own network charge. Deposit failure therefore doesn't automatically reverse the costs of earlier successful transactions.

Why doesn't the pool's APR Match My Bin position's Return?

A pool's annual percentage rate (APR) doesn't describe the realized return of every bin allocation. Your income depends on the bins that traded, your shares in them, and the time you held those shares. A quoted rate can also include incentives or use a different measurement period from your holding period.

Where Do Tokens That aren't Added to My Bins Go?

The deposit's configured refund recipient receives unused token amounts, while the liquidity recipient receives the minted bin shares. These recipients needn't be the same address. Refunded amounts didn't fund the bins and don't earn their trading fees. Receipt balances record the added liquidity; the amount authorized or requested alone doesn't establish that ownership.

Updated