SPL is Solana's token standard, defining how tokens are created and transferred on the Solana blockchain. It's the direct equivalent of Ethereum's ERC-20, but built for Solana's architecture, part of the wider Solana ecosystem. Solana documents the token program itself for anyone who wants the technical detail.
The SPL standard
SPL tokens follow a common program (Solana's version of a smart contract) that governs balances, transfers, and other standard token behavior across the network, letting wallets and apps interact with any SPL token consistently.
The structural difference from Ethereum is worth understanding, because it explains most of what feels unusual about holding tokens on Solana. On Ethereum, every token is its own separate contract, each with its own copy of the same logic, written and deployed by whoever created the token. On Solana, there is one Token Program, shared by every token on the network, and creating a token means registering with it rather than deploying new code.
That has a real safety consequence. Because every SPL token runs the same audited program, a token cannot contain hidden malicious logic in its transfer function, which is a whole category of Ethereum scam that simply does not exist here. It also means less flexibility: token behavior is whatever the shared program supports, and anything unusual needs a different approach. The trade is uniformity for expressiveness, and for the vast majority of tokens, uniformity is the better deal.
SPL vs. ERC-20
Both standards solve the same basic problem, consistent token behavior on their respective chains, but SPL is built around Solana's account model, which differs technically from Ethereum's approach. Our guide to the ERC-20 standard covers the Ethereum-side comparison.
The account model is the piece that surprises newcomers, and it is worth a plain explanation. On Ethereum, your token balance is a number stored inside the token's contract, so your wallet address holds nothing directly; the contract simply records that you are owed some. On Solana, each token you hold gets its own separate account, owned by you, holding that balance. Your wallet is less a single address than a collection of accounts.
The practical fallout is the rent deposit. Creating a token account on Solana requires locking up a small amount of SOL, typically a couple of thousandths, to cover the network's storage cost. It is refundable when you close the account, but it means receiving a brand-new token requires a tiny amount of SOL and can fail without it. This is the single most common source of confusion for people arriving from Ethereum, and it is not a bug; it is Solana charging for state rather than letting it accumulate for free.
Examples
Many Solana-based projects, including stablecoins and DeFi tokens issued on Solana, use the SPL standard rather than building custom token logic from scratch.
The most important examples are the stablecoins, and they carry a warning worth heeding. USDC exists natively on Solana as an SPL token and also on Ethereum as an ERC-20, and despite the identical name and identical value, they are separate assets on separate networks. Sending Solana USDC to an Ethereum address, or the reverse, is a reliable way to lose funds permanently. The name is the same; the token is not.
Wallets
Solana-compatible wallets natively support SPL tokens, similar to how Ethereum wallets handle ERC-20 tokens automatically once a token is recognized.
Two habits carry over from Ethereum and both still apply. Unsolicited tokens will appear in your wallet, and they are almost always bait designed to get you to interact with a malicious site; receiving one is harmless, engaging with it is not. And approvals work here too: granting a program permission to move your tokens is standing authority that persists until revoked, which is the mechanism behind most drained Solana wallets, exactly as it is on Ethereum.
The useful summary: SPL is the plumbing that lets any Solana wallet handle any Solana token without special-casing it. Like ERC-20, it guarantees that a token behaves predictably and guarantees nothing whatsoever about whether the token is worth anything.
What the standard does not protect you from
The shared Token Program closes off malicious transfer logic, which is a genuine improvement, but it leaves the authorities wide open, and those are where the risk actually sits. When a token is created, whoever created it can retain two powers worth knowing about. Mint authority means they can create more of the token at will, diluting every holder, and a token whose mint authority was never revoked can be printed into worthlessness by its creator on any afternoon. Freeze authority means they can freeze your account, making your balance unmovable.
Both are legitimate in the right hands. A regulated stablecoin issuer needs to mint against reserves and needs to freeze accounts under a court order, so USDC having both is correct rather than alarming. In the hands of an anonymous team who launched a token last week, the same powers are simply a switch they can flip. Whether either authority still exists is public and checkable on any Solana explorer, and it is the first thing worth looking at before buying anything unfamiliar. The standard tells you the token will behave consistently. It says nothing about who can still change the rules.