Como funciona por dentro
Códigos de builder
Frontends que o dono aprova como builders ganham uma taxa sobre o PnL das posições que seus usuários fecham, num percentual que o trader aceitou com a própria assinatura.
O que é um código de builder
O registro de chave de sessão que um trader assina (RegisterSessionKeyV2) indica um endereço no campo feeAddress, o código de builder do frontend, e em maxBuilderFee a maior taxa que o trader aceita pagar a ele. Enquanto esse endereço for um builder aprovado, cada posição que a chave fechar paga a ele o menor valor entre a taxa do próprio builder e esse máximo assinado. Uma chave registrada com o tipo original RegisterSessionKey não traz consentimento e não rende nada a nenhum builder. O app não indica nenhum builder, e toda operação, venha do frontend que vier, é enviada pelo relayer.
Quanto custa
- Ganhos. O trader paga ao builder a taxa dele, no máximo 0.5% do ganho escalado, além da taxa sobre ganho de 2% e da taxa de indicação.
- Perdas. A parte do builder sai do que o LP ganha, então a perda do trader não muda. Ela fica fora da base de cunhagem da perda.
- Nunca em liquidações, o que inclui um fechamento no preço de falência ou além dele, que é acertado como liquidação.
- Dentro do total. A taxa base, a taxa de indicação e a taxa de builder juntas nunca passam de 15% da base: a taxa de um builder é cortada para caber no espaço que as outras duas deixam.
Um builder só é creditado enquanto a fila de pagamentos está vazia e o LP consegue bancar a taxa, a mesma regra das taxas do próprio protocolo. Quando não consegue, o ganhador paga a taxa mesmo assim, e ela fica com o LP.
Só builders aprovados
- O dono aprova cada builder pelo timelock de 2 dias.
- O multisig de governança pode remover um builder na hora. A remoção interrompe a taxa em todas as chaves que o indicam; as chaves continuam funcionando.
- Cada builder define a própria taxa, até o teto do dono, de 0.5%. O dono pode mudar o teto pelo timelock, até 15%; baixá-lo abaixo da taxa de um builder limita o que esse builder ganha.
- Um registro que indica um endereço que não é um builder aprovado é recusado, pelo relayer e pelo contrato; o mesmo vale para um que indica um builder sem um máximo assinado, que não renderia nada.
Para builders
- Indique o seu endereço de builder em
feeAddressquando seus usuários assinaremRegisterSessionKeyV2, com a taxa máxima que eles aceitam emmaxBuilderFee; defina a sua própria taxa no registro comsetFeeRate, abaixo do teto. - As taxas ganhas se acumulam no Exchange:
builderFees(address)mostra as suas. - Resgate-as com
claimBuilderFees()no Exchange, enviado do seu endereço de builder. O resgate credita o seu saldo na exchange; qualquer parte que o LP não consiga cobrir naquele momento entra na fila de pagamentos. As taxas ganhas antes de uma remoção continuam resgatáveis. - Chave perdida: o dono pode mover as suas taxas não resgatadas para um novo endereço pelo timelock (
moveBuilderFees).
Até serem resgatadas, as taxas de builder são uma dívida do LP: ficam dentro do caixa do LP e são descontadas do LP contábil (veja Solvência e fila). O endereço do BuilderRegistry está em Endereços dos contratos.