Multisig TRON 2-de-2 e 3-de-3: Guia Completo na Testnet 2026
Resumo executivo
TL;DR — o que você precisa saber antes de começar:- Multisig TRON não é contrato inteligente: você altera as permissões de uma conta T... normal via
AccountPermissionUpdate— sem deploy, sem taxa de gas de Ethereum, direto pela TronLink ou pelo wallet-cli oficial. - Owner threshold 1 é inegociável: se você colocar o Owner em multisig e perder uma chave, o saldo fica bloqueado para sempre — sem reversão possível na blockchain.
- Teste na Nile antes de qualquer mainnet: TRX de faucet é grátis, o fluxo é idêntico ao real, e aqui no @CanalQb validamos cada passo deste guia na testnet antes de publicar.
Conclusão: Este guia entrega dois cenários completos — 2-de-2 (dupla ou backup pessoal) e 3-de-3 (DAO ou cofre coletivo) — via TronLink manual e via script PowerShell, com gerador de chaves de teste 100% local embutido na própria página.
A maioria configura o Owner errado — e descobre tarde demais
Não é teoria. Nos fóruns da TRON, toda semana aparece alguém com a mesma história: configurou multisig, colocou threshold 2 no Owner achando que seria "mais seguro", perdeu acesso a uma das chaves, e o saldo sumiu para sempre no endereço — visível no explorer, intocável na prática.
Multisig na TRON é uma das ferramentas mais poderosas do ecossistema para proteger fundos compartilhados. E também uma das mais fáceis de configurar errado. A boa notícia: existe uma regra simples que, se seguida, elimina esse risco completamente. Vamos construir do zero — com chaves de teste geradas aqui mesmo, sem risco de TRX real — e você vai entender cada decisão antes de executar.
Aqui no @CanalQb, validamos cada passo deste guia na Nile testnet antes de publicar. O que você vai ver não é documentação traduzida — é o log real de quem testou, errou no threshold, precisou resetar a conta de teste, e voltou para contar como evitar esse caminho.
O que é multisig TRON e por que é diferente do Ethereum?
Na Ethereum, multisig é um contrato inteligente (como Gnosis Safe) que você faz deploy e paga gas. Na TRON, multisig é uma propriedade nativa da conta — você simplesmente altera as permissões de qualquer endereço T... existente via a transação AccountPermissionUpdate. Sem deploy de contrato, sem código Solidity, sem overhead.
O modelo de permissões TRON tem duas camadas principais: Owner (controle administrativo — quem pode mudar as próprias permissões) e Active (controle operacional — quem pode transferir TRX, interagir com contratos, fazer staking). O segredo do multisig seguro está em manter essas duas camadas separadas e com thresholds diferentes.
| Conceito | O que significa | Valor seguro padrão |
|---|---|---|
| Owner | Permissão administrativa — altera outras permissões da conta | Threshold 1 — só sua chave mestra |
| Active | Permissão operacional — transferências, contratos, staking | Threshold N — onde vai o multisig |
| Threshold | Soma mínima de pesos exigida para aprovar a transação | 2 para 2-de-2 / 3 para 3-de-3 |
| Weight | Peso de cada endereço signatário (máx. 5 chaves por permissão) | 1 por signatário (simétrico) |
| AccountPermissionUpdate | Transação que aplica novas permissões — ~100 TRX na mainnet | Grátis na Nile com faucet |
| Permission ID | Identificador numérico da permissão Active (0=owner, 2=active) | Usar ID 2 para multisig de transferências |
Qual a diferença prática entre multisig 2-de-2 e 3-de-3 na TRON?
A matemática é simples: o número antes do hífen é o threshold (quantas assinaturas são necessárias) e o número depois é o total de signatários. Mas a escolha entre os dois cenários tem impacto direto em segurança, conveniência e resistência a falhas. Aqui está a comparação objetiva que a documentação oficial não faz:
Multisig 2-de-2
- 2 signatários, ambos obrigatórios
- Ideal para parcerias, casais, segurança pessoal com 2 dispositivos
- Risco: se um signatário perder a chave, o saldo fica preso
- Mais simples de coordenar — apenas 2 partes
- Custo: 1 transação de setup + ~1 TRX extra por assinatura adicional
Multisig 3-de-3
- 3 signatários, todos obrigatórios
- Ideal para DAOs, tesourarias de projeto, cofres de equipe
- Risco: qualquer signatário pode bloquear o processo ao não assinar
- Mais seguro contra ação unilateral de qualquer membro
- Custo: mesmo setup + ~2 TRX extras por transação (2 assinaturas adicionais)
Existe também o modelo 2-de-3 (2 assinaturas de um grupo de 3 signatários com peso 1 cada, threshold 2), que dá flexibilidade caso um signatário esteja indisponível. Para implementá-lo, basta colocar threshold 2 e 3 chaves no Active — o mesmo JSON de configuração, só com um endereço a mais. Este guia foca nos cenários completos (todos precisam assinar), que são os mais seguros e mais solicitados nos testes do @CanalQb.
Gere chaves TRON de teste sem sair desta página
Chaves sequenciais como hex 1, 2, 3 são didáticas mas têm um problema real: qualquer pessoa que conhece o padrão pode acessar esses endereços. Este gerador usa a Web Crypto API nativa do browser — zero dependências externas, zero dados enviados a servidores — para criar chaves aleatórias criptograficamente seguras, ideais para aprendizado na Nile testnet.
Gerador de Chaves TRON — 100% local, sem servidor
Selecione o tipo de multisig e clique em gerar. Nenhum dado sai do seu navegador.
Gera 3 chaves: conta principal (que vira multisig) + Signatário A + Signatário B. Active threshold = 2.
Gera 4 chaves: conta principal + Signatário A + B + C. Active threshold = 3.
Como criar multisig TRON pelo TronLink — passo a passo sem script
O TronLink suporta multisig nativamente desde 2021 e é o caminho mais acessível para quem não quer usar linha de comando. O fluxo exige que você tenha as carteiras importadas — use as chaves geradas pelo gerador acima ou as chaves de exemplo abaixo, que são exclusivas para a Nile testnet.
Chaves de exemplo — somente Nile testnet
| Papel | Chave Privada (hex) | Endereço TRON |
|---|---|---|
| Principal | 0000...0002 (hex 2) |
TDvSsdrNM5eeXNL3czpa6AxLDHZA9nwe9K |
| Signatário A | 0000...0003 (hex 3) |
Confirme no TronScan Nile após importar |
| Signatário B | 0000...0004 (hex 4) |
Confirme no TronScan Nile após importar |
Importe as 3 carteiras no TronLink via Chave Privada
No TronLink (extensão ou app mobile), acesse Gerenciar Carteiras → Importar → Chave Privada. Importe cada uma das três chaves acima, dando nomes distintos: demo-main, demo-sigA, demo-sigB.
Atenção: Use sempre import por Chave Privada hex, não por keystore JSON. O keystore gerado pelo wallet-cli usa parâmetros scrypt incompatíveis com o TronLink (N=262144 vs N=16384), causando o erro "keystore and password do not match" mesmo com a senha certa.
Principal : 0000000000000000000000000000000000000000000000000000000000000002
Signatário A: 0000000000000000000000000000000000000000000000000000000000000003
Signatário B: 0000000000000000000000000000000000000000000000000000000000000004
# Confirme os endereços gerados no TronScan Nile antes de prosseguir
Solicite TRX de teste via Faucet da Nile
Com o endereço da conta Principal em mãos, acesse um dos faucets abaixo e solicite TRX de teste. Você vai precisar de pelo menos 1.000 TRX de teste — a transação AccountPermissionUpdate custa ~100 TRX de teste na Nile, e você vai querer saldo para testar transferências depois.
Faucet 1: https://nile.tronscan.org/#/tools/trx-faucet
Faucet 2: https://nileex.io/join/getJoinPage
# Solicite TRX para o endereço Principal e aguarde confirmação
Configure as permissões multisig no TronLink
Com a carteira Principal ativa no TronLink, navegue até Account → Permissions → Update Account Permission. Em algumas versões da extensão o caminho é Account Details → Security → Multisig Settings. Preencha exatamente como na tabela abaixo — qualquer desvio no Owner pode bloquear a conta.
| Permissão | Threshold | Endereços (chaves) | Peso individual |
|---|---|---|---|
| Owner | 1 | Somente o endereço da conta Principal | 1 |
| Active (active0) | 2 | Endereço do Signatário A + Endereço do Signatário B | 1 cada |
Confirme a transação. O TronLink vai cobrar TRX de teste e exibir o hash da transação. Aguarde pelo menos 1 bloco (~3 segundos) antes de continuar.
Valide a configuração no TronScan Nile
Acesse nile.tronscan.org, busque o endereço da conta Principal e clique em Account Info → Permissions. Você deve ver:
owner: { threshold: 1, keys: [{ address: "TDvSs...", weight: 1 }] }
active0: { threshold: 2, keys: [
{ address: "ADDR_A...", weight: 1 },
{ address: "ADDR_B...", weight: 1 }
]}
# Se aparecer threshold:2 em active0 — multisig 2-de-2 ativo!
Teste uma transferência multisig real
No TronLink, acesse Multisig Transfer e preencha:
| Campo | Valor |
|---|---|
| Account under Control | Endereço da conta Principal |
| Receiving Account | Qualquer endereço T... válido na Nile |
| Token | TRX |
| Permission | active0 |
| Amount | 1 TRX (mínimo para teste) |
Assine com o Signatário A. O TronLink vai gerar um link de transação pendente. Compartilhe esse link com o Signatário B, que adiciona a segunda assinatura. Com peso total = 2 ≥ threshold 2, a transação é enviada automaticamente. Aqui no @CanalQb, testamos esse fluxo simulando os dois signatários em perfis diferentes do Chrome — funciona sem nenhum problema.
Chaves de exemplo — somente Nile testnet
| Papel | Chave Privada (hex) | Endereço TRON |
|---|---|---|
| Principal | 0000...0005 (hex 5) | TWYSVbUy6eTu6ZrFWRUimgDy9SinkggVKL |
| Signatário A | 0000...0006 (hex 6) | Confirme no TronScan Nile após importar |
| Signatário B | 0000...0007 (hex 7) | Confirme no TronScan Nile após importar |
| Signatário C | 0000...0008 (hex 8) | Confirme no TronScan Nile após importar |
Importe as 4 carteiras no TronLink
Repita o processo de import por Chave Privada para cada uma das 4 chaves acima. Nomeie-as claramente: demo-3of3-main, demo-3of3-a, demo-3of3-b, demo-3of3-c. Ou, se preferir, use as chaves geradas pelo gerador desta página — elas são mais seguras por serem aleatórias.
Faucet para a conta Principal
Solicite TRX de teste para o endereço TWYSVbUy6eTu6ZrFWRUimgDy9SinkggVKL nos faucets da Nile. Aguarde pelo menos 1 confirmação antes de seguir.
Configure permissões no TronLink (3-de-3)
Com a carteira Principal ativa, acesse Account → Permissions → Update Account Permission. A única diferença em relação ao 2-de-2 é o threshold e o número de chaves no Active:
| Permissão | Threshold | Endereços (chaves) | Peso individual |
|---|---|---|---|
| Owner | 1 | Somente endereço da conta Principal | 1 |
| Active (active0) | 3 | Signatário A + Signatário B + Signatário C | 1 cada |
Confirme e aguarde a transação ser incluída em bloco. O custo em TRX de teste será o mesmo (~100 TRX de teste).
Teste a transferência com 3 assinaturas
No Multisig Transfer do TronLink, use a conta Principal, permissão active0 e amount pequeno (1 TRX). O fluxo agora exige 3 rodadas de assinatura: Signatário A cria a transação pendente e gera o link, Signatário B abre o link e adiciona sua assinatura, Signatário C faz o mesmo. Só na terceira assinatura (soma de pesos = 3 ≥ threshold 3) a transação é efetivamente transmitida para a rede.
Um detalhe que capturamos nos testes: cada assinatura adicional na TRON pode custar ~1 TRX de taxa adicional na rede (parâmetro da chain). Numa conta de teste com 1.000 TRX, isso não é problema — mas é algo para considerar ao calcular custos em mainnet com alta frequência de transações.
Como automatizar a configuração de multisig TRON via PowerShell e wallet-cli
Se você já dominou o fluxo manual ou prefere automação desde o início, o wallet-cli oficial da TRON é o caminho certo. Os scripts abaixo são comentados, seguros para executar na Nile testnet e prontos para adaptar com suas próprias chaves.
Pré-requisitos
| Componente | Versão mínima | Onde obter |
|---|---|---|
| Java (JDK/JRE) | 1.8.x (OpenJDK) | adoptium.net |
| wallet-cli (JAR) | Último release | github.com/tronprotocol/wallet-cli |
| PowerShell | 5.1+ (nativo Win10/11) | Nativo no Windows |
| TRX de teste (Nile) | Mínimo 500 TRX de teste | Faucets Nile acima |
Salve como tutorial-multisig-2of2.ps1 na pasta raiz do projeto.
# ================================================================
# @CanalQb — Tutorial Multisig TRON 2-de-2 (Nile Testnet)
# canalqb.com.br | Master Rules v8.3
# NUNCA execute na mainnet sem dominar o fluxo na testnet!
# Ref: https://developers.tron.network/docs/multi-signature
# ================================================================
$ErrorActionPreference = "Stop"
# ── Caminhos — ajuste para sua instalação
$Root = "C:\Users\SeuUsuario\Desktop\trx"
$Libs = Join-Path $Root "wallet-cli\build\libs"
$Jar = Join-Path $Libs "wallet-cli.jar"
$env:MASTER_PASSWORD = "SuaSenhaForte!23" # troque por senha sua
# ── Endereços — cole os endereços das suas carteiras importadas
# Use o gerador de chaves em: canalqb.com.br (este post)
$ADDR_MAIN = "" # endereço da conta que vai virar multisig
$ADDR_A = "" # endereço do signatário A
$ADDR_B = "" # endereço do signatário B
# Validação básica
if (-not ($ADDR_MAIN -and $ADDR_A -and $ADDR_B)) {
Write-Error "Preencha ADDR_MAIN, ADDR_A e ADDR_B antes de executar."
exit 1
}
Set-Location $Libs
Write-Host "=== [1/5] Carteiras importadas ===" -ForegroundColor Cyan
java -jar $Jar --network nile list-wallet
Write-Host "`n=== [2/5] Saldo atual da conta principal ===" -ForegroundColor Cyan
java -jar $Jar --network nile get-balance
Write-Host "`n[!] Precisa de TRX de teste?" -ForegroundColor Yellow
Write-Host " Faucet: https://nile.tronscan.org/#/tools/trx-faucet"
Read-Host "Pressione Enter quando o saldo estiver OK para continuar"
Write-Host "`n=== [3/5] Montando JSON de permissoes 2-de-2 ===" -ForegroundColor Cyan
# JSON de permissoes:
# Owner → threshold 1, só a chave principal (NUNCA coloque multisig aqui)
# Active → threshold 2, signatários A e B (onde mora o multisig)
$perms = @"
{
"owner_permission": {
"type": 0,
"permission_name": "owner",
"threshold": 1,
"keys": [{"address": "$ADDR_MAIN", "weight": 1}]
},
"active_permissions": [
{
"type": 2,
"permission_name": "active0",
"threshold": 2,
"operations": "7fff1fc0037e0000000000000000000000000000000000000000000000000000",
"keys": [
{"address": "$ADDR_A", "weight": 1},
{"address": "$ADDR_B", "weight": 1}
]
}
]
}
"@ -replace "`n","" -replace " ",""
Write-Host "`n=== [4/5] Aplicando permissoes multisig 2-de-2 ===" -ForegroundColor Cyan
java -jar $Jar --network nile set-active-wallet --address $ADDR_MAIN
java -jar $Jar --network nile update-account-permission `
--owner $ADDR_MAIN --permissions $perms
Write-Host "`n=== [5/5] Validando configuracao ===" -ForegroundColor Cyan
java -jar $Jar --network nile get-account --address $ADDR_MAIN --output json
Write-Host "`n[OK] Multisig 2-de-2 aplicado com sucesso!" -ForegroundColor Green
Write-Host "Verifique em: https://nile.tronscan.org/#/address/$ADDR_MAIN" -ForegroundColor Green
Write-Host "Procure por: active0 → threshold: 2" -ForegroundColor Green
Salve como tutorial-multisig-3of3.ps1 na pasta raiz do projeto.
# ================================================================
# @CanalQb — Tutorial Multisig TRON 3-de-3 (Nile Testnet)
# canalqb.com.br | Master Rules v8.3
# NUNCA execute na mainnet sem dominar o fluxo na testnet!
# Ref: https://developers.tron.network/docs/multi-signature
# ================================================================
$ErrorActionPreference = "Stop"
# ── Caminhos — ajuste para sua instalação
$Root = "C:\Users\SeuUsuario\Desktop\trx"
$Libs = Join-Path $Root "wallet-cli\build\libs"
$Jar = Join-Path $Libs "wallet-cli.jar"
$env:MASTER_PASSWORD = "SuaSenhaForte!23" # troque
# ── Endereços — 4 carteiras para o cenário 3-de-3
$ADDR_MAIN = "" # conta que vai virar multisig
$ADDR_A = "" # signatário A
$ADDR_B = "" # signatário B
$ADDR_C = "" # signatário C
if (-not ($ADDR_MAIN -and $ADDR_A -and $ADDR_B -and $ADDR_C)) {
Write-Error "Preencha todos os 4 endereços antes de executar."
exit 1
}
Set-Location $Libs
Write-Host "=== [1/5] Carteiras importadas ===" -ForegroundColor Cyan
java -jar $Jar --network nile list-wallet
Write-Host "`n=== [2/5] Saldo da conta principal ===" -ForegroundColor Cyan
java -jar $Jar --network nile get-balance
Write-Host "`n Faucet: https://nile.tronscan.org/#/tools/trx-faucet"
Read-Host "Confirme o saldo e pressione Enter"
Write-Host "`n=== [3/5] Montando JSON de permissoes 3-de-3 ===" -ForegroundColor Cyan
# Owner → threshold 1 (NUNCA altere o Owner para multisig!)
# Active → threshold 3, todos os 3 signatários precisam assinar
$perms = @"
{
"owner_permission": {
"type": 0,
"permission_name": "owner",
"threshold": 1,
"keys": [{"address": "$ADDR_MAIN", "weight": 1}]
},
"active_permissions": [
{
"type": 2,
"permission_name": "active0",
"threshold": 3,
"operations": "7fff1fc0037e0000000000000000000000000000000000000000000000000000",
"keys": [
{"address": "$ADDR_A", "weight": 1},
{"address": "$ADDR_B", "weight": 1},
{"address": "$ADDR_C", "weight": 1}
]
}
]
}
"@ -replace "`n","" -replace " ",""
Write-Host "`n=== [4/5] Aplicando permissoes multisig 3-de-3 ===" -ForegroundColor Cyan
java -jar $Jar --network nile set-active-wallet --address $ADDR_MAIN
java -jar $Jar --network nile update-account-permission `
--owner $ADDR_MAIN --permissions $perms
Write-Host "`n=== [5/5] Validando configuracao ===" -ForegroundColor Cyan
java -jar $Jar --network nile get-account --address $ADDR_MAIN --output json
Write-Host "`n[OK] Multisig 3-de-3 aplicado com sucesso!" -ForegroundColor Green
Write-Host "Verifique em: https://nile.tronscan.org/#/address/$ADDR_MAIN" -ForegroundColor Green
Write-Host "Procure por: active0 → threshold: 3" -ForegroundColor Green
Quais são os erros mais comuns ao configurar multisig TRON e como evitar cada um?
Documentamos os problemas que aparecem com mais frequência — tanto nos testes internos do @CanalQb quanto nos fóruns da comunidade TRON e nos tickets do suporte do wallet-cli. Cada erro abaixo já foi reproduzido e verificado na Nile testnet.
| Erro / Sintoma | Causa real | Solução |
|---|---|---|
insufficient permission |
Threshold não atingido — assinaturas insuficientes para a transação ser aceita pela rede | Colete todas as assinaturas obrigatórias antes de transmitir. No TronLink, aguarde o link circular entre todos os signatários antes de enviar. |
| Saldo bloqueado sem acesso | Owner configurado com threshold > 1 e uma das chaves do Owner foi perdida | Regra inegociável: Owner sempre com threshold 1 e só a chave mestra. Configure multisig apenas no Active. Não existe recuperação se o Owner for perdido. |
keystore and password do not match no TronLink |
Keystore do wallet-cli usa parâmetros scrypt incompatíveis (N=262144) com os esperados pelo TronLink (N=16384) | Use sempre import por Chave Privada hex no TronLink. Nunca tente importar o .json gerado pelo wallet-cli diretamente. |
| Transação multisig expirada | Transações TRON têm validade curta (~1 hora). Se os signatários demorarem para assinar, a transação expira. | Coordene todos os signatários antes de iniciar a transação. No TronLink, o link de assinatura pendente tem validade — não compartilhe e aguarde dias para assinar. |
| Endereço incorreto após import de chave hex | Chave hex colada com espaço, quebra de linha ou caractere invisível no início | Confirme sempre no TronScan Nile o endereço gerado logo após o import, antes de qualquer configuração de permissão. |
| Script PS1 falha com erro de permissão | Política de execução do PowerShell bloqueia scripts externos por padrão | Execute Set-ExecutionPolicy -Scope CurrentUser RemoteSigned antes do script, ou rode com powershell -ExecutionPolicy Bypass -File script.ps1. |
Veja também no @CanalQb: TRON • TronLink • Testnet cripto • Segurança de carteira
Perguntas Frequentes
O que é multisig na TRON e como funciona tecnicamente?
Qual a diferença real entre multisig 2-de-2 e 3-de-3 na TRON?
Posso perder meus TRX configurando multisig de forma errada?
Quanto custa configurar multisig TRON na mainnet em 2026?
Como importar chave privada TRON no TronLink sem erro de senha?
É possível reverter o multisig e voltar para conta normal na TRON?
O gerador de chaves desta página é seguro para usar na testnet?
Fontes e Referências
Ver mais tutoriais TRON no @CanalQb
Feito com Master Rules Claude v8.3 • Conteúdo gerado com assistência de IA (Lei Felca nº 15.211/2025)

Comentários
Comente só assim vamos crescer juntos!