wallet-cli account portfolio¶
Show native coin + token balances with best-effort USD value.
Synopsis¶
wallet-cli account portfolio [options]
Description¶
Aggregates the account's native coin and address-book token balances into one view, attaching USD prices from an external price source best-effort. Expect this to be the slowest account query — it fans out to the price source.
Three outcomes are kept distinct, because they are different claims:
- Priced —
priceUsd/valueUsdcarry the number. - Test network — priced at
0without asking anyone. A testnet coin is not traded, so there is nothing to look up; the network declares itself a testnet rather than being guessed from its id. - Unknown —
priceUsd/valueUsdarenull(an unlisted chain, or the price source failed).nullmeans "we could not find out", which is not the same as worthless. If the price source itself errored,data.priceUnavailableistruewith apriceReason.
A token whose balance cannot be read keeps its row rather than vanishing: balance / rawBalance are null and balanceUnavailable is true with a reason. One unreadable token never takes the whole portfolio down. totalValueUsd sums only the rows that could be valued.
Options¶
Only the global options.
Examples¶
wallet-cli account portfolio --network nile
"main" Portfolio
| Token | Balance | Price (USD) | Value (USD) |
| ----- | --------- | ----------- | ----------- |
| TRX | 1,976.489 | $0.0000 | $0.00 |
| USDT | 0 | $0.0000 | $0.00 |
| USDD | 0 | $0.0000 | $0.00 |
Total ≈ $0.00
wallet-cli account portfolio --network nile -o json
{"schema":"wallet-cli.result.v1","success":true,"command":"account.portfolio","data":{"network":"tron:3448148188","account":"wlt_4473p34m.0","address":"TMSgJxtPw29AFEHMXsjGo4kWV7UwbCToHJ","priceSource":"coingecko","holdings":[{"kind":"native","symbol":"TRX","decimals":6,"rawBalance":"1976489000","balance":"1976.489","priceUsd":0,"valueUsd":0},{"kind":"trc20","symbol":"USDT","decimals":6,"rawBalance":"0","balance":"0","priceUsd":0,"valueUsd":0,"id":"TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf","name":"Tether USD","source":"official"},{"kind":"trc20","symbol":"USDD","decimals":18,"rawBalance":"0","balance":"0","priceUsd":0,"valueUsd":0,"id":"TYQF9cAeJ3Faq8QXpHxTcFco72DRCQbgFt","name":"Usdd Stablecoin","source":"official"}],"totalValueUsd":0},"meta":{"durationMs":11031,"warnings":[]},"chain":{"family":"tron","network":"tron:3448148188","chainId":"3448148188"}}
The same command on an EVM network, with kind reporting erc20 instead of trc20:
wallet-cli account portfolio --network sepolia -o json
{"schema":"wallet-cli.result.v1","success":true,"command":"account.portfolio","data":{"network":"eip155:11155111","account":"wlt_fjeca27y.0","address":"0x541B10b92b45C08513e67bb8209f035D810212B6","priceSource":"coingecko","holdings":[{"kind":"native","symbol":"ETH","decimals":18,"rawBalance":"0","balance":"0","priceUsd":0,"valueUsd":0}],"totalValueUsd":0},"meta":{"durationMs":1204,"warnings":[]},"chain":{"family":"evm","network":"eip155:11155111","chainId":"11155111"}}
Output¶
| Field | Type | Meaning |
|---|---|---|
network / account / address |
string | Query context |
priceSource |
string | e.g. coingecko |
priceUnavailable / priceReason |
boolean / string | Present only when the price source failed |
holdings[].kind |
string | native, trc20, trc10 (TRON), erc20 (EVM) |
holdings[].symbol / decimals |
— | Token identity |
holdings[].id / name / source |
string | Token rows only: contract address (or TRC10 id), name, and whether the entry came from the built-in list (official) or was user-added (user) |
holdings[].rawBalance |
string|null | Base units; null when the balance could not be read |
holdings[].balance |
string|null | Human units; null when the balance could not be read |
holdings[].balanceUnavailable / reason |
boolean / string | Present only on a row whose balance could not be read |
holdings[].priceUsd / valueUsd |
number|null | Best-effort estimate; 0 on a test network, null when unknown |
totalValueUsd |
number|null | Sum of the holdings that could be valued, null if none could |
Exit status¶
0 (even with all prices null or a token's balance unavailable) · 1 execution failure · 2 usage error.
See also¶
account balance · token — manage the address book that defines which tokens appear here