A generated address is not an account
Generating a TRON address is arithmetic done entirely on your own device. No network is contacted, nothing is registered, and the result is just a keypair. As far as the blockchain is concerned, that address does not exist.
It becomes an account the first time something is sent to it. That first transaction creates an on-chain record — a balance, a resource allowance, a transaction history — and creating that record costs 1 TRX, charged to whoever sent it.
The fee is set by the network parameter getCreateNewAccountFeeInSystemContract, currently 1,000,000 sun. Like every chain parameter it can be changed by governance vote.
Who pays, and why it surprises people
The sender pays. That is the part that catches people out: you are charged for creating someone else's account, and you have no way to opt out of it.
- Paying a new employee or contractor for the first time costs you an extra 1 TRX on top of the transfer.
- Moving funds to a wallet you just created for yourself costs you 1 TRX, paid from the sending wallet.
- It happens once per address, ever. The second payment to the same address does not incur it again.
Why it is not an Energy problem
Activation is frequently mistaken for a resource shortage, because both produce an unexpectedly expensive or failed transfer. They are unrelated charges with unrelated fixes.
| Activation | Energy | |
|---|---|---|
| Depends on | Whether the address has ever existed | Whether the recipient has ever held USDT |
| Cost | A flat 1 TRX | ~6.43 or ~13 TRX, burned or rented |
| Charged | Once per address, ever | Every transfer |
| Fixed by | Holding 1 TRX in the sending wallet | Renting or staking for Energy |
A brand-new recipient usually triggers both at once: the address has never existed and has never held USDT. That is the most expensive transfer you can make, and it is entirely predictable in advance.
Checking whether an address is activated
- Paste the address into TronScan. An activated address shows a creation date and a transaction history; an unactivated one reports that the account does not exist.
- Programmatically, call getaccount with the address. An empty response means the account has never been created.
- If you are paying a list of recipients, check the whole list before you start. It converts a run of surprises into one line in a budget.
Practical handling
- Keep a working float of TRX in any wallet that sends. 5 to 10 TRX covers activation fees and Bandwidth without thinking about it.
- When onboarding a new recipient, expect the first payment to cost roughly 14 TRX in total if you are burning: 1 TRX activation plus around 13 TRX of Energy for a first-time USDT holder.
- If you are activating a wallet of your own, send a small amount of TRX first. It activates the address and leaves it with a float, and the subsequent USDT transfer is then a normal one.
- Do not try to avoid the fee. There is no mechanism to create an account for free, and services claiming otherwise are not doing what they say.
One TRX is not a large amount, but an unexplained charge on a transfer people expected to be nearly free generates more support tickets than its size suggests. Knowing which address it applies to removes the surprise entirely.