What is a Tron batch transfer?
A Tron batch transfer is a single TriggerSmartContract transaction that calls a BatchTransfer contract with arrays of recipients and amounts; the TVM loops over them and sends TRX or TRC-20 tokens to each address inside one signed transaction. Energy is paid once by the sender. This page works only on the Nile and Shasta testnets, verified by comparing the genesis block ID.
Steps
- In TronLink, switch the network to Nile (Settings → Node) and get test TRX from nileex.io; the faucet also hands out test USDT.
- Connect, pick TRX or a TRC-20 contract, and deploy the batch contract if you have not done so on this network.
- Paste recipients and check the summary. For tokens, the first signature is the approval for the exact total.
- Send. Each batch shows energy used, fee paid and a Tronscan link; export the CSV at the end.
Energy, bandwidth and sizing
Tron charges energy for contract execution and bandwidth for transaction bytes. A TRC-20 transfer to an address that has never held the token costs more energy than one to an existing holder. 100 recipients per transaction is a comfortable default; the hard limit is the per-transaction fee limit of 15,000 TRX, which no sensible batch approaches.
Addresses
Every recipient line is Base58Check-verified before anything is signed, so a mistyped T… address is rejected rather than sent. Hex (41…) addresses are not accepted here; convert them first with the Tron address converter.
Related: USDT address validator, sun to TRX converter, USDT TRC-20 QR generator.
Frequently asked questions
How does the page know I am on a testnet?
It reads block 0 from the node TronLink is connected to and compares the block ID with the Nile and Shasta genesis blocks. Mainnet's genesis block is different, so the tool refuses to continue there regardless of RPC URL tricks.
Why must I deploy a contract?
Tron has no native multi-send; a contract loops over the recipients inside one transaction. There is no widely known public multisend on Nile, so the page deploys the open-source BatchTransfer contract from your wallet (one transaction, a few hundred thousand energy) and remembers the address in your browser. You can also paste the address of one you deployed earlier.
What does the fee limit mean?
The maximum TRX you allow a transaction to burn for energy and bandwidth. If you have staked energy it is used first. A batch of 100 TRC-20 transfers typically needs about 1.5 to 3 million energy; 500 TRX is a safe ceiling on testnet. If a batch fails with OUT_OF_ENERGY, raise the limit or lower the recipients per transaction.
Does it work with Nile test USDT?
Yes. Paste the Nile USDT contract address from the faucet page; the tool reads symbol, decimals and your balance, asks for an exact-amount approval, then calls disperseToken. The contract tolerates tokens that return no boolean, like mainnet USDT.
Why is a mainnet contract not provided?
By design, the public page is testnet-only. For a mainnet distribution (private deployment of the same contract, or help running a USDT payout from your own wallet), see the contact note under the tool.