Análise de Mo Xin | A versão oficial do UniSat MCP chega ao npm: uma configuração e o AI Agent já pode consultar dados on-chain do Bitcoin
Hoje, às 11:49, o UniSat (@unisat_wallet) publicou o servidor MCP @unisat/openapi-mcp no npm, já na primeira versão oficial, a 1.0.0. Um minuto antes, a ferramenta de linha de comando @unisat/openapi-cli também passou da versão 0.1.0, de agosto, para a 1.0.0. Até as 12:30, a conta oficial do UniSat ainda não tinha publicado nenhum anúncio.
A seguir, explico o que o Agent pode consultar, como conectá-lo e quais ações exigem sua aprovação.
🐋 MCP em um minuto
- O MCP é um padrão de interface que permite a assistentes de IA usar ferramentas externas. Claude, Cursor e Codex são compatíveis. Depois de instalar um servidor MCP, o assistente ganha um conjunto de ferramentas que pode chamar diretamente. - Este servidor do UniSat é executado no seu computador e chama a UniSat Open API em nome do Agent. É possível consultar tanto a mainnet do Bitcoin quanto a mainnet do Fractal. - Para consultar as inscrições de um endereço ou os detentores de um BRC-20, antes era preciso escrever código para chamar a API. Depois de conectar, basta perguntar ao Agent em português.
🐋 Como conectar
Adicione o seguinte trecho à configuração de MCP de clientes como Claude e Cursor:
- Solicite uma key em developer.unisat.io. Para consultar o Fractal, é preciso solicitar outra e adicioná-la em UNISAT_FRACTAL_API_KEY. - É necessário ter Node.js instalado no computador, na versão 22.23.4 ou superior (ou uma versão mais recente da série 24 ou 26). - O primeiro teste sugerido pelo projeto é pedir ao Agent que consulte a altura do bloco mais recente do Bitcoin. Não é necessário informar um endereço nem ter uma carteira.
https://www.npmjs.com/package/@unisat/openapi-mcp
🐋 O que o Agent pode consultar
O servidor disponibiliza apenas 4 ferramentas para o Agent:
1. list_operations: procura endpoints por palavra-chave; não precisa de key. 2. get_operation: mostra os parâmetros exigidos pelo endpoint e se ele é somente leitura. 3. call_api: faz a chamada ao endpoint. 4. get_status: verifica se o serviço e a configuração estão funcionando normalmente.
O Agent primeiro procura, depois consulta os detalhes e, por fim, faz a chamada. Não é preciso instalar skills adicionais. Os endpoints disponíveis vêm da documentação pública da API do UniSat (v2.1.0, atualizada em 10/23): são 308 ao todo, divididos em 18 categorias:
- Blocos, transações, saldo de endereços e UTXOs. - Inscrições, BRC-20 (detentores, progresso de emissão e histórico), Runes e Alkanes. - Swap de BRC-20; ordens e negociações nos mercados de coleções de inscrições, BRC-20, Runes, Alkanes e domínios. - Preços de BTC, FB e CAT20; oferta circulante do Fractal e ranking de detentores.
Por exemplo, os endpoints para responder a perguntas como «Quais BRC-20 este endereço possui?» e «Quem são os 20 maiores detentores de determinado Rune?» estão incluídos.
🐋 Quais ações exigem sua aprovação
- Dos 308 endpoints, 195 são somente de leitura e 113 executam ações: transmissão de transações, criação de inscrições, ordens e compras em mercados, swaps etc. - Se o Agent chamar qualquer um desses 113 sem o parâmetro de confirmação, a solicitação será rejeitada com a mensagem «é necessária autorização do usuário». A documentação da ferramenta especifica que o Agent só pode incluir o parâmetro de confirmação depois que o usuário aprovar explicitamente aquela ação. - O pacote não acessa chaves privadas. Para ações como criar ordens ou comprar, os endpoints retornam uma transação pendente de assinatura. Você ainda precisa assiná-la na carteira antes de enviá-la. - Mesmo as consultas somente de leitura exigem uma key, e a cota é contabilizada por key. O call_api também permite consultar a cota restante da key atual.
🐋 Antes deste lançamento
- 8/18: CLI 0.1.0 publicado no npm. - 10/23: a documentação para desenvolvedores ganhou primeiro uma página «OpenAPI CLI & MCP», com a configuração npx pronta. Naquele momento, ainda não era possível encontrar o pacote no npm. No mesmo dia, o repositório recebeu um commit com a mensagem «preparação do lançamento v0.1.5». - 10/30, 11:47: primeiro foi publicada uma versão de teste; às 11:48, CLI 1.0.0; às 11:49, MCP 1.0.0. A versão 0.1.5 foi pulada.
—— Este artigo foi publicado originalmente no X: @musinoot
Observatório Musino|US$ 6,3 bilhões roubados da Binance: quase 80% das stablecoins congeladas, nenhum BTC
A Binance divulgou hoje, às 10h25, os resultados preliminares da investigação: o impacto total do roubo é de cerca de US$ 6,3 bilhões. A empresa e seus parceiros on-chain já congelaram cerca de US$ 3 bilhões. As perdas serão cobertas pelo fundo SAFU e pelos recursos da empresa. Os depósitos e saques continuam suspensos.
O total já foi repetido muitas vezes. Este artigo analisa os ativos separadamente: quais fundos foram congelados pelos emissores, quais ninguém consegue congelar e como o hacker transferiu os fundos do primeiro grupo para o segundo.
🐋 Resumo em um minuto
- Quando: a partir das 04h05 de 30/10 (horário de Pequim, assim como os demais horários), as carteiras quentes da Binance em dez redes — entre elas Ethereum, Bitcoin, Tron, XRP e Solana — foram sendo esvaziadas - Causa: segundo a Binance, o computador de um engenheiro de operações pode ter sido invadido. O atacante usou isso para acessar serviços internos e solicitar saques não autorizados. Até agora, não foram encontrados indícios de vazamento de chaves privadas - O maior saque foi na Ethereum: segundo a TRM Labs, o atacante usou o EIP-7702 (recurso adicionado à Ethereum na atualização de maio de 2025 que permite vincular um trecho de código de contrato a uma carteira comum) para vincular seu próprio contrato de transferência à carteira quente. Três minutos depois, transferiu 167 mil ETH, 1,615 bilhão de USDT e mais de 60 outros tokens - Quem foi: a TRM acredita que foi o grupo de hackers norte-coreano TraderTraitor. O FBI também atribui a esse grupo o roubo de US$ 1,5 bilhão da Bybit, em fevereiro de 2025. A Binance ainda não divulgou uma conclusão
🐋 Ranking de congelamentos
Com base nos valores por ativo divulgados pela TRM Labs (retrato das 08h30 de 30/10):
- USDC: US$ 823 milhões roubados; a Circle congelou cerca de US$ 825 milhões — praticamente tudo - USDT: cerca de US$ 2,5 bilhões roubados no total nas redes Ethereum e Tron; a Tether congelou cerca de US$ 1,77 bilhão — 70% - RLUSD: US$ 88,5 milhões roubados; a Ripple congelou US$ 40,5 milhões — menos da metade - ETH: nada foi congelado na rede principal da Ethereum. Os únicos 8.426 ETH congelados estavam na Arbitrum, onde o conselho de segurança da Arbitrum (uma multisig capaz de alterar contratos da Arbitrum em situações de emergência) os transferiu - BTC: 18.270 unidades, cerca de US$ 1,47 bilhão; nenhum congelado
As três stablecoins somam cerca de US$ 3,4 bilhões roubados, dos quais aproximadamente US$ 2,64 bilhões foram congelados — perto de 80%. Dos cerca de US$ 3 bilhões em ativos que não são stablecoins, apenas os aproximadamente US$ 30 milhões na Arbitrum foram congelados, cerca de 1%.
Além disso, a World Liberty congelou US$ 27,8 milhões em USD1, e a First Digital congelou uma quantia de FDUSD (valor não divulgado). Esses dois valores não foram incluídos nas proporções acima.
🐋 Corrida antes do congelamento
Para as moedas que podem ser congeladas, os hackers precisam trocá-las antes que os emissores ajam. A sequência foi a seguinte:
- 04h20: um contrato de transferência foi vinculado à carteira quente da Ethereum; três minutos depois, começaram as transferências - 04h58–05h01: uma segunda carteira do hacker depositou US$ 60 milhões em USDT na Aave e tomou emprestados cerca de 19,8 mil ETH - 05h01: a Tether congelou US$ 971 milhões em USDT no endereço principal de recebimento; 05h04: a Circle congelou US$ 823 milhões em USDC - 05h42–06h01: uma carteira vendeu US$ 48 milhões em RLUSD em uma DEX; 06h01: a Ripple congelou os US$ 40,5 milhões restantes
Outra rota foi a UniswapX: cerca de US$ 325 milhões em USDT foram vendidos a formadores de mercado em troca de aproximadamente 122,3 mil ETH, a um preço cerca de 10% abaixo do preço de mercado. Os US$ 175 milhões restantes desse mesmo lote de USDT foram congelados.
Os hackers roubaram 200,6 mil ETH e, no momento do retrato da TRM, já tinham mais de 420 mil ETH. Para trocar USDT congeláveis por ETH que não pode ser congelado, só nesse lote da UniswapX abriram mão de mais de US$ 30 milhões.
🐋 Quem cobre a parte que não pode ser congelada?
Os mais de 420 mil ETH e os 18.270 BTC nas mãos dos hackers valem, segundo a estimativa da TRM, cerca de US$ 2,4 bilhões no total — um montante fora do alcance dos emissores. A Binance afirma que as perdas serão cobertas conjuntamente pelo SAFU e pelos recursos da empresa. Segundo a FinanceFeeds, no início deste ano o SAFU foi convertido em cerca de US$ 1 bilhão em BTC, o que basta para cobrir apenas parte das perdas; o restante dependerá dos recursos da empresa ou de uma recuperação posterior dos fundos.
A Binance afirmou que atualizará a prova de reservas após a recuperação dos sistemas e publicará uma análise técnica do incidente. Será que a análise vai responder à pergunta: por que um único computador de operações conseguia movimentar as carteiras quentes em dez redes ao mesmo tempo?