If you have looked closely at a token balance or a block explorer, you may have noticed something odd. One token shows a long string of digits after the decimal point, another shows only a few, and the raw number on the blockchain can look nothing like the balance your wallet displays. This is not a bug. It comes down to a small setting built into every token, called decimals. Once you understand it, a lot of confusing numbers start to make sense.
Blockchains do not use fractions
Computers on a blockchain do not store fractional numbers the way a calculator does. They work with whole numbers only. That creates a problem, because people naturally want to send half a token, or 12.5 units, or a tiny sliver of a cent.
The solution is to agree on a very small base unit and count in those. Think of money. A shop does not track 3 dollars and 50 cents as a fraction. It tracks 350 cents, a whole number. When it shows you a price, it divides by 100 and places the decimal point. Tokens do the same thing, just with far more precision.
What the decimals setting does
Every ERC-20 token on Base includes a value called decimals. It tells wallets and apps how many places to shift the decimal point when turning the raw on-chain number into the human balance you read.
A token with 18 decimals is stored in units that are one quintillionth of a full token. So a balance that reads as 1 token on chain is actually the number 1 followed by 18 zeros in its raw form. Your wallet does the division for you and shows you a clean 1.
This is why a block explorer sometimes shows a giant number for a transfer while your wallet shows a normal amount. Both are correct. One is showing the raw base units, the other has applied the decimals and placed the point.
Why tokens do not all use the same number
You might expect every token to pick the same value for consistency. In practice a few common choices exist, and each has a reason.
- 18 decimals. This is the most common choice and matches how ETH itself is counted. Most tokens on Base use 18 decimals, so wrapped ETH, or WETH, and the majority of newer tokens follow this.
- 6 decimals. USDC uses 6 decimals. The company behind USDC chose 6 to mirror the way fiat currencies work with cents, keeping the raw numbers smaller and closer to everyday dollar amounts. Every official USDC contract on every network follows this same choice.
- 8 decimals. Wrapped Bitcoin, or WBTC, uses 8 decimals to match the smallest unit of Bitcoin.
None of these is more correct than the others. They are simply settings the token creator picked when the contract was deployed. What matters is that wallets and apps read the setting from the contract itself rather than assuming a value.
Why this matters when you swap
For everyday use, your wallet handles all of this quietly. When you swap on Simple Base Swap, you type an amount in normal terms, the app converts it to raw units using the correct decimals, and it converts the result back for you. You never have to think about the zeros.
The reason it helps to understand decimals is confidence. When you see a very large number on a block explorer, you now know it is likely the raw base-unit form and not a sign that something went wrong. When two tokens display a different number of digits after the point, you know that is expected, not an error. And you know why an app always reads the token's own decimals value instead of guessing.
A note on manual entry and copied numbers
Most people never touch raw units. If you ever do, for example when reading a contract directly or comparing values across tools, keep the difference in mind. A number that looks correct for an 18-decimal token would be off by a factor of a trillion if you treated it as a 6-decimal token. Mixing up decimals when converting amounts is one of the most common mistakes in hand-written blockchain code, which is exactly why well-built apps never rely on a fixed assumption.
For normal swapping and sending, you do not need to do any of this math. Your wallet reads the setting and shows you the right amount. The takeaway is simply that the long strings of digits have a purpose. They let a blockchain that only understands whole numbers represent very precise amounts, and the decimals setting is the small instruction that turns those whole numbers back into balances you can read.
Key points to remember
- Blockchains count in whole base units, not fractions.
- The
decimalsvalue on each token tells apps where to place the decimal point. - 18 decimals is the common default and matches ETH. USDC uses 6, WBTC uses 8.
- A large raw number on an explorer is usually normal, just the base-unit form.
- Good wallets always read the token's own decimals rather than assuming a value, so you can swap and send without doing any of the math yourself.
Understanding decimals will not change how you use your wallet day to day, but it removes one more source of confusion. The numbers are precise on purpose, and now you know how they fit together.