> ## 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.

# Verifique você mesmo

> Cinco verificações que transformam as afirmações da arquitetura em coisas que pode resolver por si — duas delas sem qualquer ligação de rede.

Estas páginas fazem quatro afirmações repetidamente: que um cálculo de margem pode ser verificado isoladamente, que qualquer pessoa pode recalcular uma seleção de desalavancagem automática, que o funding é derivado e não decidido, e que dois nós honestos produzem resultados idênticos byte a byte. Uma afirmação com esta forma não vale nada até alguém de fora do protocolo a ter executado.

Esta página é o como. Cada verificação nomeia as entradas, de onde vêm e — tão importante quanto — o que *não* estabelece.

<div className="dg" data-dg="verify-tiers">
  <div className="dg-c" style={{aspectRatio:"720 / 248"}}>
    <svg className="dg-w" viewBox="0 0 720 248" aria-hidden="true" />

    <div className="dg-band" style={{left:"0.0000%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Apenas aritmética</span></div>
    <div className="dg-band" style={{left:"34.5370%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Dados públicos, qualquer nó</span></div>
    <div className="dg-band" style={{left:"69.0741%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Um nó completo seu</span></div>
    <div className="dg-b dg--blue" style={{left:"2.2222%",top:"18.5484%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Um requisito de margem</span></div>
    <div className="dg-b dg--blue" style={{left:"2.2222%",top:"45.9677%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Um preço de liquidação</span></div>
    <div className="dg-b dg--orange" style={{left:"36.7593%",top:"18.5484%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Uma seleção de ADL</span></div>
    <div className="dg-b dg--orange" style={{left:"36.7593%",top:"45.9677%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Um pagamento de funding</span></div>
    <div className="dg-b dg--green" style={{left:"71.2963%",top:"32.2581%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Um bloco, byte a byte</span></div>
    <div className="dg-free dg-mid" style={{left:"0.0000%",top:"83.0645%",width:"100.0000%"}}><div className="dg-n">Dois dos cinco não precisam de rede nenhuma: são funções puras sobre um registo de escalões publicado.</div></div>
  </div>
</div>

<h2 id="1-a-margin-requirement">
  1 · Um requisito de margem
</h2>

**Do que precisa:** um registo de escalões de alavancagem e um tamanho de posição. Nada mais. Sem nó, sem rede, sem conta.

A margem inicial e a de manutenção são funções puras do nocional e do registo de escalões; as fórmulas e o arredondamento exato estão em [Alavancagem](/pt/trading/leverage):

$$
\text{IM} = \text{nocional} \times \text{im\_leverage} \times 10^{\text{exponent}}
$$

$$
\text{MM} = \max\!\left(\text{nocional} \times \text{mm\_leverage} \times 10^{\text{exponent}} - \text{dedução},\; 0\right)
$$

Os registos de escalões são publicados no grupo **DEX Config** da [referência da API](https://testnet-openapi.intention.xyz/) — `im_leverage`, `mm_leverage`, o `exponent` partilhado e o `deduction` de cada escalão. Escolha um nocional, avalie ambas as expressões no papel e compare com o que o local cobra à mesma posição.

**O que prova:** o requisito é uma função publicada de parâmetros públicos, não um juízo conta a conta. **O que não prova:** que o registo de escalões esteja bem escolhido. Isso é uma questão de governação, não de aritmética.

<Note>
  O arredondamento faz parte da especificação, não é uma tolerância. Se o seu inteiro diferir numa unidade do do local, um dos dois está errado — veja as regras de arredondamento na página [Câmara de compensação](/pt/protocol/architecture/clearinghouse) antes de concluir qual.
</Note>

<h2 id="2-a-liquidation-price">
  2 · Um preço de liquidação
</h2>

**Do que precisa:** o mesmo registo de escalões, mais o seu saldo e a sua posição.

O limiar é um rácio, definido em [Liquidações](/pt/trading/liquidations):

$$
\text{rácio} = \frac{\text{margem de manutenção}}{\text{colateral líquido}}
$$

O colateral líquido é o saldo mais o P\&L não realizado, menos o que as ordens em livro reservaram. Resolva para o preço de marcação a que o rácio atinge o seu gatilho e tem o preço a que o protocolo vai agir — antes de agir.

**O que prova:** o gatilho é derivável antecipadamente a partir dos seus próprios números. **O que não prova:** o preço a que será efetivamente fechado, que depende do livro nesse momento e é limitado pelo preço de falência.

<h2 id="3-an-auto-deleveraging-selection">
  3 · Uma seleção de desalavancagem automática
</h2>

**Do que precisa:** as posições abertas e os preços de marcação de um mercado, a partir de qualquer nó completo.

A seleção é uma pontuação, definida em [Desalavancagem automática](/pt/trading/adl):

$$
\text{pontuação} = \text{\% de lucro não realizado} \times \text{alavancagem efetiva}
$$

Puxe as posições de um mercado do grupo **Accounts** e o preço certificado do grupo **Oracle**, calcule a pontuação de cada posição do lado com lucro e ordene. Essa ordenação é a fila. Compare o topo da fila que calculou com o indicador de ADL que a interface mostra.

**O que prova:** a fila é uma função de estado público. Ninguém escolhe, e não há nela uma posição que a sua própria aritmética não consiga encontrar. **O que não prova:** que a desalavancagem não o vá alcançar. Uma fila que sabe calcular continua a ser uma fila em que pode estar.

<h2 id="4-a-funding-payment">
  4 · Um pagamento de funding
</h2>

**Do que precisa:** o livro de ordens e o índice certificado da ronda de cobrança, mais a sua posição.

A taxa constrói-se em três passos em [Funding](/pt/trading/funding) — um prémio ponderado pela profundidade, escalado ao intervalo do mercado e depois contido:

$$
P = \frac{\max(0,\; \text{compra DW} - \text{índice}) \;-\; \max(0,\; \text{índice} - \text{venda DW})}{\text{índice}}
$$

$$
F = F_{8h} \times \frac{\text{segundos do intervalo}}{28{,}800}
\qquad
F_{\text{final}} = \operatorname{clamp}\!\left(F,\; F_{\min},\; F_{\max}\right)
$$

Depois a cobrança em si:

$$
\text{pagamento de funding} = \text{tamanho da posição} \times \text{preço de marcação} \times \text{taxa de funding}
$$

O livro vem do grupo **Markets**, o índice certificado de **Oracle**, e o pagamento que o protocolo realmente fez do endpoint de pagamentos de funding no grupo **Accounts**. Recalcule e compare.

**O que prova:** a taxa foi derivada do livro e do índice, não foi fixada por um operador. **O que não prova:** que o índice estivesse certo. Ver [o que o oráculo garante e não garante](/pt/protocol/architecture/oracle).

<h2 id="5-a-block-byte-for-byte">
  5 · Um bloco, byte a byte
</h2>

**Do que precisa:** um nó completo seu. Qualquer pessoa pode correr um — ver [Correr um nó](/pt/developers/run-a-node).

<Note>
  É a única verificação desta página que hoje não está disponível. A rede está numa [testnet privada](/pt/protocol/architecture/network-status) até abrir o acesso público, por isso as quatro primeiras podem ser feitas já e esta passa a poder sê-lo então. Está aqui porque as outras quatro valem o que valer esta.
</Note>

É a verificação em que assentam as outras quatro. Pegue num bloco confirmado e no seu estado anterior, execute-o e compare o seu resultado com o da rede. O determinismo aqui é imposto e não esperado: o caminho de execução não lê relógio, nem entropia em tempo de execução, nem vírgula flutuante, nem ordens de iteração aleatorizadas por hash — uma divergência é portanto um defeito e não uma tolerância. Ver [Porque o resultado é reproduzível](/pt/protocol/architecture/kernel).

Duas propriedades fazem disto um teste a sério e não uma cerimónia. O ordenamento é um objeto confirmado pelo consenso, pelo que a sequência que reexecuta é a que um quórum assinou e não a que o seu nó inferiu. E os preços são confirmados pelas mesmas assinaturas, de modo que não existe janela em que pudesse reexecutar contra um preço que a rede não certificou.

**O que prova:** que o estado que lhe é servido foi produzido pelas regras tal como publicadas, sobre entradas que a rede confirmou. **O que não prova:** que as regras estejam livres de defeitos. Reproduzir um bug exatamente continua a ser reproduzir um bug — é por isso que ao lado disto existem as [auditorias](/pt/protocol/security/audits) e o [bug bounty](/pt/protocol/security/bug-bounty).

<h2 id="what-none-of-it-covers">
  O que nada disto cobre
</h2>

A verificação limita o que tem de ser aceite por confiança; não o elimina. O que resta — o conjunto de validadores, o quórum de preços, o alcance da governação sobre os parâmetros e a ponte — está enumerado em [Pressupostos de confiança](/pt/protocol/architecture/trust). Leia essa página a seguir se veio à procura dos limites e não das garantias.

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

<CardGroup cols={2}>
  <Card title="Pressupostos de confiança" href="/pt/protocol/architecture/trust">
    O que sobra depois de verificado tudo o que é verificável.
  </Card>

  <Card title="Correr um nó" href="/pt/developers/run-a-node">
    Hardware, sincronização e o que um validador executa de facto.
  </Card>

  <Card title="IntentionKernel" href="/pt/protocol/architecture/kernel">
    Os quatro fechos que dão sentido à reexecução.
  </Card>

  <Card title="Referência da API" href="https://testnet-openapi.intention.xyz/">
    Detalhe ao nível do campo para cada entrada referida acima.
  </Card>
</CardGroup>
