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, same on every network. (active) marks the account commands act on by default; switch with wallet-cli use <label>.
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:nileLabel main
Balance 1976.489 TRXTip: set Nile as your default so you can drop --network while learning:
wallet-cli config defaultNetwork tron:nileSending 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:nile --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:nile --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:nileTxID 7d9b6a08505537f7fd51ed4fb4223ce89098403d26e8d3fe07bdb3d625a46364
Status confirmed ✅pending 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:nile --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:nile/tron:mainnetactually are: 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.