Liquidity pool fee APR annualizes a fee-income measure under a stated window and denominator. Net return reconciles the position's changing token inventory, fees, incentives and costs over the period you actually held it. Compare that ending value with both starting capital and the same original tokens held outside the pool; a positive fee APR can accompany a loss or a shortfall against holding.
The useful question is how the account changed, including assets outside the position. A fee collection moves tokens from a pool claim into a wallet. It does not create a second reward, and it should not make previously earned fees disappear from the performance record.
Read the rate's window and denominator
A swap fee tier is a percentage charged on trading activity. Fee APR is an annualized measure of fees relative to some capital base. Neither is a fixed payment on your deposit.
The measurement window can be short. Uniswap's Token Details documentation describes the pool APR field as a one-day annualized rate. Its Explore documentation also lists Pool APR and Rewards APR separately. Those labels do not establish what a particular wallet earned over a month.
For an explicitly chosen simple convention, divide the fee value over an observed period by the chosen capital base, then multiply by 365 divided by elapsed days. This does not assume compounding. The distinction between an annualized rate and reinvested growth is covered in the APR versus APY guide.
Save whether the denominator is total pool value, the marked value of in-range positions, average position value or starting capital. Use the same reporting currency for fee income and capital. DEX TVL versus active liquidity explains why capital value and the raw active-liquidity parameter L differ. A rate using one capital base cannot be transferred unchanged to another.
Uniswap's fee documentation says fees accrue to liquidity active at the time of a swap, with allocation proportional to liquidity provided. A position's range, competing liquidity and trading activity therefore affect its own earnings. The separate guide to concentrated liquidity outside its range follows that eligibility boundary.
Start with a complete wallet boundary
Consider this hypothetical 30-day record. It represents no live pool, reward program or KLINEO feature. Token B is assumed to remain worth $1, and ETH is assumed to remain at $2,500 throughout. These fixed prices simplify the illustration; they are not guarantees about actual assets.
At the opening timestamp, the tracked wallet contains:
- 4 A at $900 each: $3,600.
- 3,600 B: $3,600.
- 0.04 ETH reserved for gas: $100.
Starting wallet value is $7,300. The first two balances, worth $7,200, enter an LP position. The ETH stays in the tracked wallet. No external capital is added or withdrawn. Network charges are paid from the reserve. Claimed fees and incentive tokens remain in that wallet without reinvestment or sales. Assume no service fees or taxes in this illustration.
At the cutoff, A is worth $1,600. The hypothetical principal claim contains 2 A and 6,000 B, worth $9,200. Treat those principal quantities as balance inputs to this reconciliation, rather than trying to reconstruct them from an APR. They are consistent with an idealized concentrated-liquidity reserve model; real positions require their actual range and chain state.
Fees are accounted separately from principal in this example. Uniswap's documented position details screen likewise separates liquidity balances from uncollected fee balances. Establish what each field contains before adding them together.
Reconcile each asset exactly once
During the month, the position generates a total fee balance of 0.08 A and 64 B. Of that, 0.03 A and 24 B have already been collected. The remaining 0.05 A and 40 B are claimable at the cutoff. All quoted fee quantities are after any applicable protocol allocation.
The wallet also receives 120 transferable incentive tokens R through a distribution requiring no recipient transaction. Their stipulated cutoff price is $0.50. This is an additional reward stream, separate from swap fees.
Included network transactions cost $12 for approvals, $28 for opening, $7 for a reverted collection attempt and $15 for the successful collection. Total paid gas is $62, or 0.0248 ETH at the assumed ETH price. That leaves 0.0152 ETH worth $38.
| Cutoff component | Quantity or calculation | Value |
|---|---|---|
| LP principal claim | 2 A × $1,600 + 6,000 B | $9,200 |
| Previously collected fees, still held | 0.03 A × $1,600 + 24 B | $72 |
| Uncollected claimable fees | 0.05 A × $1,600 + 40 B | $120 |
| Received incentive tokens | 120 R × $0.50 | $60 |
| Remaining gas reserve | 0.0152 ETH × $2,500 | $38 |
| Total marked wallet value | Sum of the five components | $9,490 |
The balance check is:
$9,200 + $72 + $120 + $60 + $38 = $9,490
There is an independent profit check. Principal appreciation contributes $2,000, fee tokens contribute $192 at cutoff prices, incentives contribute $60, and gas removes $62. Together, 2,000 + 192 + 60 − 62 = $2,190, matching $9,490 − $7,300.
The resulting marked account return is $2,190/$7,300 = 30% over 30 days. Gas has already reduced the reserve from $100 to $38. Subtracting $62 again from the ending table would charge it twice.
Now isolate the fee display. At cutoff prices, $192/$7,200 = 2.6667% of initially deployed principal. Simple annualization gives 2.6667% × 365/30 = 32.4444%, calculated with unrounded inputs.
That is an illustrative fee-only annualization using starting deployed capital and ending fee prices. The 30% figure is a period account return using the entire starting wallet. They differ in numerator, denominator and clock. Neither figure describes a promised next year.
Put the unchanged holding wallet beside it
The holding comparison starts with exactly the same assets: 4 A, 3,600 B and 0.04 ETH. Assume it makes no transactions during the window. At the same cutoff prices, it is worth:
4 × $1,600 + $3,600 + $100 = $10,100
Holding gains $2,800, or 38.3562% on the original $7,300. The LP wallet finishes $610 below it despite its positive fee balance and 30% account gain.
| Performance statement | Calculation | Result |
|---|---|---|
| LP return from starting wallet | $2,190 / $7,300 | 30.0000% |
| Holding return from starting wallet | $2,800 / $7,300 | 38.3562% |
| Difference in those returns | −$610 / $7,300 | −8.3562 percentage points |
| LP shortfall relative to ending holding value | −$610 / $10,100 | −6.0396% |
The percentage-point gap and the relative shortfall use different denominators. Reporting one as the other obscures the comparison.
Before fees, rewards and costs, principal alone trails the original two-token holding inventory by $800: $9,200 versus $10,000. Fees and rewards close $252 of that gap, while gas adds $62 to it. The resulting shortfall is 800 − 192 − 60 + 62 = $610.
The impermanent loss versus holding guide develops the inventory comparison. Here that inventory difference is already inside the two ending valuations. Subtracting an additional impermanent-loss estimate from the $9,490 total would count the same inventory effect again.
Separate earned quantities from their current value
The $192 fee figure marks all fee tokens at the cutoff. It does not claim they were worth $192 when they accrued. If A changed price after a collection, that change affects the value of the collected A still held.
For attribution, retain two records: token quantities earned, and their reporting-currency value at each accrual or collection timestamp under a stated method. Compare those with cutoff value to distinguish fee income from subsequent price movement. Do not sum historical dollar valuations and ending token values as though they were separate assets.
Incentives need the same discipline. The ledger's $60 is a mark on 120 R, not $60 of sale proceeds. Record reward eligibility, vesting, claim restrictions and the ability to sell the quantity. Keep conditional future emissions outside the current wallet total. If an earned restricted claim has value under your chosen methodology, disclose that claim separately from transferable tokens and explain its valuation.
A rising reward APR can also reflect a changing denominator or token price. It does not prove more transferable reward tokens reached this wallet.
Check costs and the withdrawal output
On Ethereum, gas is paid in ETH for computation, including transactions whose execution fails. That is why the included reverted attempt remains a cost in this example. Ethereum's gas documentation explains the charging rule. The failed-swap gas ledger shows how to distinguish included failures from attempts that never incurred an on-chain charge.
The $9,490 result is marked value while the position remains open. Future withdrawal, collection of remaining fees and conversion costs have not been paid. If an additional hypothetical closing transaction costs $30, the gas reserve falls to $8 and marked assets fall to $9,460. This still does not establish dollar cash proceeds: sale prices, slippage and any additional conversion charges remain to be measured. A cash-liquidation comparison must apply the corresponding sale assumptions to holding too.
Fee accounting also changes by implementation. Uniswap v2 embeds fees in reserves; v3 and v4 account for them separately, as its fee documentation describes. Adding a fee estimate to a reserve-based redemption value can therefore duplicate income.
Even with separate fee accounting, check the withdrawal payload. The documented Uniswap LP API flow bundles v3 uncollected fees into withdrawal output. If that output already includes this example's $120, do not add it again as a separate claim after withdrawal.
Save a reconciliation another person can check
For each measurement interval, retain this worksheet:
| Record | Validation |
|---|---|
| Pool identity and state | Chain, contracts, version, position identifier, range and cutoff block agree |
| Opening wallet | Principal, idle balances and gas reserve are included at opening prices |
| Ending principal | Quantities are redeemable principal, with fee inclusion explicitly identified |
| Fee history | Claimed transfers and remaining claims reconcile without duplication |
| Incentives | Earned quantities, restrictions and valuation are separate from future emissions |
| Costs | Actual receipts reduce the gas balance; prospective costs remain labeled estimates |
| Benchmark | Original token quantities use identical cutoff prices and the same initial reserve |
| Rate label | Window, denominator, price convention and annualization method are saved |
When external capital enters or leaves, retain dated flows and make matching contributions or withdrawals in the benchmark. Internal fee reinvestment changes the position's inventory without adding external capital; document it without crediting the benchmark with a new contribution. Retain transaction identifiers so the distinction can be checked.
At the next cutoff, reconcile principal, fees inside and outside the position, rewards and the remaining gas balance before reading the APR. Then place the unchanged holding value beside that total and explain every difference in units, prices or costs.
