A token standard is a published specification, a written set of requirements, for the interface of a smart contract that creates tokens. The interface is the contract’s functions and events. Software written for the interface can work with a contract that follows it. A token is a unit issued on an existing blockchain through a smart contract, a program stored there.
What Does a Token Standard Define, and What Does It Leave Open?
A token standard defines the interface of a token contract, which is a smart contract that creates and tracks tokens. The interface lists the functions that the token contract provides, what each function takes and returns, and the events that the token contract records.
A function is a named operation that a token contract provides and that a transaction or another contract can call. A transaction is a request that a user sends to a blockchain, such as a request to move a token. A blockchain is a shared record to which new entries are added one after another. An event is a notice that a token contract records on the blockchain when something changes, so that software can follow the change.
For example, a standard can declare a function that returns the balance of an address and a function that moves tokens to another address. An address is an identifier on a blockchain for a user or for a smart contract. A balance is the number of tokens that an address holds.
Notably, ERC-20, ERC-721, ERC-1155, and BEP-20 do not define any rights connected to a token or a token’s legal status. They also do not define a token’s content, meaning the data or files that a token refers to, or the rest of the token contract’s code, and they leave the content and the rest of the code to the token contract’s author. A token standard does not create tokens, and a token contract that follows the standard creates them.
Why Do Token Standards Exist?
Token standards such as ERC-20 and BEP-20 exist so that software can reuse tokens through one interface. Software is an application or another smart contract that calls the functions of a token contract and reads its events. The ERC-20 text describes the aim as letting other software reuse tokens through a standard interface, and the BEP-20 text gives a similar aim.
Compatibility means that one piece of software can work with another without being changed for it. A token standard gives software one set of function names and events, so software can call and read a token contract that follows the standard in the same way. A standard helps software only when the software supports its interface, which means that the software is written to call the functions that the standard names.
What Do ERC-20, ERC-721, ERC-1155, and BEP-20 Specify?
ERC-20, ERC-721, ERC-1155, and BEP-20 are 4 examples of token standards. Fungible means that the units of a token are interchangeable, so one unit is the same as another. Non-fungible means that a token contract tells each token apart from the others, so no two tokens are interchangeable. The Non-fungible token (NFT) glossary entry explains the concept of a non-fungible token.
What Does ERC-20 Specify?
ERC-20 is a standard for fungible tokens on Ethereum. A token contract that follows ERC-20 keeps a balance for each address, and its interface includes balanceOf, which returns the balance of an address, and transfer, which moves tokens to another address. The function approve lets one address allow a second address, the spender, to move tokens from the first address’s balance, up to an amount, in one or more transfers. The function transferFrom is the one that the spender calls to move those tokens, and allowance returns the amount that the spender may still move. The events Transfer and Approval announce a transfer and an approval, and no ERC-20 function names a token ID, which sets ERC-20 apart from ERC-721 and ERC-1155.
What Does ERC-721 Specify?
ERC-721 is a standard for non-fungible tokens on Ethereum. A token contract that follows ERC-721 gives each token a token ID, which is a number that tells the token apart from the other tokens in the token contract. The token contract also records which address controls each token ID. ERC-721 shares some names with ERC-20, such as balanceOf and Transfer.
What Does ERC-1155 Specify?
ERC-1155 is a standard for a token contract that manages several token types on Ethereum, and its title is “Multi Token Standard.” In ERC-1155, a token ID identifies a token type, which is one kind of token that the token contract manages, and the transfer functions take a token ID. The standard also declares batch functions, which take lists of token IDs and amounts, so that one call can name several token types. ERC-20 covers fungible tokens and ERC-721 covers non-fungible tokens, while ERC-1155 allows fungible tokens, non-fungible tokens, or both in one contract.
What Does BEP-20 Specify?
BEP-20 is a token standard for BNB Smart Chain, a blockchain separate from Ethereum. BEP-20 describes a standard interface for token contracts on that chain, and the BEP-20 text lists the same function and event names as ERC-20. The BEP-20 text says that BEP-20 is derived from ERC-20.
How Do ERC-20, ERC-721, ERC-1155, and BEP-20 Compare?
ERC-20, ERC-721, ERC-1155, and BEP-20 differ in what one unit is, what the token contract tracks, and where the standard is specified.
ERC-20 vs ERC-721: What Does a Contract Track?
ERC-20 and ERC-721 differ in what one unit is and in what the token contract tracks. An ERC-20 unit is one of many interchangeable units, and the token contract answers how many units a given address holds. An ERC-721 unit is a single token with a token ID, and the token contract answers which address controls a given token ID. The ERC-721 glossary entry lists the functions and events of ERC-721.
BEP-20 vs ERC-20: How Are the Two Related?
BEP-20 is derived from ERC-20, according to the BEP-20 text, and it is written for BNB Chain (Binance Smart Chain), where ERC-20 is written for Ethereum. The BEP-20 text states that the functions symbol and decimals are required, while the ERC-20 text marks them as optional. The BEP-20 text also says that BEP-20 extends ERC-20 for cross-chain transfer, which means a transfer of tokens from one blockchain to another. This glossary entry does not describe how any such transfer works.
How Are Token Standards Written, and for Which Blockchain?
A token standard for Ethereum is written as an Ethereum Improvement Proposal (EIP), a design document for the Ethereum community. ERC is the category of EIPs that define standards for applications, token standards among them. An EIP moves through stages that EIP-1 defines, such as Draft and Review, and an EIP that is accepted as a standard has the status Final.
Each of ERC-20, ERC-721, ERC-1155, and BEP-20 is written for a particular blockchain. The ERC-20, ERC-721, and ERC-1155 texts name Ethereum, and the BEP-20 text, a BNB Evolution Proposal (BEP), is written for BNB Smart Chain. Other blockchains can publish different token standards.
Can Two Contracts That Follow the Same Standard Still Differ?
Two token contracts that follow the same standard can differ in other behavior, because the standard defines the interface and not the rest of the code. A standard can also include optional parts, so one token contract can provide functions that another token contract leaves out.
The ERC-20 text marks the functions name, symbol, and decimals as optional. The ERC-721 and ERC-1155 texts each describe an optional metadata extension, where metadata is data that describes tokens. The ERC-721 extension adds three functions, and the ERC-1155 extension adds one function, uri.
November 27, 2025











