Comprar cripto
Mercados
Spot
Centro de eventos
Centro de Recompensas
Mais
0-Fee Fest
ERC-4626: O que é ERC-4626?ERC-4626 é um padrão de tokens da Ethereum que define uma interface comum para vaults tokenizados que mantêm um ativo ERC-20 subjacente.Um vault tokenizado aceita um ativo cripto subjERC-4626: O que é ERC-4626?ERC-4626 é um padrão de tokens da Ethereum que define uma interface comum para vaults tokenizados que mantêm um ativo ERC-20 subjacente.Um vault tokenizado aceita um ativo cripto subj

ERC-4626

2026/10/13 15:31
#Advanced
Humanity
H$0.05624-2.91%
o1.exchange
O$0.4096-1.08%
UMA
UMA$0.3746-0.08%
MemeCore
M$0.89146+3.57%
DEAPcoin
DEP$0.0009907+0.24%

O que é ERC-4626?

ERC-4626 é um padrão de tokens da Ethereum que define uma interface comum para vaults tokenizados que mantêm um ativo ERC-20 subjacente.Um vault tokenizado aceita um ativo cripto subjacente e emite tokens de participação fungíveis que representam um direito proporcional sobre os ativos gerenciados pelo vault.

A especificação oficial do ERC-4626 padroniza depósitos, saques, emissão de participações, resgate de participações, prévias da taxa de conversão e limites do vault.

O ERC-4626 é um padrão Final Ethereum Request for Comments.Ele foi criado para facilitar a integração de vaults com rendimento por carteiras, aplicativos descentralizados, agregadores e outros contratos inteligentes.Às vezes, o padrão é chamado de Tokenized Vault Standard.O ERC-4626 não define uma estratégia de investimento nem garante que os ativos depositados gerarão retorno.Ele define como vaults compatíveis comunicam a contabilização de seus ativos e as funções de entrada e saída.

O que é um vault tokenizado?

Um vault tokenizado é um contrato inteligente que gerencia ativos cripto e emite tokens que representam direitos sobre esses ativos.O usuário deposita o ativo subjacente aceito pelo vault e recebe participações do vault.O vault pode emprestar ativos, fazer staking, fornecer liquidez, mantê-los em reserva ou usar outra estratégia definida por seu código.Se a estratégia gerar receita, o valor representado por cada participação pode aumentar.Se a estratégia perder ativos, o valor representado por cada participação pode diminuir.Portanto, uma participação do vault não equivale automaticamente a uma unidade do ativo subjacente.Seu valor depende da relação entre os ativos gerenciados pelo vault e o número total de participações em circulação.

Por que o ERC-4626 foi criado?

Vaults tokenizados já existiam antes do ERC-4626, mas frequentemente usavam funções, regras contábeis e terminologia diferentes.Um aplicativo que integrasse vários vaults precisava de um adaptador separado para cada implementação.Adaptadores personalizados aumentavam o trabalho de desenvolvimento e criavam mais oportunidades para erros contábeis.O ERC-4626 introduziu uma interface compartilhada para que vaults compatíveis pudessem usar os mesmos métodos básicos de depósito, saque, emissão, resgate e prévia.Essa padronização melhora a composabilidade, pois um aplicativo pode interagir com vários vaults por meio de um conjunto conhecido de funções.A padronização não torna idênticas as estratégias subjacentes.Cada vault ainda pode ter ativos, taxas, riscos, limites, administradores e lógica de investimento diferentes.

Ativos subjacentes e participações do vault

O ERC-4626 diferencia ativos de participações.O ativo é o token ERC-20 depositado e retirado do vault.A participação é o token ERC-20 emitido pelo vault para representar um direito sobre os ativos que ele gerencia.Por exemplo, um usuário pode depositar 100 unidades de um token subjacente e receber 100 participações quando a taxa inicial de conversão for de um ativo por participação.Se, posteriormente, o vault passar a deter 110 ativos e ainda houver apenas 100 participações, cada participação representará aproximadamente 1,1 ativo.Se, em vez disso, o vault perder dez ativos, cada participação poderá representar aproximadamente 0,9 ativo.O resultado exato depende da contabilidade do vault, das taxas, do arredondamento e do desempenho da estratégia.

As participações ERC-4626 são tokens ERC-20

Um vault ERC-4626 deve implementar o ERC-20 para seu token de participação.Assim, os titulares das participações podem ter saldos, permissões, transferências e aprovações ERC-20.O vault também deve implementar as funções opcionais de metadados ERC-20 para o nome, o símbolo e as casas decimais de sua participação.

Um vault pode tornar suas participações intransferíveis revertendo quando os usuários chamam

transfer
ou
transferFrom
.

Isso significa que a compatibilidade com ERC-4626 não garante que as participações possam ser negociadas livremente.Projetos podem restringir transferências de participações por motivos técnicos, regulatórios, contábeis ou de gestão de risco.

A função asset

A função

asset
retorna o endereço do contrato do token ERC-20 subjacente do vault.

Esse endereço informa aos aplicativos qual ativo é usado nos depósitos, saques e na contabilidade do vault.O padrão exige que a função não seja revertida.Os usuários devem verificar o endereço do token retornado, em vez de confiar apenas no nome ou símbolo do ativo.Tokens diferentes podem usar o mesmo símbolo de exibição.Um vault ERC-4626 padrão gerencia um único ativo ERC-20 subjacente.São necessárias extensões separadas para ativos nativos da blockchain ou estruturas de vault com vários pontos de entrada de ativos.

A função totalAssets

A função

totalAssets
informa a quantidade de ativos subjacentes gerenciados pelo vault.

Ela deve incluir o rendimento que já passou a fazer parte dos ativos gerenciados pelo vault.Também deve contabilizar as taxas cobradas sobre os ativos mantidos pelo vault.A função não deve ser revertida.O valor informado pode incluir ativos alocados por meio de uma estratégia externa, em vez de tokens mantidos diretamente no endereço do vault.Os usuários devem verificar como a implementação calcula os ativos gerenciados.Uma contabilidade incorreta ou manipulável pode produzir preços de participação enganosos e depósitos inseguros.

Como funciona a taxa de conversão do ERC-4626

A taxa de conversão do vault descreve quantos ativos subjacentes correspondem a um determinado número de participações.Um cálculo simplificado divide o total de ativos gerenciados pela oferta total de participações.Implementações reais podem adicionar ativos virtuais, participações virtuais, taxas, ajustes ou contabilidade específica da estratégia.A taxa de conversão pode aumentar quando o vault gera rendimento ou recebe ativos doados.Ela pode diminuir quando o vault perde ativos ou reconhece dívidas incobráveis.A taxa de conversão não é necessariamente um preço de mercado proveniente de uma plataforma de negociação externa.É uma relação contábil definida pelo contrato do vault.

A função convertToShares

A função

convertToShares
estima quantas participações correspondem a uma quantidade especificada de ativos subjacentes em condições ideais.

Ela serve como cálculo médio de conversão, não como promessa exata para uma transação específica.O resultado não deve incluir taxas de depósito.Ele não deve variar de acordo com a identidade de quem faz a chamada.Também não deve refletir limites temporários do vault ou condições aplicáveis apenas a um usuário.O padrão exige que a conversão seja arredondada para baixo, em direção a zero.

Um aplicativo que precisa estimar o resultado provável de um depósito real deve usar

previewDeposit
.

A função convertToAssets

A função

convertToAssets
estima quantos ativos subjacentes correspondem a um número especificado de participações do vault em condições ideais.

Ela não deve incluir taxas de saque.O resultado não deve variar de acordo com quem faz a chamada.O arredondamento também é feito para baixo, em direção a zero.A função pode ser útil para exibição de portfólio e contabilidade geral.Ela não deve ser tratada como uma cotação garantida de saque, pois saques reais podem ser afetados por taxas, limites, liquidez disponível e mudanças no estado do vault.

Depósito vs. emissão de participações

As funções

deposit
e
mint
permitem entrar em um vault ERC-4626, mas definem a transação de perspectivas diferentes.

Com

deposit
, o usuário especifica a quantidade exata de ativos subjacentes que deseja contribuir.

O vault calcula quantas participações o destinatário recebe.

Com

mint
, o usuário especifica o número exato de participações que o destinatário deve receber.

O vault calcula quantos ativos subjacentes precisam ser fornecidos.Essa diferença é importante quando um aplicativo precisa fixar o valor de entrada ou o valor de saída.

A função deposit

A função

deposit
transfere uma quantidade exata de ativos subjacentes para o vault e emite participações para um destinatário selecionado.

A maioria das implementações exige que o usuário aprove primeiro que o vault gaste o ativo ERC-20 subjacente.A transação deve ser revertida se não for possível depositar o valor total do ativo.Isso pode ocorrer devido a um limite de depósito, aprovação insuficiente, saldo insuficiente, pausa do vault ou outra restrição.

Um depósito bem-sucedido deve emitir um evento padronizado

Deposit
.

A função retorna o número de participações emitidas para o destinatário.

A função mint

A função

mint
emite um número exato de participações do vault para um destinatário.

Quem faz a chamada fornece a quantidade de ativos subjacentes exigida pela contabilidade atual do vault.A transação deve ser revertida se não for possível emitir o número de participações solicitado.A quantidade de ativos necessária pode incluir taxas de entrada cobradas pelo vault.

Uma emissão bem-sucedida deve gerar o evento

Deposit
, pois tanto depósitos quanto emissões representam uma entrada no vault.

Saque vs. resgate

As funções

withdraw
e
redeem
permitem sair de um vault ERC-4626.

Com

withdraw
, quem faz a chamada especifica a quantidade exata de ativos subjacentes que o destinatário deve receber.

O vault calcula quantas participações precisam ser queimadas.

Com

redeem
, quem faz a chamada especifica o número exato de participações a queimar.

O vault calcula quantos ativos o destinatário receberá.O proprietário das participações e o destinatário dos ativos sacados podem ser endereços diferentes.Quando quem faz a chamada não é o proprietário das participações, geralmente precisa de uma permissão ERC-20 suficiente.

A função withdraw

A função

withdraw
envia uma quantidade exata de ativos subjacentes a um destinatário e queima as participações necessárias de um proprietário.

A função deve ser revertida se não for possível sacar os ativos solicitados.Entre os possíveis motivos estão participações insuficientes, permissão insuficiente, limites de liquidez, restrições de saque ou uma estratégia pausada.O número de participações queimadas pode incluir uma taxa de saída refletida no processo de conversão.

Um saque bem-sucedido deve emitir o evento padronizado

Withdraw
.

A função redeem

A função

redeem
queima um número exato de participações e envia os ativos correspondentes a um destinatário.

A função retorna a quantidade de ativos subjacentes entregue.Ela deve ser revertida quando não for possível resgatar o total de participações solicitado.O valor dos ativos retornados pode ser reduzido por uma taxa de saída.

Um resgate bem-sucedido deve emitir o evento

Withdraw
.

Funções de prévia do ERC-4626

O ERC-4626 inclui funções de prévia que estimam o resultado de uma entrada ou saída de acordo com as condições on-chain atuais.

As funções são

previewDeposit
,
previewMint
,
previewWithdraw
e
previewRedeem
.

Ao contrário das funções gerais de conversão, as prévias devem incluir as taxas aplicáveis.Elas devem simular o resultado da forma mais próxima possível sem alterar o estado da blockchain.Uma prévia pode ficar desatualizada antes da execução da transação, pois outra transação pode alterar os ativos, a oferta, as taxas ou os limites do vault.Os aplicativos devem combinar as prévias com controles de slippage, em vez de presumir que o resultado cotado é garantido.

previewDeposit e previewMint

previewDeposit
estima o número de participações geradas pelo depósito de uma quantidade especificada de ativos.

Ela não deve retornar mais participações do que o depósito real emitiria no mesmo estado da transação.

previewMint
estima a quantidade de ativos necessária para emitir um número especificado de participações.

Ela deve retornar pelo menos a quantidade de ativos que a emissão real exigiria no mesmo estado da transação.Essas direções de arredondamento protegem o vault contra prometer aos usuários resultados mais favoráveis do que as funções que alteram o estado podem oferecer.

previewWithdraw e previewRedeem

previewWithdraw
estima quantas participações devem ser queimadas para receber uma quantidade especificada de ativos.

Ela deve retornar pelo menos o número de participações que o saque real exigiria no mesmo estado da transação.

previewRedeem
estima a quantidade de ativos obtida ao resgatar um número especificado de participações.

Ela não deve retornar mais ativos do que o resgate real forneceria no mesmo estado da transação.Essas funções ajudam as interfaces a explicar os custos antes de solicitar que os usuários autorizem uma saída.

Limites máximos de depósito e emissão

A função

maxDeposit
informa a maior quantidade de ativos que pode ser depositada atualmente para um destinatário.

A função

maxMint
informa o maior número de participações que pode ser emitido atualmente para um destinatário.

Esses valores devem considerar limites globais e restrições específicas do destinatário.Se os depósitos estiverem desativados, o máximo relevante deve retornar zero, em vez de ser revertido.Se não houver um limite prático, o vault pode retornar o valor máximo de um inteiro sem sinal.Um valor máximo não é uma reserva, pois as condições do vault podem mudar antes da execução da transação do usuário.

Limites máximos de saque e resgate

A função

maxWithdraw
informa a maior quantidade de ativos que um proprietário pode sacar no momento.

A função

maxRedeem
informa a maior quantidade de participações que um proprietário pode resgatar no momento.

Esses limites podem refletir saldos de participações, restrições de liquidez, períodos de bloqueio, operações pausadas e outras regras do vault.Um vault pode deter ativos valiosos e, ainda assim, informar um limite baixo de saque porque esses ativos não têm liquidez imediata.Os aplicativos não devem presumir que os ativos totais do vault estão sempre disponíveis para resgate instantâneo.

Eventos ERC-4626

O ERC-4626 define os eventos

Deposit
e
Withdraw
, além dos eventos normais de participação ERC-20.

O evento

Deposit
registra quem fez a chamada, o proprietário das participações, a quantidade de ativos depositada e a quantidade de participações emitida.

O evento

Withdraw
registra quem fez a chamada, o destinatário dos ativos, o proprietário das participações, a quantidade de ativos sacada e a quantidade de participações queimada.

Os aplicativos podem usar esses eventos para rastrear entradas e saídas do vault.

Os eventos ERC-20

Transfer
também registram a criação, queima e transferência de participações do vault.

Os indexadores devem compreender a relação entre esses eventos para não contabilizar duas vezes uma mesma ação no vault.

Rendimento do vault e valor das participações

Em geral, um vault ERC-4626 reflete o rendimento pelo aumento da quantidade de ativos representada por cada participação.O contrato não precisa enviar novas participações a cada titular sempre que houver rendimento.Em vez disso, o mesmo número de participações pode passar a ser resgatável por mais ativos subjacentes.Um vault também pode distribuir valor por outro método contábil, desde que sua implementação permaneça compatível.

Os usuários devem verificar como e quando os ganhos da estratégia são reconhecidos por

totalAssets
.

Rendimento pendente, não realizado ou informado externamente pode não estar disponível para saque imediato.

Taxas do vault

O ERC-4626 permite que os vaults cobrem taxas.Entre as cobranças possíveis estão taxas de entrada, saída, administração, desempenho e despesas da estratégia.O padrão não determina uma estrutura de taxas nem uma taxa máxima.As funções de prévia devem refletir as taxas aplicáveis à operação simulada.As funções gerais de conversão devem excluir as taxas.Os usuários devem verificar quem recebe as taxas, como são calculadas, se os administradores podem alterá-las e se são cobradas em ativos ou participações.Um rendimento anunciado como alto pode ser muito menor após a inclusão de todas as taxas e perdas.

Arredondamento e depósitos pequenos

Os cálculos ERC-4626 usam aritmética de números inteiros porque contratos inteligentes não podem emitir frações menores que a unidade mínima do token de participação.Por isso, o arredondamento pode fazer com que o depositante receba um pouco menos de participações do que o cálculo matemático exato indicaria.A perda se torna mais significativa quando um depósito gera apenas um número muito pequeno de unidades de participação.Em casos extremos, um depósito pode ser arredondado para zero participações.Um usuário que deposita ativos e recebe zero participações, na prática, transfere valor aos titulares de participações existentes.Os aplicativos devem rejeitar depósitos que resultem em um número inaceitavelmente pequeno de participações.

O que é um ataque de inflação ERC-4626?

Um ataque de inflação manipula a taxa de conversão entre ativos e participações de um vault, especialmente quando ele está vazio ou tem pouca liquidez.Um invasor pode fazer um pequeno depósito inicial e depois transferir ativos subjacentes diretamente para o vault, sem emitir participações adicionais.Essa doação aumenta os ativos associados às participações que o invasor já possui.O depósito de um usuário posterior pode então ser arredondado para um número muito pequeno ou zero de participações.O invasor pode resgatar as participações originais e capturar parte ou todos os ativos depositados pela vítima.

O guia de segurança atual do ERC-4626 explica essa manipulação do primeiro depósito e sua relação com o arredondamento.

Como se proteger contra ataques de inflação

Uma defesa usa ativos virtuais e participações virtuais no cálculo da taxa de conversão.Esses valores virtuais estabelecem uma taxa inicial mais segura antes que os usuários façam depósitos reais.Um ajuste de casas decimais também pode dar às participações maior precisão do que ao ativo subjacente.Uma precisão maior dificulta que um depósito normal seja arredondado para zero participações.Implementações atuais e mantidas podem incluir essas proteções, mas nem todos os vaults ERC-4626 implantados as utilizam.Os aplicativos também devem exigir uma quantidade mínima de participações na saída e rejeitar depósitos desfavoráveis.Outra opção de projeto é abastecer o vault com liquidez inicial bloqueada permanentemente, embora isso traga outras considerações operacionais.

Risco de slippage

O slippage ocorre quando o resultado real de um depósito ou saque difere do valor esperado pelo usuário.Outra transação pode alterar a taxa de conversão entre a prévia e a execução da transação do usuário.Taxas, doações, relatórios de estratégia, perdas e outros depósitos ou saques também podem alterar o resultado.As funções básicas de entrada e saída do ERC-4626 não incluem parâmetros explícitos de saída mínima ou entrada máxima.

A extensão ERC-5143 propõe funções sobrecarregadas com controles de slippage para interações diretas do usuário.

Um aplicativo também pode usar um roteador ou wrapper que verifica o resultado final de acordo com um limite definido pelo usuário.

Manipulação do preço das participações e oráculos

Às vezes, os aplicativos usam a taxa de conversão de uma participação ERC-4626 como fonte de valor.Isso pode ser perigoso quando a taxa pode ser alterada por doações diretas, contabilidade atrasada, baixa liquidez ou uma estratégia manipulável.

Um protocolo de empréstimo que usa participações do vault como garantia precisa entender com que facilidade

totalAssets
e a oferta de participações podem mudar.

Uma única transação pode criar uma taxa temporária que não é segura como oráculo de preços.Uma função de conversão ERC-4626 informa a contabilidade do vault e não deve ser automaticamente tratada como um preço de mercado resistente à manipulação.Integrações podem precisar de preços independentes, dados ponderados pelo tempo, limites de taxa ou outras salvaguardas.

Risco de reentrância e transferência de tokens

Depósitos e saques interagem com contratos de tokens externos.Um token malicioso ou incomum pode executar chamadas de retorno, retornar valores inesperados, cobrar taxas de transferência ou alterar saldos de forma não padronizada.Contratos de estratégias externas também podem chamar o vault de volta.Os desenvolvedores devem atualizar a contabilidade crítica em uma ordem segura e usar proteção adequada contra reentrância.

As diretrizes de segurança do Solidity explicam por que toda chamada a um contrato externo deve ser tratada como uma possível transferência de controle.

Proteger apenas uma função de entrada pode não ser suficiente quando um invasor consegue reentrar por outra função do vault.

Tokens subjacentes não padronizados

Tokens com taxa de transferência podem fazer com que o vault receba menos ativos do que o valor solicitado pelo depositante.Tokens com rebase podem alterar o saldo do vault sem uma transferência comum.Tokens com endereços bloqueados ou controles de pausa podem impedir saques.Tokens com casas decimais incomuns podem aumentar a complexidade da conversão e da exibição.Um token subjacente atualizável pode alterar seu comportamento após a implantação do vault.Os desenvolvedores de vaults devem medir o movimento real dos tokens e testar o comportamento do ativo específico, em vez de presumir um comportamento ERC-20 perfeito.

Risco de estratégia e liquidez

A padronização ERC-4626 não limita o que o vault faz com os ativos depositados.Uma estratégia pode envolver empréstimos, staking, fornecimento de liquidez, derivativos, bridges ou custódia externa.Cada atividade introduz riscos próprios relacionados a contratos inteligentes, mercado, contraparte, oráculos, liquidação e liquidez.Um vault pode informar que detém ativos valiosos e, ainda assim, não conseguir recuperá-los rapidamente.Também pode reconhecer perdas quando uma posição externa se torna insolvente.Os usuários devem avaliar a estratégia, não apenas a interface ERC-4626.

Risco de administrador e atualização

Um vault ERC-4626 pode ter funções administrativas que controlam taxas, limites, estratégias, pausas ou saques de emergência.Um vault atualizável pode mudar sua implementação depois que os usuários recebem participações.As atualizações podem corrigir vulnerabilidades, mas também introduzir comportamentos maliciosos ou inseguros.Um administrador comprometido pode redirecionar ativos, aprovar uma estratégia prejudicial ou bloquear saídas normais.Os usuários devem verificar a autoridade de atualização, os períodos de bloqueio, as exigências de assinatura múltipla, os poderes de emergência e a separação de funções.A conformidade com ERC-4626 não significa que um vault seja descentralizado ou imutável.

ERC-4626 e ETH nativo

O padrão ERC-4626 básico exige um único token ERC-20 subjacente.O ETH nativo não é um contrato ERC-20 e, portanto, não atende diretamente a esse requisito.Um vault pode usar uma representação tokenizada de ETH como ativo ERC-20 subjacente.

A extensão Final ERC-7535 adapta a interface ERC-4626 para vaults cujo ativo subjacente é ETH nativo.

Os usuários devem confirmar se um vault espera ETH nativo ou uma representação ERC-20, pois o envio do ativo errado pode falhar ou ficar inacessível.

Vaults síncronos e assíncronos

O ERC-4626 padrão foi projetado principalmente para fluxos atômicos de entrada e saída.Quando permitido, um depósito, emissão, saque ou resgate normalmente é concluído em uma única transação na blockchain.Algumas estratégias exigem um período de solicitação antes que os ativos ou as participações possam ser resgatados.

O padrão ERC-7540 estende o ERC-4626 com solicitações assíncronas de depósito e resgate.

Isso pode atender a estratégias com liquidação atrasada, liquidez limitada, atividade cross-chain ou ativos off-chain.Um vault assíncrono não deve ser avaliado como se todas as saídas ERC-4626 estivessem disponíveis imediatamente.

Vaults de ativo único e multiativos

Um vault ERC-4626 padrão tem um ativo ERC-20 subjacente e um token de participação do vault.Alguns sistemas de vault precisam de vários pontos de entrada de ativos que gerem o mesmo token de participação.

O padrão ERC-7575 adapta o ERC-4626 para estruturas de vault multiativos e pode separar o ponto de entrada do vault do token de participação.

Essa extensão adiciona diferentes requisitos de integração e detecção de interface.Um contrato não deve alegar seguir o comportamento padrão do ERC-4626 enquanto aceita silenciosamente vários ativos sem uma contabilidade documentada.

O ERC-4626 tem um ID de interface?

A especificação básica do ERC-4626 não exige detecção de interface ERC-165.Isso difere de padrões como o ERC-721, que definem suporte obrigatório ao ERC-165.Os aplicativos geralmente detectam o ERC-4626 por meio de suas funções, ABI publicada, código-fonte verificado, informações de registro ou documentação do projeto.Chamar uma função conhecida não é suficiente para comprovar conformidade completa.Uma integração deve confirmar a interface completa e testar o comportamento exigido do vault.

Como os desenvolvedores podem implementar ERC-4626

Os desenvolvedores devem começar com uma implementação mantida e revisada, em vez de criar a contabilidade do vault do zero.

A documentação atual da API ERC-20 e ERC-4626 oferece uma implementação reutilizável que pode ser estendida com uma estratégia.

Ainda cabe aos desenvolvedores definir como os ativos serão alocados, avaliados, recuperados e protegidos.Os desenvolvedores devem testar depósitos, emissões, saques, resgates, taxas, arredondamento, doações diretas, o comportamento de vaults vazios, perdas e tokens subjacentes incomuns.Testes de invariantes devem verificar se os usuários não conseguem sacar mais ativos do que suas participações justificam.As revisões de segurança também devem abranger administradores, estratégias externas, feeds de preços, caminhos de atualização e procedimentos de emergência.

Como os usuários podem avaliar um vault ERC-4626

O primeiro passo é verificar os endereços do vault e do contrato do ativo subjacente.O segundo é identificar a estratégia que gera o retorno esperado.O terceiro é revisar as taxas de entrada, saída, administração, desempenho e estratégia.O quarto é verificar os ativos atuais, a oferta de participações, a taxa de conversão e os limites de saque disponíveis.O quinto é conferir se o vault inclui proteções contra ataques de primeiro depósito e inflação.O sexto é revisar os poderes de administrador, atualização, pausa e emergência.O sétimo é entender se os saques são síncronos, atrasados, enfileirados ou dependentes de liquidez externa.O oitavo é analisar auditorias e o histórico de incidentes sem tratar uma auditoria como garantia.O nono é aplicar limites de slippage e evitar transações que emitam um número extremamente pequeno de participações.O décimo é testar um vault desconhecido com uma quantia limitada antes de expor ativos significativos.

Exemplo de depósito ERC-4626

Suponha que um vault gerencie 1.000 unidades de um ativo subjacente e tenha 1.000 participações em circulação.Antes de taxas e arredondamentos, cada participação representa aproximadamente uma unidade do ativo.

Um usuário consulta

previewDeposit
para saber quantas participações seriam geradas por um depósito de 100 ativos.

A prévia retorna 99 participações porque o vault cobra uma taxa de entrada e arredonda de acordo com sua implementação.O usuário autoriza o vault a gastar 100 tokens subjacentes.

Em seguida, chama

deposit
com 100 ativos e escolhe um endereço de recebimento.

O vault transfere os ativos, atualiza sua contabilidade, emite 99 participações e gera um evento

Deposit
.

Se a estratégia gerar ativos posteriormente sem emitir mais participações, essas 99 participações poderão ser resgatáveis por mais tokens subjacentes.Se a estratégia perder valor, as mesmas participações poderão ser resgatáveis por menos.

Erros comuns relacionados ao ERC-4626

Um erro comum é presumir que uma participação do vault sempre equivale a um ativo subjacente.

Outro erro é usar

convertToShares
como uma cotação garantida de depósito.

Um terceiro erro é enviar um depósito sem definir um resultado mínimo aceitável de participações.Um quarto erro é ignorar perdas por arredondamento em depósitos pequenos.

Um quinto erro é presumir que

totalAssets
equivale aos tokens mantidos diretamente no endereço do vault.

Um sexto erro é usar a taxa de conversão do vault como um oráculo de preços seguro sem analisar possíveis manipulações.Um sétimo erro é presumir que todos os ativos gerenciados estão disponíveis para saque imediato.Um oitavo erro é avaliar o padrão sem considerar a estratégia subjacente do vault.Um nono erro é tratar uma auditoria como prova de que não podem ocorrer perdas.Um décimo erro é presumir que a conformidade com ERC-4626 garante taxas justas, administradores seguros ou rendimento positivo.

Perguntas frequentes

O que significa ERC-4626?

ERC-4626 é o padrão de vaults tokenizados da Ethereum para vaults que emitem participações ERC-20 representando direitos sobre um ativo ERC-20 subjacente.

ERC-4626 é um token ERC-20?

Um vault ERC-4626 deve implementar ERC-20 para suas participações.

O que é o ativo subjacente?

É o token ERC-20 aceito para depósitos e entregue nos saques.

O que é uma participação ERC-4626?

É um token fungível que representa um direito proporcional sobre os ativos gerenciados pelo vault.

Uma participação sempre equivale a um ativo?

Não. A taxa de conversão muda de acordo com os ativos gerenciados, a oferta de participações, as taxas, o arredondamento, os ganhos e as perdas.

O ERC-4626 garante rendimento?

Não. Ele padroniza as interações com vaults e não garante que uma estratégia gere retorno positivo.

Qual é a diferença entre deposit e mint?

deposit
especifica o ativo de entrada, enquanto
mint
especifica a quantidade desejada de participações na saída.

Qual é a diferença entre withdraw e redeem?

withdraw
especifica a quantidade desejada de ativos na saída, enquanto
redeem
especifica o número de participações a queimar.

O que totalAssets retorna?

Retorna a quantidade de ativos subjacentes gerenciados pelo vault de acordo com sua lógica contábil.

As funções de prévia garantem o resultado final?

Não. O estado do vault pode mudar antes da execução da transação, por isso os aplicativos devem usar proteção contra slippage.

Vaults ERC-4626 podem cobrar taxas?

Sim. Os vaults podem cobrar taxas de entrada, saída, administração, desempenho ou outras taxas divulgadas.

O que é um ataque de inflação ERC-4626?

É um ataque que manipula a taxa de conversão inicial do vault, fazendo com que o depósito de uma vítima seja arredondado para poucas participações ou zero.

Como um vault pode reduzir o risco de ataques de inflação?

Entre as possíveis defesas estão ativos virtuais, participações virtuais, maior precisão das participações, liquidez inicial bloqueada e verificações de saída mínima.

Um vault ERC-4626 pode perder dinheiro?

Sim. Perdas da estratégia, explorações, dívidas incobráveis, movimentos de mercado, comprometimento de administradores e falhas externas podem reduzir o valor das participações.

As participações ERC-4626 podem ser transferidas?

Normalmente, elas oferecem suporte a transferências ERC-20, mas o vault pode torná-las intransferíveis.

O ERC-4626 pode usar ETH nativo?

O padrão básico exige um ativo ERC-20, enquanto o ERC-7535 adapta a interface para vaults com ETH nativo.

Um vault ERC-4626 pode gerenciar vários ativos subjacentes?

O padrão básico gerencia um ativo, enquanto extensões como ERC-7575 oferecem suporte a estruturas multiativos.

O ERC-4626 oferece suporte a saques atrasados?

O padrão básico se concentra em operações atômicas, enquanto o ERC-7540 o estende com fluxos assíncronos de solicitação e resgate.

O ERC-4626 exige suporte a ERC-165?

Não. A especificação básica ERC-4626 não exige detecção de interface ERC-165.

Um vault ERC-4626 é seguro por seguir um padrão?

Não. A conformidade melhora a interoperabilidade, mas não comprova que a estratégia, a contabilidade, os contratos ou os administradores sejam seguros.

Conclusão

O ERC-4626 é a interface padrão da Ethereum para vaults tokenizados que gerenciam um ativo ERC-20 subjacente e emitem participações ERC-20.Ele padroniza depósitos, emissões, saques, resgates, estimativas de conversão, funções de prévia, limites do vault e eventos de entrada e saída.O padrão facilita a integração de vaults por carteiras e contratos inteligentes sem exigir que todos usem a mesma estratégia de investimento.As participações do vault representam direitos proporcionais, não saldos fixos de um para um com o ativo subjacente.Seu valor pode subir com a receita da estratégia ou cair devido a perdas, taxas, dívidas incobráveis e falhas de segurança.Arredondamento, slippage, doações diretas e ataques de inflação no primeiro depósito exigem proteções cuidadosas.Os desenvolvedores devem usar implementações mantidas, testar o comportamento de vaults vazios, proteger chamadas externas e fornecer controles de saída mínima.Os usuários devem avaliar a estratégia subjacente, a liquidez, as taxas, os poderes administrativos, o sistema de atualização e o processo de saque, em vez de confiar apenas na compatibilidade com ERC-4626.Extensões podem adaptar o padrão para ativos nativos, liquidação assíncrona, proteção contra slippage e estruturas multiativos.Compreender o ERC-4626 ajuda os usuários de cripto a distinguir a contabilidade padronizada do vault dos riscos financeiros e técnicos específicos da estratégia que gerencia seus ativos.

Você também pode gostar

BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?