ChiRC-20 Token Protocol on Chia Blockchain

ChiRC-20 is a token protocol built on top of the Chordinals on-chain NFT standard and the CHIP-7 standard, which are in turn built on the NFT1/NFT0 standards. ChiRC-20 is influenced by BRC-20 on Bitcoin, but benefits from NFT1, Offer files and other capabilities of the Chia blockchain.

ChiRC-20 tickers ("tick") are unique and case-insensitive. The first valid deploy command on the Chia blockchain for a ticker specifies the parameters for said ticker. For example, there can only be one "MOJOS" ticker deploy command. Subsequent

This standard specifies values and fields in different parts of the NFT1 standard. Example files and scripts are included in a public git repo. This standard has been designed with the aim of supporting easy indexing and support by existing ecosystem projects, as well as easy validation where possible. While the BRC-20 standard on Bitcoin only uses the "uri" equivalent for Chia NFT's, the ChiRC-20 standard also specifies values for other fields in the NFT1 & CHIP-0007 standards. When in doubt, refer to the code samples.

Differences from BRC-20 include:

Design Choices

Get Notifications of Updates

Get updates from creator Anarkoic on new releases, airdrops, etc.

Tokens List on Chordifun

ChiRC-20 tools on Github

Commands

The two "commands" for ChiRC-20 are "Deploy" and "Mint". Note that a valid Mint command NFT is also the tradeable ChiRC-20 token itself.

Only one ChiRC-20 command may be issued in a Chordinal. The ChiRC-20 doesn't need to be minted using a DID. Minting without a DID has a lower clvm cost, and takes up less space. To mint without DID's make sure you use the wallet id of a regular NFT wallet id (see "chia wallet show") inside your Chia wallet. You may wish to mint ChiRC-20 Deploy commands with a DID though for historical significance and provenance. The Deploy NFT may have historical value to some, and thus an independent value of its own.

For this initial version, ChiRC-20 Chordinals must be base64-encoded json files of media type application/json (preferably) or plain/text. This helps apps integrating them index / verify easily.

Deploy

Deploy opens minting for a particular ticker, with minting being permitted starting in the following block after the block that the Deploy NFT is minted in. Supply can be specified either by a maximum minting block number or a maximum number of tokens.

See sample files in the chirc-20 git repository

Requirements:

Only one command may be issued in a Chordinal.

URI content Outline:
 {
  "p": "chirc-20",
  "op": "deploy",
  "tick": "chordi",
  "maxBlock": "6400000",
  "lim": "100",
  "description": "",
  "logos": ["https://www.chirc20.com/chordi/chordi.png", "https://www.chordinals.com/chordi/chordi.png", "https://www.chirc20.com/chordi/chordi.mp4", "https://www.chordinals.com/chordi/chordi.mp4"],
  "links": ["https://www.chirc20.com/chordi/", "https://x.com/chordinals", "https://discord.gg/TGddbKbEp4", "https://www.chordinals.com/chordi/"],
  "v": "1" # version, optional, default value is 1,
  "t": # optional, reserved for future use,
  "data": # optional, can be used for extensions
}
URI content Example:
{
  "p": "chirc-20",
  "op": "deploy",
  "tick": "chordi",
  "maxBlock": "6400000",
  "lim": "100",
  "description": "Chordi is the first ChiRC-20 token",
  "logos": ["https://www.chirc20.com/chordi/chordi.png", "https://www.chordinals.com/chordi/chordi.png", "https://www.chirc20.com/chordi/chordi.mp4", "https://www.chordinals.com/chordi/chordi.mp4"],
  "links": ["https://www.chirc20.com/chordi/", "https://x.com/chordinals", "https://discord.gg/TGddbKbEp4", "https://www.chordinals.com/chordi/"]
}

Mint

Mint "amt" # of tokens of ChiRC-20 tokens of ticker "tick".

Requirements & Notes:

>Only one ChiRC-20 command may be issued in a Chordinal.

URI Content Outline:
{
    "p": "chirc-20",
    "op": "mint",
    "tick": "chordi", # 4-20 characters, may include unicode characters, case-insensitive
    "amt": "100" #OPTIONAL, defaults to "lim" value of the particular ticker
    "v": "1" # version, optional, default value is 1
    "t": # optional, reserved for future use
    "data": # optional, can be used for extensions
}
URI Content Example:
{
    "p": "chirc-20",
    "op": "mint",
    "tick": "chordi"
}

Transfer

To transfer a ChiRC-20 token ("mint") coin, simply transfer the NFT1 of the token coin. Similarly, standard Offers may be used to sell the coin.

To break up a ChiRC-20 token coin into coins of smaller amounts, you could trade it for ChiRC-20 NFT1's of a smaller denomination. Stay tuned for more developments in this area, and sign up for the Anarkoic e-mail list above.

Supporting Development

Donation address: xch1cchazmc92k370genxxpyuzqhtyn8m2acv46n3ue2qwnpu5s4urdqsk9fnj

Donations can be used for areas such as bounties for integration by other projects, platform utilities and future development. We suggest sending donations be sent from non-exchange addresses in case community members look to reward donators in future.

Integration

Apps Displaying ChiRC-20 should indicate if a ticker includes non-ascii characters to reduce homoglyphing risk (characters that look the same but are different). See ENS for an example. NFT sites might indicate if an NFT is a valid ChiRC-20 command NFT.

Logo accepts a URI or an nft1 id (e.g. nft1...) or coin id.

Future

We have ideas for a few innovations for the future. Sign up for our Anarkoic email newsletter above to stay informed. Expansions to the protocol will likely have a minimum block number to activate.