OpenViSTAI · Agents · Blockchain · Crypto
Menu
Smart Contracts

ERC223 Token Standard

ERC223 Token Standard is a public Solidity repository containing a reference ERC-223 token interface, a basic token contract and a recipient interface for handling incoming token transfers. It also includes mintable and burnable extensions.

Independent OpenViST project profile, based on linked sources.

ERC223 Token Standard — OpenViST project profile in Smart Contracts.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use the repository when designing Solidity token or receiver contracts around ERC-223 transfer interactions, or when reviewing the standard’s reference implementation.

Who it is for

  • Solidity developers implementing or extending ERC-223 token contracts.
  • Developers building contracts that need to receive and handle ERC-223 token transfers.

Documented uses

  • Review the minimal interface shared by ERC-223 tokens and receiving contracts.
  • Use the basic token contract as a reference for ERC-223 functionality.
  • Implement a receiver that handles incoming transfers through tokenReceived.
  • Examine minting and burning extensions or extend the basic token functionality.
Before you choose

Requirements & limits

The repository is public and licensed under MIT.

  • The token interface and recipient interface define the interaction expected between ERC-223 tokens and receivers.
  • A contract without tokenReceived cannot receive a transfer unless it has a permissive fallback; the README does not recommend that fallback approach.
  • The basic token functionality can be extended with additional functions, including minting, burning, ownership or an approve/transferFrom pattern.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Implement an ERC-223 token receiver

Make a Solidity contract capable of receiving ERC-223 token transactions through the recipient interface.

Before you start

  • The ERC-223 recipient interface, IERC223Recipient.sol, in the repository.
  • A Solidity contract to implement the interface.

Steps

  1. Use contract MyContract is IERC223Recipient as the documented pattern for the receiver contract.

  2. Implement the interface’s tokenReceived function to handle incoming token transactions.

Expected outcome

The receiver implements the ERC-223 recipient interface and can handle incoming token transactions through `tokenReceived`.

Guide limitations

  • A contract without tokenReceived cannot receive ERC-223 tokens unless it has a permissive fallback function; the project does not recommend that fallback approach.
  • The source does not document compilation, deployment, or testing steps.
Source-based practical guide

Extend the basic ERC-223 token contract

Add documented optional functionality to the basic ERC-223 token implementation.

Before you start

  • The basic token contract, ERC223.sol, in the repository.
  • Solidity development context.

Steps

  1. Start with ERC223.sol, which defines the basic ERC-223 token logic.

  2. Add desired functionality, such as burn(), mint(), ownership, or an ERC-20-style approve / transferFrom pattern.

  3. For minting or burning implementations, consult the repository’s ERC223Mintable.sol or ERC223Burnable.sol extension.

Expected outcome

A token contract extended with selected additional functionality; the repository provides separate mintable and burnable extensions.

Guide limitations

  • The source identifies extension examples but does not provide steps for compiling, deploying, or testing them.
  • The burnable extension description says any address can burn its own tokens by calling the contract’s burn function.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
Dexaran/ERC223-token-standard · Official homepage title · retained in its source language