Native tokens vs. token contracts
Every chain has a native token — the asset used to pay gas fees generally. For example, ETH is the native token of Ethereum and Base. MATIC is the native token of Polygon. SOL is the native token of Solana. All other tokens are implemented as smart contracts. On EVM chains, the dominant standard is ERC-20. On Solana, it is SPL.| Type | Examples | Stored as |
|---|---|---|
| Native token | ETH, MATIC, SOL | Account balance on-chain |
| ERC-20 token | USDC, USDT, WETH, LINK | Balance tracked inside a token contract |
| SPL token (Solana) | USDC, BONK | Token account managed by the SPL program |
ERC-20 tokens
An ERC-20 token is defined by a contract deployed at a specific address. The contract keeps a ledger of balances — which address owns how much. When you “transfer” ERC-20 tokens, you are calling a function on that contract, which updates its internal ledger. All ERC-20 tokens share the same standard interface, which means wallets, exchanges, and protocols can interact with any ERC-20 token in the same way. The key operations are:- Check balance — look up how many tokens an address holds
- Transfer — move tokens from your address to another
- Approve — grant a DeFi protocol permission to spend tokens on your behalf. This must be done before most DeFi interactions: the protocol cannot move your tokens until you explicitly authorize it via an
approvecall. See Smart contracts for why this matters in practice.
Wrapped tokens
Some native tokens — such as ETH — predate the ERC-20 standard and do not implement it natively. Wrapped tokens solve this: WETH is an ERC-20 contract that holds ETH 1:1, allowing ETH to be used in DeFi protocols that only accept ERC-20 inputs. Wrapping and unwrapping can be done at any time with no fees beyond gas.SPL tokens
On Solana, tokens follow the SPL standard. The core difference from ERC-20 is how balances are stored: rather than a single contract tracking all holders, each wallet must have a dedicated token account for each SPL token it holds. This token account is a separate on-chain account owned by the SPL program. Key implications for agents:- Before receiving an SPL token for the first time, a token account must be created. This requires a small SOL deposit (rent) and a separate transaction.
- Sending SPL tokens requires the recipient to already have a token account for that token, or the transaction must include account creation.
- Closing unused token accounts recovers the SOL rent deposit.
Stablecoins
Stablecoins are tokens designed to maintain a fixed value relative to a reference asset (usually USD). They are the most commonly transferred tokens in DeFi.| Stablecoin | Type | Issuer |
|---|---|---|
| USDC | Fiat-backed | Circle |
| USDT | Fiat-backed | Tether |
| DAI | Crypto-collateralized | Sky (formerly MakerDAO) |
| USDS | Crypto-collateralized | Sky (MakerDAO successor) |
| FRAX | Fractional-algorithmic | Frax Finance |