Create a wallet, fund it on the Nile testnet, check the balance, and send your first transaction — about 10 minutes end to end. Everything here runs on Nile (test TRX, no real value).
Prerequisite: wallet-cli is installed — wallet-cli --version prints a version number. If it doesn't, see Install.
wallet-cli create --label mainYou will be prompted for a master password — it encrypts all local secrets and cannot be recovered if you lose it. It must be at least 8 characters and include an uppercase letter, a lowercase letter, a digit, and a special character.
Tip — a password manager is preferable. It generates a strong, unique password and keeps it out of your shell history, process list, and plaintext files. Any password manager with a command-line tool works — the examples here use 1Password's op purely as an illustration (install and sign in — docs). Save your chosen master password as an item, then create the wallet by reading it back:
op read "op://Private/wallet-cli/password" | wallet-cli create --label main --password-stdincreate does not print your recovery phrase — the seed is encrypted locally. To get a written backup, run backup, which writes a 0600 file containing the plaintext BIP39 mnemonic; store that file offline. It is the only way to restore the wallet on another machine.
Already have a mnemonic or private key? Use import mnemonic or import private-key instead.
Confirm the new account exists:
wallet-cli listHD wlt_4473p34m
└─ [0] main TMSgJxtPw29AFEHMXsjGo4kWV7UwbCToHJ (active)The T… string is your TRON address, the same on every TRON network. (active) marks the account commands act on by default; switch with wallet-cli use <label>.
Your account also has an EVM address, derived from the same seed — list shows one chain family at a time, so pass --network to see the other:
wallet-cli list --network sepoliaHD wlt_4473p34m
└─ [0] main 0x3f9A1C74E5B2d80Af6C31e97b45D2a08c7E6F193 (active)The two are independent addresses with independent balances; funding one does nothing for the other. Everything below works the same way on either — swap --network tron:3448148188 for --network sepolia and the amounts are in ETH instead of TRX. See Networks.
Open the Nile faucet at nileex.io/join/getJoinPage, find the "Get 2000 test coins" section, paste your T… address, pass the captcha, and submit (once per day; arrives in under a minute). Then verify it arrived:
wallet-cli account balance --network tron:3448148188Label main
Balance 1,976.489 TRXTip: set Nile as your default so you can drop --network while learning:
wallet-cli config defaultNetwork tron:3448148188Sending a transaction takes your master password on stdin via --password-stdin:
printf '%s' "$MY_PASSWORD" | wallet-cli tx send --to TSx72ViULFepRGCS4PM5dP4FqD1d8qggCc --amount 1 --network tron:3448148188 --password-stdinTip — a password manager is preferable (setup in step 1). Pipe the password straight from it:
op read "op://Private/wallet-cli/password" | wallet-cli tx send --to TSx72ViULFepRGCS4PM5dP4FqD1d8qggCc --amount 1 --network tron:3448148188 --password-stdinThe transaction is signed and submitted. Submission is not confirmation — check where it landed:
wallet-cli tx status --txid <the txid you got back> --network tron:3448148188TxID 7d9b6a08505537f7fd51ed4fb4223ce89098403d26e8d3fe07bdb3d625a46364
Status confirmed ✅
Block #70,433,563
Confirmations 1pending means wait and re-run; failed means the chain rejected it (see troubleshooting). To make tx send block until confirmed, add --wait.
Not sure about a transaction? Rehearse it first — --dry-run builds and estimates without signing or broadcasting:
wallet-cli tx send --to TSx72ViULFepRGCS4PM5dP4FqD1d8qggCc --amount 1 --network tron:3448148188 --dry-run- Send TRC20/TRC10 tokens (e.g. USDT): Sending tokens
- Stop burning TRX on fees: Staking and resources
- Vote for super representatives and claim voting rewards after staking:
vote,reward - Hardware-wallet signing: Ledger guide
- Full transaction detail and receipts:
tx info - Your history and holdings:
account history,account portfolio - Automating any of this: Scripting guide
- What
tron:3448148188/eip155:11155111actually are, and which commands run where: Networks
Before touching mainnet: mainnet TRX is real money. Re-check the recipient address, prefer
--dry-runfirst, and understand that a confirmed transaction cannot be reversed.