Ethereum and EVM chains
ERC-20 and ERC-721 are the same standard family, and this causes real confusion: both emit an event called
Transfer, with a third parameter that is an amount for ERC-20 and a token ID for ERC-721. Deciding which is which requires knowing the contract’s type, which is metadata the event itself does not carry.
Solana
Solana does not put token logic in per-token contracts. A single Token Program owns all token accounts, and each token is a mint account with its own supply and decimals.
The practical consequence: on Solana a wallet’s holdings are spread across associated token accounts, so “the balance of this address” requires resolving account ownership rather than reading a single mapping. NFTs are just mints with a supply of one, so nothing in the token model itself tells you an asset is an NFT.
Other ecosystems
Why Allium normalizes
Every one of those models answers “who holds what” differently. Reading them yourself means writing a distinct extraction path per ecosystem, then keeping each one correct as programs and standards change. Allium’s job is to collapse that into one shape:Next steps
- Fungible vs non-fungible — the underlying distinction
- Balances — how holdings are modelled