Registro de Alterações
Acompanhe cada marco no desenvolvimento do dTax — do motor principal à plataforma fiscal completa.
Conversões da Binance.US e varredura de riscos corrigida
As conversões e ordens de compra/venda da Binance.US feitas fora do livro de ofertas (Convert e semelhantes) agora são sincronizadas; antes, apenas as operações spot. Somente ordens liquidadas são salvas, e uma ordem em andamento é incluída quando liquidada. A varredura de riscos pré-auditoria deixou de apontar todas as alienações como sem custo base: agora usa o mesmo cálculo FIFO do relatório fiscal padrão. Uma alienação sem preço em USD aparece separada, e a verificação de wash sale agora considera a virada do ano. A coluna vazia de ganho/perda nas transações recentes do painel foi removida (ganhos e perdas aparecem nos relatórios). Períodos que falham na sincronização com a corretora são repetidos após uma pausa, em vez de abandonados em segundos. As conversões de saldos pequenos (dust) também são sincronizadas.
A sincronização da Binance conclui em contas grandes
Sincronizar uma conta Binance ou Binance.US com muitas operações já não falha com «Unknown API error». Cada sincronização lê um trecho de tempo limitado, lembra onde parou e a página continua automaticamente por até 10 rodadas; se ainda restar algo, sincronize novamente. As operações são salvas em lotes, depósitos e saques são lidos por janelas de tempo, e os mercados ou períodos que não puderam ser lidos aparecem no resultado em vez de serem ignorados em silêncio; para eles, exporte um CSV. Um tempo limite do gateway agora mostra uma mensagem clara. A primeira sincronização de uma conexão existente lê o histórico mais uma vez; não são criadas duplicatas.
Regras britânicas do mesmo dia e de 30 dias, correção do custo base multianual e demonstrativo de vendas em libras
O UK Share Pooling agora aplica a cada venda a ordem de identificação da HMRC: primeiro a regra do mesmo dia, depois a de 30 dias (bed and breakfasting) e por fim o pool da Seção 104, contando dias corridos do Reino Unido; compras do mesmo dia são tratadas como uma única compra ao custo médio. Um novo demonstrativo de vendas UK (Pro) lista cada venda com a regra que definiu seu custo, a data da posição associada e totais de vendas, receitas, custos dedutíveis, ganhos e perdas em libras esterlinas; cada compra e cada venda é avaliada pela taxa de referência do euro do BCE do seu próprio dia. A dTax não calcula seu imposto sobre ganhos de capital nem a isenção anual. Correção importante para todos os métodos de custo base: o relatório de um ano fiscal agora considera primeiro as vendas de anos anteriores, de modo que lotes já vendidos não são associados de novo e uma venda não pode mais ser associada a um lote adquirido depois. Os métodos de custo médio (pool UK, média total, PMPA, ACB do Canadá) não se desviam mais após vendas sucessivas. Por isso, números de relatórios gerados antes podem diferir de um novo cálculo. Se o recálculo automático após uma sincronização alterar um relatório salvo, o arquivo exportado antes é removido e o e-mail informa a mudança; exporte novamente. A detecção de wash sales agora vê compras de reposição nos primeiros 30 dias do ano seguinte, usa a quantidade comprada e uma perda não admitida em um ano anterior é somada ao custo do lote de reposição. Ao escolher lotes manualmente, vendas de anos anteriores não identificadas são tratadas como primeiro a entrar, primeiro a sair. As regras UK aparecem na descrição do Formulário 8949 de cada venda. Auto-hospedagem: as imagens de contêiner são privadas; solicite acesso ao suporte, veja o guia.
Sincronização de carteiras — redes ignoradas agora ficam visíveis em vez de silenciosas
Corrige uma falha em que a sincronização de carteiras blockchain podia ignorar silenciosamente redes que não conseguiu consultar (chave de API do servidor ausente para aquela rede específica, ou um limite de requisições/erro transitório) e ainda assim informar a sincronização como totalmente concluída. Uma carteira cuja única atividade estava em uma das redes afetadas mostrava 'sincronização concluída' sem nenhuma indicação de que aquela rede nunca havia sido realmente verificada. O mecanismo de sincronização agora registra cada rede ignorada com um motivo legível por máquina (chave ausente, limite de requisições, configuração bloqueada etc.) e um indicador de se vale a pena tentar novamente. Quando alguma rede é ignorada, o cartão da carteira exibe um aviso claro (por exemplo, 'base, cronos — configuração da plataforma pendente') em vez do enganoso banner 'já atualizado' que aparecia antes, independentemente do caso. Detalhes internos de implementação (nomes de fornecedores terceiros, nomes de verificações de segurança) nunca são expostos nessa mensagem — apenas uma categoria voltada ao usuário e os nomes das redes afetadas. Foram adicionados testes de regressão cobrindo os caminhos de redes personalizadas, EVM e Solana ignoradas que antes não eram testados.
Sincronização via API da Binance.US — corrigida a rejeição de conexão IPv6
Corrigida uma falha de conexão que afetava a sincronização via API da Binance.US em alguns ambientes de hospedagem. O Node.js 17+ alterou a ordem padrão de resolução de DNS para não preferir mais IPv4 e, em hosts com saída de rede IPv6 habilitada, isso podia direcionar requisições de saída a um endereço IPv6 em domínios que têm registros A e AAAA. A API da Binance.US rejeita explicitamente conexões de clientes IPv6, o que aparecia para os usuários como um erro de conexão genérico e pouco útil. O servidor de API agora prefere IPv4 em toda a resolução de DNS de saída na inicialização — isso não desativa o IPv6 para nada que precise dele, apenas muda qual família de endereços é tentada primeiro. Aplica-se de forma preventiva a todas as conexões de API de corretoras, não apenas à Binance.US.
Conectar API da corretora — mensagens de erro mais claras
Quando a conexão de uma corretora por chave de API falhava por qualquer motivo, a mensagem de erro era sempre a mesma genérica 'Failed to verify API keys with exchange.', independentemente da causa real — chave inválida, restrição de IP, desvio de relógio, permissões insuficientes ou corretora não suportada pareciam idênticos. Isso tornava impossível diagnosticar sozinho uma conexão com falha. A resposta de erro agora inclui o motivo real da rejeição pela corretora (por exemplo, o erro de autenticação específico retornado pela API da corretora), para que você saiba imediatamente se o problema é uma chave inválida, uma questão de permissões ou outra coisa. Aplica-se a todas as corretoras suportadas, não apenas a uma.
Binance.US — novo formato CSV + suporte à sincronização via API
A Binance.US mudou sua exportação CSV para um novo formato não documentado (colunas separadas Base Asset / Quote Asset / Primary Asset) que o dTax não reconhecia, causando 'No valid transactions found in CSV' na importação. Adicionado suporte ao novo formato junto com o existente — ambos são detectados automaticamente, sem necessidade de selecionar o formato manualmente. Trata operações spot de dois lados (compra/venda, tipificadas corretamente tanto para moedas de cotação fiduciárias quanto stablecoins) e linhas de um único ativo (depósitos, saques, recompensas de staking, distribuições, comissões de indicação). Também foi adicionada a Binance.US como opção de sincronização direta via API (além da importação por CSV) — a Binance.US é apenas spot, portanto a opção de futuros/perpétuos corretamente não aparece para ela.
Relatórios em PDF — corrigida a sobreposição de colunas
Corrigido um bug de layout em que as colunas (f)/(g)/(h) do Form 8949 podiam ser renderizadas sobre a coluna (e) Cost Basis, produzindo texto truncado como '(e) Cost Ba(g)sis Adj.' no cabeçalho e números sobrepostos nas linhas de totais — causado por uma fórmula de largura de coluna que não considerava onde a coluna anterior realmente terminava. Também corrigida uma sobreposição relacionada nas seções Connected Accounts e Transaction Register do relatório Audit Defense, causada por uma peculiaridade de renderização de PDF em que desenhar várias colunas na mesma linha com o cursor de avanço automático da biblioteca fazia com que elas se deslocassem para baixo umas em relação às outras. Ambos os relatórios agora organizam as colunas com larguras explícitas e verificadas, cuja soma é exatamente a área de conteúdo da página.
Transações manuais — adicione uma origem para a correspondência de custo base por carteira
Corrigido um bug em que uma transação adicionada manualmente (por exemplo, uma operação OTC ou uma transferência inserida à mão) não podia ser associada a transações importadas por CSV para fins de custo base quando o Rastreamento de Custo Base por Carteira (strictSilo) está ativado, porque as entradas manuais não tinham como especificar a qual carteira/corretora pertenciam. O formulário Adicionar transação agora inclui um campo Origem, de modo que lotes e alienações inseridos manualmente possam ser atribuídos ao pool de custo base correto e associados corretamente no Rastreamento de Custo Base por Carteira, de forma consistente com as transações importadas.
Correção de reimportação CSV — Linhas soft-deletadas não bloqueiam mais atualizações
Corrige um bug onde transações deletadas pela UI ainda contavam como duplicatas ao reenviar um CSV. A lógica original pulava todas as correspondências independentemente do status de exclusão para evitar violações de restrição única — mas isso bloqueava usuários que intencionalmente soft-deletavam e modificavam seu CSV. Agora a importação particiona correspondências em três categorias: duplicatas ativas (puladas como antes), correspondências soft-deletadas (ressuscitadas — deletedAt limpo, campos atualizados do novo CSV, classificação IA e enriquecimento de preço resetados para reprocessamento), e linhas completamente novas (inseridas como antes). A resposta agora retorna `resurrected` junto com `imported` e `skipped`. Reportado pelo nosso primeiro cliente pagante, correção implantada em 24h.
Reforço do Pipeline de Cobrança e Ferramentas de Administração
Atualização importante de confiabilidade no fluxo de assinatura junto com novas capacidades administrativas. Cobrança: identificamos e eliminamos um cenário em que uma confirmação de assinatura atrasada poderia gerar cobranças duplicadas na nova tentativa. Três camadas de defesa agora protegem o caminho de checkout — reconciliação com Stripe antes de criar qualquer nova assinatura (repara assinaturas ativas órfãs de falhas de webhook passadas), proteção de plano Lifetime (bloqueia compras duplicadas de PRO para assinantes vitalícios) e uma proteção contra duplicação no mesmo plano que interrompe o checkout quando já existe uma assinatura ativa ou concessão de cortesia ativa. Todos os clientes afetados receberam reembolsos integrais. Cobertura de webhook expandida para tratar eventos customer.subscription.created, de modo que assinaturas criadas fora do fluxo de checkout padrão (ex.: concessões administrativas) sejam sincronizadas corretamente com nosso banco de dados. Ferramentas administrativas: ação em um clique «Conceder PRO 12 meses» cria uma concessão limitada no tempo com expiração automática e sem renovação automática — sem necessidade de assinatura Stripe. Ação permanente «Excluir usuário» com confirmação por digitação do e-mail e exclusão em cascata transacional de todos os registros relacionados. Endpoint de assinatura administrativa estendido para aceitar currentPeriodEnd, cancelAtPeriodEnd e status para controle mais refinado. Corrigido bug de rótulo em que a data de expiração aparecia como «data de cadastro». Segurança: cinco novas proteções do lado do servidor em endpoints de assinatura administrativa impedem automodificação (segregação de deveres), limitam duração de concessões a 24 meses, rejeitam datas de expiração passadas, protegem assinaturas Stripe ativas contra sobrescrita de campos de cobrança (evita desvio BD/Stripe) e exigem concessão Lifetime preexistente para elevação ao status Lifetime. Testes: 16 novos casos cobrindo todos os caminhos de defesa e segurança.
Patch de Segurança e Confiabilidade
Melhorias internas de segurança e confiabilidade na API e frontend. Segurança: tokens de redefinição de senha agora armazenados como hashes SHA-256 (token bruto nunca persistido no banco de dados). Proteção SSRF atualizada com validação de hostname em nível DNS para bloquear ataques de rebinding. Prevenção de injeção de nome de arquivo no cabeçalho Content-Disposition. Caminhos de isenção de autenticação usam correspondência exata. Confiabilidade: condição de corrida em filas de jobs eliminada com transações PostgreSQL serializáveis. Enriquecimento de preços em lotes de 20 escritas concorrentes. Timeout de 30 segundos para streams R2. Timeout de 5 minutos para o worker de cálculo fiscal. Frontend: compatibilidade de download CSV/PDF/JSON no Firefox restaurada. Vazamento de intervalo de sondagem fiscal corrigido. Navegação de onboarding migrada para o router do Next.js. Lista de relatórios atualizada corretamente após exclusão.
Cálculo de Impostos Assíncrono, Filtro Multi-Ativo e Filtros URL Persistentes
Três melhorias de UX. (1) O cálculo de impostos agora é assíncrono — em vez de bloquear a interface, o motor enfileira um trabalho em segundo plano e exibe um indicador de progresso em tempo real; os resultados aparecem automaticamente ao concluir. (2) Filtro multi-ativo: a barra de filtros de transações agora mostra um menu suspenso de seleção múltipla carregado dinamicamente do seu histórico real — selecione BTC, ETH, SOL e mais com um clique. O estado do filtro também é restaurado a partir da URL. (3) Filtros URL persistentes: cada filtro e critério de ordenação é gravado na URL, preservando a vista exata ao atualizar ou partilhar um link.
Scanner OFAC e Análise de Trading Emocional
Dois novos recursos gratuitos. Scanner OFAC: verifica automaticamente todos os endereços de carteira conectados contra a lista SDN do Tesouro dos EUA (atualização diária, O(1), cache 24h). Padrões de trading emocional: detecta compra-alta/venda-baixa com base no histórico próprio — preço médio ponderado de compra como base racional, contagem de perseguição de máximos, vendas em pânico, perda emocional (USD) e pontuação emocional 0–100. Disponível em todos os planos.
Scanner CARF, Rastreamento TDS Índia e 29 Parsers
Scanner de exposição CARF/DAC8: avalia exchanges por jurisdição e status de adoção CARF, estima transações reportáveis e nível de exposição. Rastreador TDS Índia (Seção 194S): calcula 1% TDS em transações acima de ₹50,000. 3 novos parsers indianos: WazirX, CoinDCX e ZebPay — total de parsers dedicados: 29.
PDF de Defesa de Auditoria e Snapshot de Posições
Dois novos formatos PRO. PDF de defesa de auditoria: pacote IRS de 4 seções (carta de apresentação, sumário executivo, metodologia, registro de transações). PDF de snapshot de posições: atestado de ativos com ganhos/perdas não realizados, bloco de assinatura CPA e atestação de metodologia.
Métodos Fiscais Internacionais e Suporte em 10 Idiomas
5 novos métodos de base de custo específicos por país: desconto CGT australiano, ACB canadense, imposto sobre ativos virtuais coreano, VDA indiano, CGT espanhol. Total: 13 métodos. i18n ampliado de 7 para 10 idiomas — francês, turco e alemão adicionados.
Multi-cadeia UTXO: LTC, DOGE, BCH, DASH
A sincronização de carteiras agora suporta Litecoin (LTC), Dogecoin (DOGE), Bitcoin Cash (BCH) e Dash (DASH), totalizando 22 blockchains. Alimentado pela API pública do Blockchair (gratuita, sem chave). Detecção automática de endereços, cálculo de saldo UTXO e classificação como TRANSFER_IN/OUT/INCOME.
Pipeline fiscal totalmente automático
Importe as transações uma vez — o dTax cuida de tudo automaticamente. Após cada importação CSV, sincronização de carteira ou conexão de exchange, o enriquecimento de preços é executado em segundo plano, seguido pela geração automática do relatório fiscal FIFO para o ano fiscal anterior e o atual. Um e-mail resumo é enviado quando seu relatório estiver pronto, mostrando o ganho/perda líquido por ano. Usuários PRO podem recalcular com LIFO, HIFO ou outros métodos pelo painel.
Integridade de sincronização de carteiras e melhorias UX
Correções de integridade: paginação Solana (até 12.500 txns), limite Moralis 20→200 (até 20.000 txns), sincronização incremental EVM com cursor persistente. Taxas USD preenchidas automaticamente. Hash de transação exibe link para o explorador. Filtro para ocultar transações $0. Enriquecimento de preços acionado automaticamente após sincronização (resfriamento de 5 min). Botão «Limpar dados» por carteira. Dicas de fluxo de trabalho no Dashboard.
Filtros avançados e gerenciamento de colunas
Filtre transações por preço ausente para encontrar entradas que precisam de preço manual. Filtre por vários ativos ao mesmo tempo (ex: "BTC, ETH, SOL"). Ative colunas opcionais de cadeia, endereço e TxHash na tabela. As páginas de transferências e reconciliação agora paginam resultados grandes.
Melhorias de UX: pares de ativos, paginação de IA e i18n
Transações bidirecionais (swaps, depósitos LP) exibem "BTC → USDT" na coluna de ativos. Novos tipos LOST e STOLEN. Histórico do assistente de IA agora pagina. Botões de atualização de preços do portfólio com tooltips. Cobertura completa de i18n em 7 idiomas.
Reforço de segurança
Corrigidas 4 vulnerabilidades de uma auditoria independente: bypass de cota (H-1), acesso de sessão CPA expirada (H-3), limitação de taxa na exclusão de conta (L-3), e validação de userId no Stripe Webhook (C-2).
Sincronização de Carteira Bitcoin
Sincronize endereços Bitcoin diretamente — todos os 4 formatos suportados: Legacy (1...), Nested SegWit (3...), Native SegWit (bc1q...) e Taproot (bc1p...). Alimentado pela API Blockstream Esplora — gratuita, sem chave de API necessária. Detecta automaticamente receitas de mineração (transações coinbase → tipo INCOME), calcula corretamente o valor líquido enviado considerando saídas de troco UTXO, com fallback para mempool.space.
Sincronização CEX — Spot e Futuros
Conecte chaves de API de exchanges (Binance / Binance.US, OKX, Bybit, Kraken, Coinbase, KuCoin, Gate.io) para sincronizar automaticamente trades spot, depósitos e saques. O Plan-43 estende isso para futuros, contratos perpétuos e negociação alavancada — incluindo taxas de financiamento e liquidações mapeadas como tipos MARGIN_TRADE e LIQUIDATION.
Classificação de LP + Chains Personalizadas
Classifique tokens LP automaticamente por protocolo (Uniswap V2 LP, PancakeSwap LP, Curve 3CRV, Balancer BPT e 8+ outros) como LP_DEPOSIT/LP_WITHDRAWAL. Suporte a chains EVM personalizadas (compatíveis com MetaMask, URLs protegidas contra SSRF). 29+ parsers CSV com novos formatos Bitstamp, Upbit e Robinhood.
17 Chains + Melhorias de Transações
Suporte a 17 chains: ETH, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base, Linea, Scroll, Mantle, Blast, Gnosis, Sonic, Monad, Sei, Cronos + Solana. Colunas Source/Chain/ContractAddress adicionadas ao CSV export, import e lista de transações. Visibilidade de colunas personalizável. BSC migrada do Moralis para Etherscan V2.
Posicionamento Lei GENIUS e melhorias no simulador
Nova seção de conformidade de stablecoins da Lei GENIUS na página de recursos e tabela de comparação da página inicial. Comparação de 7 métodos no simulador (antes 3). Série de artigos sobre regulamentações (3 × 7 idiomas). O histórico de relatórios agora exibe o horário de geração no cálculo. Seletor de métodos na página inicial inclui UK Share Pooling. Roteiro: modo de instrumento de pagamento em stablecoins planejado pendente de orientação do IRS.
Conformidade CARF & UK Share Pooling
UK Share Pooling (Section 104) como 8.º método de base de custo, contagem regressiva CARF 2027 na página de impostos, status de adoção CARF de 15 países nas taxas globais, endpoint de exportação de transações CARF (PRO/CPA), sistema AI multi-provedor (15+ provedores LLM com BYOK), console de operações AI, controle de acesso por assinatura e conteúdo CARF em todas as páginas de marketing.
Motor Fiscal Global
3 métodos internacionais de base de custo (Alemanha FIFO com isenção de 12 meses, França PMPA média ponderada, Japão Média Total), página comparativa de taxas de 15 países e 8 guias fiscais por país.
Inteligência Fiscal 2026
Relatório de renda ordinária (staking/mineração/airdrops), classificação coberto vs não coberto do 1099-DA, alertas regulatórios do PARITY Act e cartões de resumo fiscal aprimorados.
Fase B: Páginas do Site
Adicionadas páginas de Preços, Funcionalidades, Segurança e Corretoras com suporte completo a i18n.
Fase A: Páginas Principais
Página inicial, páginas legais (Termos, Privacidade, Aviso) e assistente de configuração para novos usuários.
Página Inicial
Homepage de marketing com destaques de funcionalidades, tabela comparativa competitiva e visão geral de preços.
Tema e UX
Alternância de tema claro/escuro com detecção de preferência do sistema, navegação responsiva e barreiras de erro.
Aprimoramento do Painel
Cartões de ação rápida, widget de visão geral de fontes de dados e guia de 3 etapas para novos usuários no painel.
Suporte DeFi e NFT
12 novos tipos de transação DeFi/NFT, parsers DeFi Etherscan e Solscan e passagem de base de custo para wrap/unwrap.
Parsers de Corretoras
20 parsers de formato CSV de corretoras incluindo Coinbase, Binance / Binance.US, Kraken e mais 17 com detecção automática.
Relatórios Fiscais
Exportação PDF/CSV do Form 8949, resumo do Schedule D com compensação de perdas futuras e detecção de wash sale com janela de 30 dias.
Motor Principal
Cálculo de base de custo FIFO, LIFO e HIFO, pipeline de importação CSV e painel básico com resumo fiscal.
Lançamento Inicial
Motor fiscal com testes unitários abrangentes, frontend Next.js com i18n e API Fastify com Prisma ORM.