1000000 on USDC means 1 USDC. The same integer on DAI (18 decimals) means 0.000000000001 DAI. Off-by-one on the decimals field is the most common cause of misread amounts.bytes32 instead of dynamic strings. The decoder detects this case and trims trailing zeros so the output matches what wallets show.ERC-20 contracts store balances as integers (uint256). The decimals() field tells interfaces where to place the decimal point. Most tokens use 18 decimals (matching ETH); USDC and USDT use 6; WBTC uses 8 to match Bitcoin.
totalSupply() returns the integer quantity of indivisible units. To get the human-readable supply, divide by 10^decimals. Some tokens cap supply (deflationary or fixed); others mint and burn dynamically.
Yes — the value is whatever the contract returns. Reputable tokens are consistent and well-documented, but custom or malicious contracts can return anything. Always verify against the issuer's docs when amounts matter.