Skip to main content
Crypto Readout

Crypto markets, protocols and policy

Why BSC Token Decimals Change the Balance You See

A BEP-20 balance is stored as an integer and displayed using the token’s decimals setting, so the same raw amount can look larger or smaller in a wallet.

By Crypto Readout Editorial2 min read#4fea29

Cover artwork for Why BSC Token Decimals Change the Balance You See

BSC token decimals set how a wallet turns a token’s stored integer balance into the number shown on screen. The contract records a balance in whole units called the token’s smallest units; a wallet divides that integer by ten raised to the token’s decimals value. The setting changes the display scale, not the number of units held.

What does the decimals value do?

A BEP-20 token contract can expose a decimals value that tells software how to format its balances. For a token with 18 decimals, the integer balance is divided by 10¹⁸ for display. With 6 decimals, it is divided by 10⁶. The same raw integer therefore produces different displayed amounts under different decimal settings.

For example, a raw balance of 1,000,000,000,000,000,000 displays as 1 token with 18 decimals. With 6 decimals, it displays as 1,000,000,000,000. The number is illustrative; it shows the scale conversion, not a typical balance. In everyday terms, decimals work like the position of a decimal point on a ruler: they label the units without changing the measured length.

Why can a wallet show a different balance?

A wallet can show a different number if it reads the wrong decimal value, uses stale token metadata, or formats the balance incorrectly. The on-chain balance itself is an integer returned by the token contract’s balanceOf function. The wallet applies the decimal scale afterward.

Token decimals also do not determine transaction fees. Gas pays for computation on BSC; decimals describe token units. For the cost side of a swap, see Poocoin’s checks for estimating swap gas, which cover the transaction estimate this distinction leaves aside. A low displayed balance can reflect formatting, while a failed transaction can have a separate cause.

To investigate a mismatch, compare the wallet’s display with the contract’s raw balance and decimal setting. Check that the token address is the one you intended, then confirm what the contract reports. A familiar token name or ticker is not enough to establish that two interfaces are reading the same contract.

What should you check before acting?

Before transferring or approving tokens, confirm the unit conversion that the interface will use. A decimal mismatch can make an amount look dramatically larger or smaller, even though the transaction still passes an integer amount to the contract.

  • Check the token contract address, not only its name or ticker.
  • Compare the contract’s decimal value with the value shown by the wallet or explorer.
  • Read the requested amount and destination before signing a transfer or approval.
  • If displays disagree, verify the raw balance and calculate the display amount using 10 raised to the decimals value.

Most readers should treat the contract’s raw balance and decimal value as the reference, then use the wallet as a display layer. Decimals make fractional token amounts practical to represent, but they are metadata for interpreting an integer. They do not create or remove tokens, set a token’s value, or change the balance recorded by the contract.