Deploy, Upgradable, Migration

Basics

KeyRequiredDescription

p

yes

Protocol: orc-20 or orc20 case-insensitive.

For wider adoption, any ordinal tokens supporting ORC-20 implementation (like src-20, xrc-20, including wrapped BRC-20) can be included.

tick

yes

Ticker: symbol of ORC-20 in any size and case-insensitive, eg. ORC = orc

name

no

Name: name of ORC-20 in any size

id

no

Identifier: inscription number.

Subsequent operations must use inscription number.

eg. initial ORC-20 deployment doesn't require id; but you must specify inscription number of the deployment for subsequent mint, send, migration, and upgrade.

op

yes

Operation: deploy event, specify type of event, eg. deploy, mint, send, cancel

max

no

Max Supply: set max token supply, default to infinite unless explicitly specify, limited to uint256

lim

no

Mint Limit: max amount can be minted per ordinal, default to 1

dec

no

Decimal: decimal precision must be <=18, default to 18

Advanced

KeyRequiredDescription

ug

no

Upgradable: true or false, default to true. It allows the deployer to upgrade ORC-20 later.

wp

no

Migration Wrapper: true or false, default to false. This is for token migration purpose and irreversible. Only the deployer of the original BRC-20 can deploy migration event. The wrapper copies metadata of the original BRC-20, eg. same max supply, mint limit.

v

no

Version: helpful information when you upgrade the ORC-20.

msg

no

Message: custom text, message, manifesto in any size

Custom Key

no

For custom implementation only, eg. tax - to enforce transactional tax, such as royalties; minter - special minter address; img - token image; tkid - token id; url - url of token info

  1. Example - Basic Deploy: Deploy ORC-20 token with ticker orc, identifier 1, name OrcDAO, max supply 21000000, limit per mint 10000

{ 
  "p": "orc-20",
  "tick": "orc",
  "name": "OrcDAO",
  "id": "1",
  "op": "deploy",
  "max": "21000000",
  "lim": "10000"
}
  1. Example - Upgradable Deploy: Only owner can upgradable deploy. (For basic deployed tokens, the default Upgradable status is true, so for the orc token in Example 1 we can deploy the upgradable). Deploy orc token upgradable, changing the maximum supply from 21000000 to 100000000

{ 
  "p": "orc-20",
  "tick": "orc",
  "name": "OrcDAO",
  "op": "deploy",
  "max": "100000000",
  "lim": "10000"
}
  1. Example - Migration Deploy: Only owner can migration deploy. Migrating ordi (inscription number #348020) from BRC-20 to ORC-20 by inscribing the following migration event

{ 
  "p": "orc-20",
  "tick": "ordi",
  "id": "348020",
  "op": "deploy",
  "wp": "true"
}

After the migration, all ordi tokens are now ORC-20. Future operations such as mint, send, and cancel must follow the ORC-20 standard.

Last updated