Skip to main content
Esta página trata do caso em que um levantamento foi liquidado on-chain mas chegou a um sítio onde não serve de nada — tipicamente porque o destino é um smart contract que não sabe lidar com o ativo, ou porque o endereço de destino está numa cadeia diferente da pretendida.
Teste sempre primeiro um destino de levantamento novo com um montante insignificante. Um teste de um dólar é barato; um erro sobre um saldo real pode ser irrecuperável.

As duas variantes comuns

Variante A: levantou para o endereço de um smart contract que não consegue receber o ativo. Os fundos chegaram ao contrato como esperado, mas o contrato não tem lógica para lidar com um saldo daquele token. Se o contrato expuser uma saída de emergência genérica — por exemplo, uma função de varrimento reservada ao proprietário — e esse proprietário for a sua conta, pode recuperar diretamente. Se não expuser, e o contrato não estiver sob o seu controlo, os fundos ficam efetivamente encalhados. Um subcaso comum é levantar para um contrato de depósito de uma exchange numa cadeia em que essa exchange não opera. O contrato existe, a transferência teve êxito, mas o serviço centralizado do outro lado não está a observar essa cadeia e nunca vai creditar nada. Contacte primeiro esse serviço; a recuperação, se for possível, é do lado deles e não do nosso. Variante B: levantou para um endereço numa cadeia diferente da que esperava. Se o endereço estava correto mas a cadeia selecionada no formulário de levantamento estava errada, os fundos passaram a viver nesse endereço na cadeia não pretendida. A recuperação depende inteiramente de esse endereço, nessa cadeia, estar sob o seu controlo ou de alguém da sua confiança. Se o endereço foi derivado de uma chave que ainda tem e a cadeia é compatível com EVM, basta importar a chave numa carteira dessa cadeia e mover os fundos. Se a cadeia usa outro esquema de endereços e o endereço foi gerado por um serviço sem relação nenhuma, a recuperação é improvável.

O que podemos e não podemos fazer

  • Não podemos reverter uma transação on-chain. Depois de um levantamento ser liquidado na cadeia de destino, a única entidade que pode mover os fundos é quem controla a conta de destino.
  • Podemos por vezes ajudar a identificar para que contrato os fundos foram parar e se esse contrato tem um caminho de recuperação.
  • Não podemos obrigar um contrato de terceiros a cooperar.

Passos imediatos

  1. Pare de enviar mais transações para o mesmo destino.
  2. Registe a transação de levantamento de origem na Intention, a cadeia de destino, o endereço de destino, o ativo e o montante.
  3. Envie um email para contact@intention.xyz com essa informação. Dizemos-lhe se o destino é um contrato conhecido e se algum caminho de recuperação é plausível.
  4. Se o destino for controlado por terceiros, contacte-os diretamente e guarde cópia de tudo o que enviar.

Como evitar esta classe de erros

  • Levante primeiro um montante pequeno, sempre que usar um destino novo.
  • Confronte o nome da cadeia no formulário de levantamento com a cadeia que a carteira de destino está a mostrar nesse momento.
  • Tenha cuidado redobrado com endereços de aspeto genérico — tudo o que começa por 0x é válido em muitas cadeias ao mesmo tempo.