> Architecture Dossier/2020

ERC-2980

Swiss Compliant Asset Token: an ERC-20-compatible token interface designed around Swiss law.

  • Ethereum
  • ERC
  • Compliance

Executive Summary

ERC-2980 (Swiss Compliant Asset Token) is an Ethereum ERC proposal, created on 8 September 2020, that defines an ERC-20-compatible interface for asset tokens with restrictions designed to comply with Swiss financial laws. Gianluca Perletti is the lead author, together with Alan Scarpellini, Roberto Gorini and Manuel Olivi. The specification covers whitelisting, freezing, issuer roles, and revoke/reassign functions.

The Problem & Industry Challenge

ERC-20 uses a permissionless transfer model: any address can send tokens to any other address. That works for utility tokens but conflicts with the legal requirements for securities.

Swiss laws such as the Financial Market Infrastructure Act, the Banking Act, the Collective Investment Schemes Act and the Anti-Money Laundering Act, together with FINMA's guidance on ICOs, require issuers of asset tokens to control who can hold and transfer them, for example through KYC/AML checks.

Issuers must also be able to freeze tokens and revoke or reassign them, for example in case of lost keys or legal orders.

Without an open standard, each issuer builds proprietary security token contracts, which hurts interoperability with wallets and custody software.

My Role & Technical Leadership

Gianluca Perletti is the lead author of ERC-2980 (Swiss Compliant Asset Token), together with Alan Scarpellini, Roberto Gorini and Manuel Olivi.

He worked on identifying the gap between Swiss securities requirements and EVM token interfaces, and on a design that keeps ERC-20 compatibility.

He was the lead author of the interface specification and the proposal document in the Ethereum Improvement Proposals repository.

The proposal was discussed publicly in the Ethereum EIPs GitHub repository (issue #2983).

Technical Architecture & Systems Engineering

ERC2980 token interface

extends ERC-20 and exposes whitelist() and frozenlist() checks, so that only whitelisted, non-frozen addresses can receive tokens.

Whitelist and Frozenlist

example interfaces to add and remove addresses from the whitelist (AML/KYC) and from the frozenlist.

Issuers

role management (isIssuer, addIssuer, removeIssuer, transferIssuer). The issuer is the only role allowed to manage the whitelist and to execute freeze or revoke functions.

Revoke and Reassign

functions that let the issuer revoke tokens from an address or reassign them to another address, as required for asset tokens under Swiss law.

ERC-20 backward compatibility

transfer, transferFrom, approve and allowance can be implemented alongside, making the token fully compatible with ERC-20.

Results & Verified Milestones

[1]

Published ERC-2980 in the official Ethereum Improvement Proposals repository (current status: Stagnant).

[2]

Provided an open interface for issuing asset tokens (security tokens) designed around Swiss financial regulation.

[3]

Showed how EVM tokens can integrate whitelisting, freezing and revocation while staying ERC-20-compatible.

Frequently Asked Questions

What is ERC-2980?

ERC-2980 (Swiss Compliant Asset Token) is an Ethereum ERC proposal for ERC-20-compatible asset tokens with restrictions designed to comply with Swiss law: whitelisting for AML/KYC, freezing, issuer roles and revoke/reassign functions. Its current status on eips.ethereum.org is Stagnant.

Who authored ERC-2980?

The authors listed on eips.ethereum.org are Gianluca Perletti (lead author), Alan Scarpellini, Roberto Gorini and Manuel Olivi.

How does ERC-2980 differ from standard ERC-20?

It keeps the ERC-20 interface but adds whitelist and frozenlist checks, issuer roles and the ability for the issuer to revoke or reassign tokens.