A wei is the smallest possible amount of ether. One ETH is exactly 1018 wei, a one followed by eighteen zeros: 1,000,000,000,000,000,000. Everything Ethereum does with value, from balances to gas fees, is counted in whole wei under the hood.
The short answer
Think of wei the way you think of cents, except that instead of two decimal places, ether has eighteen. There is no such thing as half a wei: it is the indivisible atom of value on Ethereum. When your wallet shows a balance of 1.5 ETH, the network actually stores the integer 1,500,000,000,000,000,000 (wei), and the decimal point is purely a display convention.
Eighteen decimals sounds excessive until you look at gas math. Fees are computed as gas units × price per unit, and that price is routinely a tiny fraction of one ETH. Pricing in wei lets the protocol express amounts as small as a quintillionth of an ether without ever touching fractions.
Where the name comes from
Wei is named after Wei Dai, the cryptographer who described b-money in 1998, one of the earliest sketches of an anonymous, distributed electronic cash system, cited in the Bitcoin whitepaper. Ethereum's denominations double as a hall of fame: the szabo honors Nick Szabo (bit gold, smart contracts) and the finney honors Hal Finney, the first person to receive a Bitcoin transaction.
In day-to-day use only three names survive: wei for protocol-level math, gwei for gas prices, and ether for humans. The middle denominations exist mostly in documentation and quizzes.
The full denomination table
Each named unit is a power of ten times one wei:
Why Ethereum counts in integers
The Ethereum Virtual Machine has no floating-point numbers at all. Every balance and transfer amount is a 256-bit unsigned integer denominated in wei. That is a deliberate design decision: floating-point arithmetic rounds, and rounding is how consensus systems break. If two nodes computed a fee and got answers that differed by a billionth, the chain would fork.
The same trap exists in ordinary JavaScript: the language's Number type can only represent integers exactly up to 253, but one ETH is already 1018 wei, five hundred times larger. Tools that convert units with plain floating-point math can silently corrupt the low digits. That is why a serious converter does the arithmetic in arbitrary-precision integers (BigInt) end to end, which is exactly what our unit converter does.
Wei in practice
You will meet wei any time you drop below the wallet UI: contract code receives payment amounts as msg.value in wei, JSON-RPC returns balances as hex-encoded wei, and gas math resolves to wei before anything is displayed. The classic beginner bug is sending 1 where the code expected one ether, off by a factor of a quintillion, in the cheap direction if you are lucky.
Rule of thumb: if a number in Ethereum tooling looks absurdly large, it is probably wei; if it looks absurdly small, someone already divided by 1018 for you.