FERC20: A Fairer ERC20 Proposal

FERC20
6 min readJun 5, 2023

--

Original author: @jackygu.eth(https://twitter.com/jackygu2020) Translator: @leoyuan.eth

#Introduction

We are delighted to announce the launch of erc20.cash. This is a fairer version of the ERC20 token scheme, which we have named: Fair ERC-20, aka FERC20.

On March 8 of this year, the BRC20 token was successfully deployed on the Bitcoin chain by Ordinals. In just a couple of months, it attracted a significant amount of attention and financial participation. The success of BRC20 is attributable to the following reasons:

  • The simple Ordinals protocol prevents BRC20 issuers from doing too much programming on the token, avoiding various security risks and some selfish designs found in Ethereum contracts.
  • qual minting rights for everyone. BRC20 issuers or project teams cannot reserve a portion of free (or cheap) tokens for themselves or related stakeholders, as is commonly done in Ethereum smart contracts. When minting BRC20, everyone starts from the same starting line, including the issuer and the team.
  • Bitcoin’s UTXO mechanism and low performance prevent many speedy smart contract bots from operating on the Bitcoin network, thus preventing unfair advantages obtained through technical means.

BRC20 is fairer to community participants, thereby attracting more people to participate.

However, an interesting phenomenon is that the majority of Ethereum community members have not yet participated in BRC20.

So, we wondered, could we realize the Fairlaunch spirit of BRC20 through smart contracts on Ethereum (and other EVM chains), to allow more community participation?

FERC20 is the experimental result of this idea.

FERC20 is based on the ERC20 standard protocol, so it has features that BRC20 does not, including but not limited to:

  • Easy transfers within familiar wallets without the need to download new wallet software;
  • Can be used within Ethereum’s robust DEFI ecosystem, including DEX, lending, multisig, and more;
  • FERC20 tokens have no owner permissions, i.e., they are ownerless tokens;
  • The number of Tick characters can be upgraded;
  • No pre-mining; the total amount of tokens starts from zero and continues until the cap is reached;
  • Highly decentralized, server-less system architecture, including search and discovery functions, all carried out within the smart contract;
  • Not a BRC20 counterfeiting platform; users interact directly with the contract;

The main difficulty of implementing BRC20 on Ethereum lies in how to effectively prevent witches and smart contract bots on the Bitcoin chain to maintain fairness among participants.

Therefore, we have added three sets of attributes to the base ERC20 standard contract:

  • Freezing period:
  • After a user mints for the first time, they will enter a freezing period. If they want to continue minting during the freezing period, they need to pay a small fee to the platform. Each additional mint will double the fee. For example, the first mint during the freezing period will cost 0.00025 ETH, the second will cost 0.0005 ETH, and the third will cost 0.001 ETH, and so on.
  • Position condition:
  • The deployer can set holding conditions to prevent witch accounts from minting in large scale quickly. Holding assets include NFTs and other ERC20 tokens.
  • Presale/crowdfunding:
  • The deployer can set the presale/crowdfunding price of the token, which will be used to charge a fee when minting.

According to the different combinations of the above three groups of attributes, there are the following eight subtypes:

The issuer can set the above three groups of attributes as needed when deploying the token contract.

How to Use:

1- Basic information

Website: https://erc20.cash

Home page

2- Deploy a new token

Click the orange “DEPLOY” button, as shown below:

Deploy

In the image above:

  • Tick: The token symbol, which should be four characters. It’s unique and given on a first-come, first-served basis.
  • Name: The name of the token, up to 20 characters maximum.
  • Hard Cap: The maximum issuance.
  • Limit Per Mint: The number of tokens received per mint.

If you only fill in the above four fields, a FERC20 token that is free to mint without a freeze period or holding condition will be issued.

After filling in the information, click on the “DEPLOY” button in the lower right corner, which will call upon your “Metamask wallet” to start deploying the new token.

3- Deploying Advanced Tokens

Click on the “More Setting…” button in the image above to display advanced token configurations.

After filling them in, click the “DEPLOY” button in the lower right corner, and your “Metamask wallet” will be called upon to start deploying the new token.

4- Minting FERC20 Tokens

Click on the button in the image above to start minting. First, the details of the token will be displayed as follows:

One mint example

Check if the minting parameters are correct.

Please note: if there are token minting holding conditions and if these conditions are not met, a red warning will appear and minting cannot proceed.

After clicking the “MINT” button, the “Metamask wallet” will pop up asking for confirmation, as shown below:

Free mint example

Please carefully check the section in the green box in the image above, which is the minting cost (since this tutorial is operating on the Polygon test network, it shows MATIC, but on the Ethereum main network, it would be ETH).

After confirming the information, click the “Confirm” button in the “Metamask wallet” to sign and send the transaction.

After a while, the transaction confirmation will appear, and the minting is completed.

5- Minting FERC20 Tokens During the Freeze Period

If the token has a freeze period, it will enter the freeze period after free minting.

During the freeze period, you can continue to mint, but you will need to pay a tip to the platform (priced in ETH). The first minting tip after entering the freeze period is 0.00025ETH, the second time is 0.0005ETH, the third time is 0.001ETH, etc., doubling each time.

During the freeze period, clicking on the “MINT” button will display the following prompt:

After selecting to confirm the payment of the tip, click on the “MINT” button again to start minting.

**Please note: The red box in the image above includes two fees, one is the tip, and the other is the crowdfunding fee (if the token does not have a crowdfunding fee, there will only be a tip). **If you want to continue minting during the freeze period, the tip amount will double, as shown in the figure below:

Fee rules

  • **Deploying FERC20 tokens: **Free (only gas fee is payable, the same below)
  • Minting FERC20 without a freeze period: Free
  • Minting FERC20 with a freeze period: The first time is free. After entering the freeze period, the second time will be charged 0.00025ETH, the third time 0.0005ETH, and each time it will double until the end of the freeze period. After the freeze period ends, there is one free minting, and then it enters the freeze period again.
  • Minting FERC20 with crowdfunding: A 1% fee is charged each time. If the crowdfunding price is 0.1ETH per FERC20, then the fee is 0.001ETH, and 0.099ETH goes to the crowdfunding organizer’s account immediately.

Risk Warning:

The contracts InscriptionFactory.sol and Inscription.sol have not been audited. Please evaluate the contract risks on your own.

Contract open-source address: https://gist.github.com/jackygu2006/39dbc920703bcc46c8aa0fb2a071f720

--

--

Responses (1)