# E-brc-20 experiment

<figure><img src="https://3593596682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8dCnb9Elw7xtPkdWK4s%2Fuploads%2FOqUl3IKgVCJS9qeRCz9L%2F2023-05-09%2010.29.40.jpg?alt=media&#x26;token=05d101a9-8a17-4d13-a401-8e7929a9f948" alt="" width="188"><figcaption></figcaption></figure>

Read every word if you decide to test. These will be worthless. Use at your own risk.

This is just a fun experimental standard demonstrating that you can create off-chain balance states with inscriptions. It by no means should be considered THE standard for fungibility on Ethereum with ordinals, as I believe there are almost certainly better design choices and optimization improvements to be made. Consequently, this is an extremely dynamic experiment, and I strongly discourage any financial decisions to be made on the basis of its design. I do, however, encourage the Ethereum community to tinker with standard designs and optimizations until a general consensus on best practices is met (or to decide that this is a bad idea altogether!).

### Idea

We are experimenting with the feasibility of the ordinal theory on Ethereum, which involves implementing a Solidity contract.

We designed a universal brc20 Factory based on the implementation logic of brc20. Additionally, we have chosen **ORDI** as the first example of an **E-brc-20** token.

* Create an E-brc-20 with the deploy function
* Inscribe an amount of E-brc-20's with the Inscribe function
* Transfer an amount of E-brc-20's with the transfer function.

We are aware of the existence of the erc20 standard, and brc20 players are also familiar with it. To achieve a logic similar to brc20, we modified the erc20 standard. We can’t tolerate users experiencing a poor experience on the Bitcoin mainnet. Thus, E-brc20 was born.

![](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2c41d9d6-6d07-47ad-a771-e81704db4730/Untitled.png)

<figure><img src="https://3593596682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8dCnb9Elw7xtPkdWK4s%2Fuploads%2Fuh53lETnkqO8SBDbKDRo%2FUntitled%20(5).png?alt=media&#x26;token=b6b14e35-b347-4ee4-b16a-b7c30ed4b91f" alt=""><figcaption></figcaption></figure>

## How to

Getting a balance

<figure><img src="https://3593596682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8dCnb9Elw7xtPkdWK4s%2Fuploads%2F3xc5x1ovUftewYmYqvOE%2Fimage.png?alt=media&#x26;token=9440f0ff-6aaf-4b9f-a92b-aead93ef9573" alt="" width="225"><figcaption></figcaption></figure>

Transferring a balance

<figure><img src="https://3593596682-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQ8dCnb9Elw7xtPkdWK4s%2Fuploads%2Fj4vvkilLbObD7L1KLCH7%2Fimage.png?alt=media&#x26;token=8c858414-a691-4ccc-9bc6-2e4f419400bc" alt="" width="375"><figcaption></figcaption></figure>

#### Notes

You can send E-brc20 to any Ethereum address. You can securely transact E-brc20 using existing infrastructure. For public E-brc20 mints 'first is first' approach is adopted The minting and transfer functions are the only events that cause a change in balance. Decimal places cannot exceed 18. The maximum supply cannot exceed \_supply.

###
