@@ -64,6 +64,12 @@ async function fetchCryptoRates() {
6464 pepe : response . data . data [ '24478' ] . quote . USD . price ,
6565 fdusd : response . data . data [ '26081' ] . quote . USD . price ,
6666 pol : response . data . data [ '28321' ] . quote . USD . price ,
67+ // Chain-id alias. Wallet chain-level lookups index cryptoRates by CHAIN
68+ // ID verbatim (`cryptoRates[activeChain]`), and the Polygon chain id is
69+ // `polygon`, not its `POL` symbol — without this every POL balance and
70+ // fiat total renders $0.00. Verified missing against the live relay
71+ // 2026-08-13. Same reason `bsc`/`base`/`solMainnet` exist as aliases.
72+ polygon : response . data . data [ '28321' ] . quote . USD . price ,
6773 rndr : response . data . data [ '5690' ] . quote . USD . price ,
6874 render : response . data . data [ '5690' ] . quote . USD . price ,
6975 okb : response . data . data [ '3897' ] . quote . USD . price ,
@@ -155,12 +161,18 @@ async function fetchCryptoRates() {
155161 avax : response . data . data [ '5805' ] . quote . USD . price ,
156162 base : response . data . data [ '1027' ] . quote . USD . price , // ETH
157163 kda : response . data . data [ '5647' ] . quote . USD . price ,
158- // Solana SOL (CMC ID 5426). Exposed under the `sol` symbol only.
159- // `solDevnet` is intentionally NOT mapped to a USD rate — testnet
160- // tokens have no value, and pretending they do inflates enterprise
161- // treasury displays with fake balances. `solMainnet` will be added
162- // here when the mainnet chain config lands.
164+ // Solana SOL (CMC ID 5426), under BOTH keys — they serve different
165+ // lookups and both are required:
166+ // `sol` — token/symbol lookups (portfolio token rows, TokenBox)
167+ // `solMainnet` — CHAIN-level lookups, which index by chain id verbatim
168+ // (`cryptoRates[activeChain]` in Balances/WalletSwitcher/
169+ // portfolio/send/activity). Same reason `bsc` and `base`
170+ // exist alongside `bnb`/`eth`. Without the chain-id key
171+ // every SOL balance and fiat total silently renders 0.
172+ // `solDevnet` is intentionally absent — TEST-SOL has no value, and
173+ // pricing it would inflate treasury displays with fake balances.
163174 sol : response . data . data [ '5426' ] . quote . USD . price ,
175+ solMainnet : response . data . data [ '5426' ] . quote . USD . price ,
164176 } ;
165177 cryptoRates = prices ;
166178 } catch ( error ) {
0 commit comments