ELC-20
A proposed fungible asset standard for Sigils.
DraftELC-20 is an evolving, Sigil-based fungible asset standard for the Saelis ecosystem. It defines a consistent interpretation for Sigils that represent the deployment, issuance and movement of fungible units.
Scope
ELC-20 describes fungible assets whose state is derived by indexers from Sigils, rather than held in an ERC-20 contract. It covers three operations:
| Operation | Purpose |
|---|---|
deploy | Declares a new asset, its ticker and its supply constraints |
mint | Issues new units of a deployed asset to the minter |
transfer | Moves units from the sender's balance to a recipient |
Operation payloads and per-field rules are detailed in Operations.
How ELC-20 fits the envelope
An ELC-20 Sigil is an ordinary Sigil whose std field is elc-20. The operation and its arguments live in the body.
Draft Example — Not Finalized
{
"p": "saelis",
"v": 0,
"std": "elc-20",
"body": {
"op": "deploy",
"tick": "demo",
"max": "21000000",
"lim": "1000",
"dec": "18"
}
}Supply constraints
A deploy fixes two constraints that every later mint must respect:
- Maximum supply (
max): the total number of units that can ever be minted. - Mint limit (
lim): the maximum number of units a single mint may issue.
Neither can be changed after deployment, because there is no operation that modifies a deploy.
Balance computation
Balances are not stored anywhere. An indexer computes them by replaying every valid ELC-20 operation for a ticker in canonical order:
- A valid
mintaddsamtto the minter's balance and to the total minted. - A valid
transfersubtractsamtfrom the sender and adds it to the recipient.
The minter and the sender are always the account that signed the publishing transaction. A Sigil cannot move units on behalf of a different account.
Operation ordering
Operations are processed in canonical order: by block number, then transaction index, then intra-transaction index where applicable. Ordering decides every conflict. The first deploy of a ticker wins; when two mints compete for the last remaining supply, the earlier one is applied first.
Validation requirements
Every ELC-20 operation is validated against the state produced by all earlier operations. The proposed rules and their open edge cases are documented in Validation Rules.
Relationship to ERC-20
ELC-20 borrows the vocabulary of fungible tokens but not the mechanism. An ERC-20 balance is enforced by a contract; an ELC-20 balance is computed by indexers from published Sigils. ELC-20 units cannot be used directly by Elysium smart contracts unless a bridge or wrapping mechanism is later specified. No such mechanism exists.