owner
and active — list the same owner addresses, each with weight 1, under the vault’s threshold.
Nothing about it is stored off the chain, so this page is a procedure rather than a restore.
What you need
1
The vault's address
From your Recovery Kit, on the vault’s page. It is an ordinary
T... address.2
Enough owners' keys to reach the threshold
Each key is an owner’s ordinary Tron wallet key — not a separate cosigner key. Each owner
derives theirs from their own recovery phrase at the index they joined with, as described on
Tron.
3
TronWeb
npm install tronweb. A public node such as https://api.trongrid.io is enough.4
TRX in the vault account
Transactions are paid for in bandwidth and energy, charged to the vault, not to the signer. A
vault holding only TRC-20 tokens and no TRX cannot send them. See Fees.
Read the permissions from the chain
Do this first. It is authoritative — the kit records what the vault was configured with, the chain holds what it actually has.Addresses inside a permission come back as hex.
tronWeb.address.fromHex(...) converts one to the
T... form printed in your kit.Permission 2, not 0
Both permissions carry the same owners and the same threshold, but they authorise different things:
To move funds you use 2. Passing the wrong id produces a transaction the network refuses.
Move the funds
1
Build the transaction under permission 2
2
Have each owner sign in turn, until the threshold is met
Each call adds one signature to the same transaction object and returns it.Owners can do this on their own machines, passing the partially signed object along. It carries
signatures, never a private key.
3
Broadcast
Sending a TRC-20 token
Same two permissions, same signing. Only the build step differs:AMOUNT is in the token’s own smallest unit, which is not always six decimals — read decimals()
off the contract rather than assuming.