Skip to main content

Developer token proposal and bridge setup

Developers and project teams can propose new FT4 tokens and optional bridges on the Token Chain. The process includes fee payment, parameter configuration, and (optionally) bridge deployment.

1. Proposing a new token

Anyone can submit a token proposal. A listing fee is required upfront and refunded if the proposal is rejected. By default, the fee distribution is:

  • 25% burned to reduce overall supply and help maintain token value over time.
  • 25% to Chromia Foundation to support ecosystem development.
  • 50% directed to the project's resource pool for ongoing ecosystem incentives.

Since listing fees are paid on the Economy Chain, you'll need to provide proof on the Token Chain via ICMF. Include the proof in the proposal operation or send it through ICMF to the Token Chain.

Your proposal should include:

  • Token name
  • Token symbol
  • Token decimals
  • Token icon
  • Minting policies (if any)
  • Account creation blockchains
note

Burning a portion of the fee creates deflationary pressure on the governance token, aligning long-term incentives. This will be enabled in a future release.

Steps:

  1. Check current constants:

    chr query --blockchain-rid ${TOKEN_CHAIN_RID} get_token_chain_constants
  2. Submit proposal (replace placeholders):

    chr tx --evm-auth ${EVM_WALLET_ADDRESS} --blockchain-rid ${TOKEN_CHAIN_RID} \
    propose_token ${NAME} ${SYMBOL} ${DECIMALS} ${ICON_URL} \
    [MINTING_POLICY_JSON] [ACCOUNT_CREATION_BRID_RIDS]
  3. Verify proposal status:

    chr query --blockchain-rid ${TOKEN_CHAIN_RID} get_proposals_by_proposer proposer=${YOUR_ACCOUNT_ID}
  4. After approval, fetch your asset ID:

    chr query --blockchain-rid ${TOKEN_CHAIN_RID} \
    ft4.get_assets_by_name name=${YOUR_TOKEN_NAME} page_size=null page_cursor=null

2. Proposing a bridge

If you don't have the EVM_TRANSACTION_SUBMITTER_CHAIN_RID, retrieve it with:

chr query --blockchain-rid ${DIRECTORY_CHAIN_RID} get_evm_transaction_submitter_chain_rid
  1. Retrieve existing bridges:

    chr query --blockchain-rid ${EVM_TRANSACTION_SUBMITTER_CHAIN_RID} get_all_bridges
  2. Identify the Token Chain's validator contract in the response.

  3. Define your bridge_configuration in RELL format:

    struct bridge_configuration {
    network_id: integer;
    bridge_contract: byte_array;
    token_contract: byte_array;
    eif.hbridge.bridge_mode;
    use_snapshots: boolean;
    skip_to_height: integer;
    }
  4. Submit bridge proposal using the Chromia CLI (see the Deploy the bridge guide).

Token minting

To mint tokens (if authorized):

chr tx --evm-auth ${EVM_WALLET_ADDRESS} --blockchain-rid ${TOKEN_CHAIN_RID} \
mint_token ${ASSET_ID} ${AMOUNT}

For full reference on on-chain functions and ICCF operations, see the ras_token_iccf documentation.