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

# Escalões de comissões

> A tabela de taxas, como o volume móvel é medido e agregado, quando o escalão muda e os rebates pagos aos makers relevantes.

A sua taxa desce à medida que o volume móvel sobe. A tabela é configuração on-chain e o escalão em que a conta se encontra é estado de conta on-chain — ambos legíveis, nenhum inferido.

<h2 id="the-schedule">
  A tabela
</h2>

| Escalão | Volume ponderado a 14 dias | Taker perp | Maker perp | Taker spot | Maker spot |
| ------: | -------------------------: | ---------: | ---------: | ---------: | ---------: |
|       0 |                          — |     0,045% |     0,015% |      0,07% |      0,04% |
|       1 |                    > 5 M\$ |     0,040% |     0,012% |      0,06% |      0,03% |
|       2 |                   > 25 M\$ |     0,035% |     0,008% |      0,05% |      0,02% |
|       3 |                  > 100 M\$ |     0,030% |     0,004% |      0,04% |      0,01% |
|       4 |                  > 500 M\$ |     0,028% |     0,000% |      0,04% |      0,00% |
|       5 |                 > 2000 M\$ |     0,026% |     0,000% |      0,03% |      0,00% |
|       6 |                 > 7000 M\$ |     0,024% |     0,000% |      0,03% |      0,00% |

A taxa de maker chega a zero no escalão 4. A partir daí, qualquer melhoria adicional para o maker vem do [programa de rebates](#market-maker-rebates) e não dos escalões de volume, porque o que está a ser recompensado é diferente — ver abaixo.

<Note>
  As taxas de spot são transportadas na mesma estrutura de configuração, e o que está ativo hoje são os mercados perpétuos. As colunas de spot são a tabela que se aplicará quando os mercados spot abrirem; neste momento não são cobradas sobre nada.
</Note>

<Warning>
  Esta é a tabela de referência, não um oráculo. A tabela em vigor é publicada on-chain e pode ser lida diretamente. Qualquer integração que fixe estes números no código acabará por aplicar uma taxa que a rede não está a cobrar — ver [Programadores](/pt/developers/overview).
</Warning>

<h2 id="how-volume-is-measured">
  Como é medido o volume
</h2>

$$
\text{volume ponderado} = \text{volume perpétuo} + 2 \times \text{volume spot}
$$

O spot conta a dobrar. O volume de spot é mais difícil de gerar e não traz nada da alavancagem que inflaciona o valor nocional dos perpétuos, pelo que dar-lhe mais peso é o que torna os dois comparáveis como medida de atividade e não como medida de alavancagem.

Três propriedades da janela:

**Móvel, não de calendário.** Catorze dias, medidos para trás a partir de agora. Não há reinício mensal para contornar nem degrau na fronteira do mês.

**Recalculado diariamente.** O volume é registado num instantâneo uma vez por dia, às 00:00 UTC. A janela é a diferença entre o instantâneo cumulativo de hoje e o de catorze períodos atrás — é isso que faz dela uma janela *móvel* e não um total acumulado.

**Agregado à conta principal.** O volume de cada subconta é somado sob o endereço principal e o escalão resultante aplica-se a todas. Dividir a atividade por subcontas não ajuda nem prejudica; o número é o mesmo de qualquer forma.

<h2 id="when-your-tier-changes">
  Quando o escalão muda
</h2>

Os escalões são recalculados uma vez por dia e aplicados no primeiro bloco depois das 00:00 UTC, a todas as contas cuja taxa mudou, em lotes.

<div className="dg" data-dg="fee-tier-pass">
  <div className="dg-c" style={{aspectRatio:"720 / 342"}}>
    <svg className="dg-w" viewBox="0 0 720 342" aria-hidden="true">
      <path className="dg-wire" d="M 125.60 78.00 L 139.20 78.00" />

      <path className="dg-head" d="M 145.60 78.00 L 139.20 82.40 L 139.20 73.60 Z" />

      <path className="dg-wire" d="M 275.20 78.00 L 288.80 78.00" />

      <path className="dg-head" d="M 295.20 78.00 L 288.80 82.40 L 288.80 73.60 Z" />

      <path className="dg-wire" d="M 424.80 78.00 L 438.40 78.00" />

      <path className="dg-head" d="M 444.80 78.00 L 438.40 82.40 L 438.40 73.60 Z" />

      <path className="dg-wire" d="M 574.40 78.00 L 588.00 78.00" />

      <path className="dg-head" d="M 594.40 78.00 L 588.00 82.40 L 588.00 73.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">00:00 UTC</span><span className="dg-s">instantâneo do volume</span></div>
    <div className="dg-b dg--sky" style={{left:"20.7778%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Volume da janela</span><span className="dg-s">instantâneo de hoje menos o de 14 períodos atrás</span></div>
    <div className="dg-b dg--sky" style={{left:"41.5556%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Tabela de escalões</span><span className="dg-s">lida da cadeia em direto</span></div>
    <div className="dg-b dg--blue" style={{left:"62.3333%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Só as taxas alteradas</span><span className="dg-s">agrupadas numa transação de protocolo</span></div>
    <div className="dg-b dg--green" style={{left:"83.1111%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">A cadeia resolve a taxa</span><span className="dg-s">pelo índice do escalão</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">A tabela é lida em cada ciclo, nunca guardada</span><span className="dg-s">Um serviço com uma cópia própria continuaria a aplicar a tabela de ontem depois de a rede a ter mudado, e nada pareceria errado até alguém reconciliar uma comissão.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Alterações detetadas nas taxas, não nos escalões</span><span className="dg-s">Um limiar que se move, ou um escalão reprecificado, muda o que se paga sem mudar o número do escalão.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">A cadeia resolve a taxa final</span><span className="dg-s">A transação transporta um índice de escalão; um índice fora do intervalo válido faz falhar o lote inteiro em vez de o aplicar parcialmente.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Um dia só conta depois de todos os lotes confirmados</span><span className="dg-s">Uma interrupção a meio reexecuta o dia inteiro, o que é seguro porque a mesma janela produz sempre a mesma resposta.</span></div>
  </div>
</div>

Vale a pena explicitar quatro pontos deste ciclo, porque são a diferença entre uma tabela correta e uma tabela que apenas costuma estar correta.

**A tabela de escalões é lida da cadeia em cada recálculo, nunca guardada.** Um serviço com uma cópia própria continuaria a aplicar a tabela de ontem depois de a rede a ter mudado, e nada pareceria errado até alguém reconciliar uma comissão.

**As alterações são detetadas nas taxas, não nos números dos escalões.** Comparar *posições* de escalão falha dois casos reais: um limiar que se move e faz uma conta inalterada cair noutro escalão, e um escalão que é reprecificado mantendo o mesmo número. Ambos mudam o que paga. Nenhum muda o número do escalão.

**A transação transporta um índice de escalão; a cadeia resolve a taxa.** O mapeamento autoritativo de escalão para taxa é aplicado na execução, contra a configuração em vigor nesse bloco. Um índice fora do intervalo válido faz falhar o lote inteiro em vez de o aplicar parcialmente.

**Um dia só conta como aplicado depois de todos os lotes serem confirmados.** Uma interrupção a meio do recálculo reexecuta o dia inteiro, o que é seguro porque o cálculo é idempotente — a mesma janela produz a mesma resposta.

Todo este ciclo corre fora da execução do bloco e grava o resultado de novo na cadeia. Ver [Serviços de programa](/pt/protocol/architecture/programs) para saber por que razão é esta a forma escolhida, em vez de calcular o volume dentro do bloco.

<h2 id="market-maker-rebates">
  Rebates para market makers
</h2>

Os makers que fornecem uma fatia relevante da liquidez da plataforma são **pagos** em vez de cobrados.

| Quota do volume de maker a 14 dias | Taxa de maker |
| ---------------------------------: | ------------: |
|                             > 0,5% |       −0,001% |
|                             > 1,5% |       −0,002% |
|                             > 3,0% |       −0,003% |

Uma taxa negativa é um rebate, recebido em cada execução como maker.

A base é diferente da dos escalões de volume, e é essa diferença que importa. A elegibilidade para um escalão mede-se pelo **volume absoluto da conta**. A elegibilidade para o rebate mede-se como **quota do volume de maker de toda a plataforma** — recompensa, portanto, representar uma fração significativa do livro, que não é o mesmo que negociar muito. Uma conta pode ser grande em termos absolutos e irrelevante para a profundidade do livro; o rebate destina-se às contas cuja saída se notaria.

Os rebates são limitados on-chain: uma taxa de maker não pode descer abaixo de −0,1%, independentemente da configuração. Ver [Comissões de negociação](/pt/programs/fees#what-the-rate-can-be).

<h2 id="negotiated-rates">
  Taxas negociadas
</h2>

As taxas podem ser definidas diretamente sobre uma conta, fora da tabela de escalões.

Uma conta com uma taxa negociada é **deliberadamente ignorada pelo recálculo noturno dos escalões**. Sem essa exceção, o recálculo diário sobrescreveria os termos acordados na primeira vez que o volume se mexesse, e voltaria a fazê-lo todas as noites — o tipo de falha que é invisível até alguém reconciliar um mês de execuções.

<h2 id="reading-your-tier">
  Consultar o escalão
</h2>

As duas metades são estado da cadeia e ambas podem ser consultadas: a **tabela**, através da configuração de comissões, e **o escalão e a taxa atribuídos à conta**, através do estado da conta.

O hábito que vale a pena criar em qualquer integração é ler ambos em direto e calcular a partir deles o custo esperado, em vez de guardar uma taxa no arranque. É também a única forma de detetar o caso em que a taxa mudou por uma razão que não o seu próprio volume — uma revisão da tabela, o movimento de um limiar, a aplicação de uma taxa negociada.

<h2 id="where-to-go-next">
  Para onde ir a seguir
</h2>

<CardGroup cols={2}>
  <Card title="Comissões de negociação" href="/pt/programs/fees">
    Como é calculada uma comissão e que taxa se aplica.
  </Card>

  <Card title="Market making" href="/pt/trading/market-making">
    O que a plataforma exige de um maker e o que lhe oferece.
  </Card>

  <Card title="Serviços de programa" href="/pt/protocol/architecture/programs">
    Como o escalão é calculado off-chain e gravado de novo na cadeia.
  </Card>

  <Card title="Comissões fora da negociação" href="/pt/programs/other-fees">
    Custos de ponte, de conta, de vaults e de liquidação.
  </Card>
</CardGroup>
