> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimação de APR em CLMM

> Como a Raydium calcula os números de APR exibidos em pools CLMM, como estimar seu próprio APR para um intervalo hipotético antes de abrir uma posição, e os casos extremos que tornam o APR móvel enganoso.

<Info>
  **Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.**

  [Ver versão em inglês →](/algorithms/clmm-apr)
</Info>

<Info>
  O **APR exibido na interface da Raydium** para um pool CLMM é o APR de taxa realizado da **liquidez em intervalo** nos últimos 24 horas, projetado para um ano. Não é o APR que **sua posição** teria ganhado — isso depende de seu intervalo, seu tempo em intervalo, e sua participação da liquidez que estava ativa durante a janela de negociação.
</Info>

## A fórmula de referência

Para um pool CLMM, o APR de taxa diária mostrado na Raydium é calculado como:

```
apr_24h = (fees_24h / tvl_in_range_24h) · 365
```

Onde:

* `fees_24h` é a soma de taxas de swap do lado do LP acumuladas nas últimas 24 horas (em USD).
* `tvl_in_range_24h` é o valor médio ponderado por tempo em USD da liquidez que estava **em intervalo** durante a janela.

O denominador é o que diferencia o APR de CLMM do APR de CPMM. CPMM usa o TVL total do pool porque cada dólar sempre contribui. CLMM usa apenas o subconjunto em intervalo porque dólares fora do intervalo não geram rendimento.

## Qual será seu APR real

O APR de referência é uma estatística do pool, não de sua posição. Seu APR depende de quatro multiplicadores:

```
seu_APR = headline_APR
        · (sua_fração_em_intervalo / fração_em_intervalo_do_pool)  # bônus de concentração
        · tempo_em_intervalo                                        # disciplina de intervalo
        · (1 − desconto_de_taxa_de_transferência)                   # imposto Token-2022
        · fator_de_composição                                       # se você auto-reaplica
```

* **Bônus de concentração.** Se seu intervalo for mais apertado que a média do pool, cada tick ativo tem mais de sua liquidez por dólar do que a média do LP. Mais apertado = bônus maior (e amplificação de IL proporcionalmente maior).
* **Tempo em intervalo.** Se você estiver em intervalo apenas 40% do tempo, multiplique por 0,40.
* **Desconto de taxa de transferência.** Para mints Token-2022 com taxas de transferência, cada coleta de taxa passa por uma transferência que por si só causa perdas em basis points.
* **Composição.** Se você `collectFee` e reimplanta no mesmo intervalo semanalmente, o APR efetivo é cerca de `(1 + APR_diário)^365 − 1`. Sem composição é linear.

### Exemplo prático

Suponha que um pool CLMM SOL/USDC tenha:

* Volume 24h: \$120M
* Tier de taxa: 0,05% (LP recebe 88% das taxas após corte do protocolo)
* TVL total: \$40M
* TVL em intervalo: \$18M (45% do pool está atualmente em intervalo)

```
fees_24h = 120M · 0,0005 · 0,88 = $52.800
apr_24h  = (52.800 / 18.000.000) · 365 = 107%
```

A interface Raydium exibe **107% APR** para o pool. (Este exemplo usa um pool profundo e de alto volume para manter os números concretos; pools CLMM típicos exibem entre 10% e 50% APR, com pools de baixo volume bem abaixo de 10%.)

Agora você está considerando abrir uma posição:

* Seu intervalo: apertado o suficiente para você ter 2× a concentração média.
* Tempo esperado em intervalo: 70% (você verificará semanalmente).
* Sem taxas Token-2022. Sem auto-composição.

```
seu_APR ≈ 107% · 2 · 0,70 = 150%
```

Esse é um estimativa, não uma garantia. O volume realizado pode cair pela metade ou dobrar em uma semana.

## Por que o APR móvel é um sinal atrasado

O APR de CLMM se move **rapidamente** em relação ao APR de CPMM porque o denominador TVL em intervalo se move rapidamente:

* Um grande movimento de preço empurra blocos de posições para fora do intervalo, encolhendo o denominador. De repente seu TVL em intervalo restante parece "APR mais alto" — mas apenas porque competidores saíram, e tipicamente o volume também cai.
* Um pool atingindo um novo ATH pode exibir temporariamente 500–1000% APR por uma hora enquanto a maioria das posições foi calibrada para preços mais baixos e apenas poucos LPs agressivos permanecem em intervalo.
* Uma vez que o mercado se estabiliza, LPs rebalanceiam e o APR reverte à média.

Regras práticas:

* **Ignore APR de menos de 24h.** Muito ruído.
* **Prefira janelas de 7d e 30d.** A Raydium expõe ambas via [`GET /pools/info/ids`](/pt/sdk-api/rest-api) — campos `week.apr` e `month.apr`.
* **Teste sua intervalo específica** em dados históricos de volume e preço antes de comprometer capital significativo.

## Como a matemática funciona (passo de tick único)

Dentro de um único tick, o CLMM se comporta como um CPMM na quantidade de liquidez `L` ativa naquele tick. As taxas se acumulam em `fee_growth_global_X` e `fee_growth_global_Y` por unidade de liquidez. Para uma posição com liquidez `Lₚ` que abrange intervalos de tick `[i_lo, i_hi]`:

```
fees_earned_X = Lₚ · (fee_growth_inside_X(i_lo, i_hi, now) − fee_growth_inside_X(i_lo, i_hi, t_open))
fees_earned_Y = Lₚ · (fee_growth_inside_Y(i_lo, i_hi, now) − fee_growth_inside_Y(i_lo, i_hi, t_open))
```

Onde `fee_growth_inside` subtrai o crescimento de taxa abaixo de `i_lo` e acima de `i_hi` do acumulador global. Detalhes em [`algorithms/clmm-math`](/pt/algorithms/clmm-math).

Para calcular taxas *esperadas* durante um período futuro para um intervalo prospectivo, estime:

```
expected_fees_per_day = Σ_ticks_in_range (volume_at_tick · fee_rate · your_share_at_tick)
```

O SDK da Raydium expõe `getEstimateAprFromPositionAndPool` que faz essa estimativa usando o histograma recente de volume por tick.

## Auxiliar SDK

```ts theme={null}
import { Raydium, TxVersion } from "@raydium-io/raydium-sdk-v2";

const raydium = await Raydium.load({ owner, connection });
const pool = await raydium.clmm.getPoolInfoFromRpc({ poolId });

const apr = await raydium.clmm.estimatedApr({
  poolInfo: pool.poolInfo,
  poolKeys: pool.poolKeys,
  tickLower: -100,   // seu intervalo pretendido
  tickUpper:  100,
  volumeUsd24h: pool.poolInfo.day.volume, // ou uma estimativa customizada
});

console.log(`APR esperado: ${apr.feeApr * 100}% (apenas taxa, exclui incentivos de farm)`);
```

O método também retorna separadamente qualquer APR de farm se o pool tiver um farm associado. Seu "APR de LP" completo é `feeApr + farmApr`.

## Onde o APR de farm se encaixa

Pools CLMM da Raydium podem ter emissões Farm v6 sobrepostas. Recompensas de farm são pagas em um **mint de recompensa** (geralmente RAY ou um token de parceiro) independente de taxas de swap. A interface Raydium típicamente exibe:

```
APR Total = APR de Taxa + APR de Farm [em mints de recompensa $X, Y, Z]
```

O APR de farm é calculado similarmente mas usando o cronograma de emissão de recompensa e o preço atual do mint de recompensa em USD. Diferentemente do APR de taxa, não depende de volatilidade — é um cronograma fixo.

Veja [`products/farm-staking/overview`](/pt/products/farm-staking/overview) para matemática de emissão de farm.

## Erros comuns

* **"APR é composto automaticamente."** Não. As taxas devem ser reivindicadas via `collectFee`, depois manualmente reimplantadas. A Raydium não auto-compõe taxas de CLMM.
* **"Meu APR = APR de referência."** Apenas se sua concentração for média, seu tempo em intervalo for 100%, e você compor no mesmo ritmo. Os três geralmente são falsos.
* **"Tier de taxa mais alta = APR mais alto."** Apenas se o volume sobreviver à taxa mais alta. Em 1% um par pode citar 50% APR mas fazer 1/10 do volume; líquido menor que 0,25% em 120% × 0,1 = 12%.
* **"Posições fora do intervalo têm zero risco."** Elas têm zero renda de taxa mas IL completo na composição de token existente — a posição é agora "100% de qualquer lado".

## Referências

* [`algorithms/clmm-math`](/pt/algorithms/clmm-math) — derivação completa do acumulador de crescimento de taxa.
* [`algorithms/impermanent-loss`](/pt/algorithms/impermanent-loss) — o lado de perda da equação de LP.
* [`user-flows/choosing-a-pool-type`](/pt/user-flows/choosing-a-pool-type) — framework de decisão que usa essa estimativa de APR.
* [`sdk-api/rest-api`](/pt/sdk-api/rest-api) — endpoints de volume / APR ao vivo.

Fontes:

* Implementação de `estimatedApr` do SDK Raydium v2.
* Página de pool da interface Raydium (campos APR ao vivo).
* Derivação de crescimento de taxa do Uniswap V3.
