
Transações travadas: por que acontecem e como a substituição por taxa tira você disso
Você enviou um pagamento. A carteira diz «pendente». Passa uma hora. Depois três. O explorador de blocos mostra sua transação parada no mempool, sem confirmação, aparentemente para sempre.
Nada está quebrado e nada foi perdido. Você apenas deu um lance baixo num leilão, e o leilão continua rolando.
Taxas são um leilão, não um preço
Espaço de bloco é escasso e será para sempre. Cada bloco comporta uma quantidade limitada de dados de transação, e os mineradores escolhem quais transações incluir. Escolhem pela taxa — satoshis por byte virtual — porque é isso que maximiza a receita deles.
Ou seja, a taxa que você anexa não é um preço por um serviço. É um lance num leilão contínuo contra todos os outros que tentam entrar no próximo bloco.
Daí seguem duas consequências, ambas contraintuitivas:
Sua taxa só significa algo em relação à dos outros. A mesma taxa que confirmou em dez minutos na terça passada pode ficar dois dias parada num fim de semana movimentado. Nada mudou na sua transação; mudou a concorrência.
Não existe tempo limite. Uma transação com lance baixo não expira e não falha. Ela espera no mempool enquanto lances maiores passam na frente, e pode esperar indefinidamente. Os nós acabam descartando dos seus mempools as transações muito antigas — em geral depois de umas duas semanas — mas isso é um padrão local de faxina, não uma regra do protocolo, e você não pode contar com isso como saída de emergência.
Esse segundo ponto é o que torna transações travadas tão angustiantes. Sem mensagem de erro, sem estorno, sem ação óbvia. Só um carregando que nunca termina.
Por que a sua travou
A estimativa de taxa estava velha. Os estimadores leem as condições recentes. Se o mempool enche entre a sua estimativa e a sua transmissão — uma corretora grande consolidando, um mint de NFT, uma onda de ordinals — seu lance fica instantaneamente abaixo do mercado.
Você escolheu a faixa econômica e recebeu exatamente o que pediu. Faixas de baixa prioridade são explicitamente uma aposta de que o congestionamento vai afrouxar. Em geral afrouxa. Às vezes não.
Sua transação é fisicamente grande. A taxa é por byte, então uma transação que gasta muitas entradas pequenas custa mais para confirmar do que uma simples pelo mesmo valor. Carteiras cheias de poeira esbarram nisso o tempo todo.
Você está gastando uma entrada não confirmada. Se gastar o troco de uma transação que ainda não confirmou, a nova só confirma depois da anterior. Um pagamento travado pode encalhar silenciosamente tudo que vier atrás.
Substituição por taxa: a correção de verdade
A substituição por taxa, especificada no BIP 125, permite transmitir uma substituta de uma transação não confirmada que pague uma taxa maior. Os nós descartam a original e retransmitem a nova; os mineradores ficam com o lance melhor. Só uma das duas poderá confirmar — elas gastam as mesmas entradas, então são mutuamente exclusivas por construção.
Isso não é um segundo pagamento. É o mesmo pagamento, com novo lance.
Dois detalhes importam na prática.
A transação precisa ter sido marcada como substituível de antemão. O RBF é opcional: sinaliza-se pondo o número de sequência de uma entrada abaixo de 0xfffffffe. A convenção do Bitcoin Core é 0xfffffffd, e é isso que a SSP define — literalmente 0xffffffff - 2 no construtor de transações. Se uma transação não foi marcada como substituível quando criada, a maioria dos nós vai recusar a substituição, e suas opções encolhem bastante.
A substituição precisa passar de um piso, e o piso óbvio é o errado. A quarta regra do BIP 125 exige que a substituição pague pelo menos a taxa original mais o próprio tamanho dela na taxa mínima de retransmissão. É aí que muita gente tropeça: subir de «econômica» para «normal» pode elevar a taxa enquanto o tamanho quase não muda, e se a conta ficar curta o nó rejeita a substituição e você não conseguiu nada. A SSP calcula esse piso explicitamente antes de montar a substituição, para que a nova taxa passe da regra 4 com garantia em vez de ser recusada em silêncio pela rede.
Na SSP, uma transação substituível e não confirmada mostra uma ação Substituir por taxa na lista de transações. Ela pré-preenche o mesmo destinatário e o mesmo valor e carrega a taxa da transação substituída para que o piso possa ser calculado, e então leva você a assinar a substituição nos dois aparelhos, exatamente como qualquer outro pagamento. A segunda assinatura continua obrigatória — uma substituição é uma transação nova, e nada se assina com um aparelho só.
Nem toda rede permite
RBF é uma decisão de política, não um recurso universal, e as redes suportadas pela SSP realmente diferem:
| Rede | Substituível na SSP |
|---|---|
| Bitcoin | Sim |
| Litecoin | Sim |
| Dogecoin | Sim |
| Ravencoin | Sim |
| Bitcoin Cash | Não |
| Zcash | Não |
| Flux | Não |
A exclusão do Bitcoin Cash é deliberada por parte da rede: o BCH removeu o RBF para tornar pagamentos com zero confirmação mais confiáveis no ponto de venda. É um trade-off real, não um descuido — você ganha confiança em pagamentos não confirmados e perde a capacidade de corrigir um lance baixo. Zcash e Flux também não retransmitem substituições.
Nessas redes, uma transação mal precificada tem que ser esperada. O que é o argumento mais forte para não dar lance baixo logo de início numa rede que não deixa você voltar atrás.
O que fazer quando acontece
Primeiro, espere um pouco. O congestionamento do mempool vem em picos. Uma transação que parece condenada às nove da noite muitas vezes confirma de madrugada, quando a fila drena. Consulte um visualizador de mempool antes de gastar dinheiro numa solução.
Se for substituível e você estiver com pressa, substitua. Escolha uma taxa acima da taxa atual do fundo do próximo bloco, não apenas acima da sua original. Dar um lance só um pouquinho maior que um lance perdedor é como se acaba fazendo isso duas vezes.
Não transmita um segundo pagamento. Se o primeiro acabar confirmando, você pagou duas vezes. A substituição é segura justamente porque é mutuamente exclusiva com a original; uma transação separada não é.
Não gaste o troco de uma transação travada. Você vai encadear uma segunda transação travada na primeira.
Se não puder substituir, espere. Em redes sem RBF, a transação ou confirma quando o congestionamento passa ou acaba sendo descartada dos mempools, depois do que as moedas voltam a ser gastáveis. Não recorra a serviços de «cancelamento»; não existe tal coisa.
Como evitar da próxima vez
Olhe a taxa, não só o rótulo da faixa. «Econômica» significa uma coisa num domingo tranquilo e outra durante um pico de taxas. A maioria das carteiras, SSP incluída, mostra a taxa real.
Case urgência e taxa com honestidade. Um pagamento que de fato não importa por um dia deveria usar taxa baixa — é para isso que a faixa serve. Um pagamento que você vai atualizar com ansiedade, não.
Mantenha seu conjunto de UTXO arrumado. Consolidar entradas pequenas quando as taxas estão baixas deixa toda transação futura menor e mais barata. É a coisa mais eficaz que um detentor de longo prazo pode fazer a respeito de taxas, e a melhor hora é quando mais ninguém quer espaço de bloco.
Escolha redes e momentos de propósito. Estratégia de taxas é uma habilidade de verdade, e boa parte dela é só perceber que espaço de bloco é mais barato em certas horas do que em outras.
Uma transação travada é um dos poucos problemas de cripto genuinamente benignos. Suas moedas nunca saíram do seu controle, não há atacante envolvido, e a correção é um recurso de protocolo bem especificado. Só parece uma emergência porque a interface não oferece nenhum acalanto — o que já é razão suficiente para entender o que está acontecendo por baixo.


