The original, full-featured implementation of wallet-cli: an interactive prompt (REPL) covering the complete TRON feature surface — managing accounts and keystores, TRX / TRC10 / TRC20 transfers, staking resources, voting for super representatives, deploying and calling smart contracts, Ledger hardware signing, and GasFree gas-less transfers. All gRPC calls run on the Trident SDK.
For what wallet-cli is and how this compares to the scriptable, JSON-first TypeScript implementation, see the repository overview.
Quick links: Setup · Quickstart · Commands · Understanding TRON mechanics · Configuration
Need help? Join the Telegram developer group.
git clone https://github.com/tronprotocol/wallet-cli.git
A minimal config.conf needs a full-node endpoint. net.type does not select the network; it only controls whether grpc.mainnet.apiKey is applied. The startup network is inferred from the configured node endpoints.
net {
type = mainnet
}
fullnode = {
ip.list = [
"fullnode ip : port"
]
}
You can also switch networks at runtime with the SwitchNetwork command, so editing config.conf is only needed for a custom node or advanced features. The full annotated config — optional Solidity node, Ledger debug, account lock, GasFree, TronGrid API key, TronLink multi-sig, and record limits — and a field-by-field reference are in docs/reference/config.md.
-
Connect to fullNode — see java-tron deployment. Run a fullNode on either your local PC or a remote server.
-
Compile and run:
$ cd wallet-cli/java $ ./gradlew build $ cd build/libs $ java -jar wallet-cli.jar
wallet-cli connects to java-tron via gRPC. At startup it first looks for config.conf in the current working directory, then falls back to the bundled classpath resource. Use SwitchNetwork to switch among mainnet, testnets (Nile and Shasta), and custom networks.
Build, create an account, and send your first transfer — all from the interactive prompt:
# 1. Build
$ git clone https://github.com/tronprotocol/wallet-cli.git
$ cd wallet-cli/java && ./gradlew build && cd build/libs
# 2. Start the interactive wallet
$ java -jar wallet-cli.jar
# 3. In the wallet prompt: create an account (or ImportWallet), unlock, and inspect it
> RegisterWallet # prompts twice for the password, then for mnemonic length
> Login # unlock the account
> GetAddress # show your address
> GetBalance # TRX balance
# 4. Send 1 TRX (amounts are in SUN; 1 TRX = 1,000,000 SUN)
> SendCoin <toAddress> 1000000On mainnet these commands move real funds. While learning, switch to a testnet with
SwitchNetwork(Nile or Shasta) and top up from that network's faucet.
The full first-run walkthrough is in the getting-started guide; for a worked end-to-end session, see the command-line operation flow. All guides are indexed in docs/guide/.
Every command is documented on a family page under docs/commands/. The command index has the full A–Z list linking each command to its section; in the wallet, help <command> shows a command's built-in usage tips (help alone prints the full table).
| Area | Page |
|---|---|
| Create / import / export / back up wallets, sub-accounts, login, lock, switch | wallet |
| Account queries, metadata, backup & transaction records, receive QR | account |
| Switch / show network | network |
| Area | Page |
|---|---|
| USDT / TRC20 balance & transfers, address book | usdt |
| Issue / update / transfer / query TRC10 tokens | transfer-trc10 |
| Area | Page |
|---|---|
| FreezeV2 staking, delegation, unbonding (Stake 2.0) | stake-v2 |
| Legacy freeze / unfreeze / delegation (Stake 1.0) | stake-v1-legacy |
| Resource unit prices & memo fee | resources |
| Area | Page |
|---|---|
| Vote for SRs, brokerage & rewards, witnesses | vote-reward |
| Governance proposals | proposals |
| On-chain exchange (Bancor) | exchange |
| TRON-DEX order market | dex |
| Multi-signature: permissions, co-signing, TronLink multi-sign | multisig |
| Area | Page |
|---|---|
| Deploy, trigger, and inspect smart contracts | contract |
| GasFree gas-less TRC20 transfers | gasfree |
| Transactions, blocks, chain parameters, encoding utilities | chain-data |
These are worth understanding up front to avoid surprises (all indexed in docs/concepts/):
- Resources: bandwidth, energy & shares — how freezing produces resources, and how bandwidth is calculated
- Staking models: Stake 1.0 vs 2.0 — the two freeze generations and which commands belong to each
- Multi-signature concepts — permission types, keys, weights, and thresholds