# ZRC-20 TOKEN STANDARD

### Introduction

#### What is a Token?

Tokens can represent virtually anything in Ethereum:

* reputation points in an online platform
* skills of a character in a game
* lottery tickets
* financial assets like a share in a company
* a fiat currency like USD
* an ounce of gold

Such a powerful feature of Ethereum must be handled by a robust standard, right? That's exactly where the ZRC-20 plays its role! This standard allows developers to build token applications that are interoperable with other products and services.

### What is ZRC-20? <a href="#defineerc20" id="defineerc20"></a>

The ZRC-20 introduces a standard for Fungible Tokens, in other words, they have a property that makes each Token be exactly the same (in type and value) of another Token. For example, an ZRC-20 Token acts just like the ETH, meaning that 1 Token is and will always be equal to all the other Tokens.

### Prerequisites

* Accounts
* Smart Contract
* TOken Standards

### Body

The ZRC-20 (Ethereum Request for Comments 20), proposed by Fabian Vogelsteller in November 2015, is a Token Standard that implements an API for tokens within Smart Contracts.

It provides functionalities like to transfer tokens from one account to another, to get the current token balance of an account and also the total supply of the token available on the network. Besides these it also has some other functionalities like to approve that an amount of token from an account can be spent by a third party account.

If a Smart Contract implements the following methods and events it can be called an ZRC-20 Token Contract and, once deployed, it will be responsible to keep track of the created tokens on Ethereum.
