Appearance
How to issue a native token
Goal: create a fungible token on ACE and mint an initial supply, using only the public RPC surface.
Endpoints: public testnet https://testnet.acechain.io/rpc, or a local node at http://127.0.0.1:18545. Both use chain-id 122766.
1. Choose parameters
| Parameter | Notes |
|---|---|
symbol | Display ticker. |
decimals | ≤ 10. Native mint supply is u64 (max ≈1.8e19); total_tokens × 10^decimals must fit. 9 is the canonical choice; 6 is common. |
mint_id | 32-byte on-chain token identifier you choose (e.g. a hash). |
2. Build → sign → submit (CreateMint)
ace_buildTokenCreate(mint_id_hex, decimals) → { payload_hex, mint_id_hex }Sign the attestation over SHA256(payload) with Domain(chain_id, slot), then:
ace_submitSignedPayload(idcom_hex, payload_hex, credential_hex, pubkey_hex,
chain_id, slot, null)The signer becomes the mint authority.
3. Mint supply (MintToOwner)
ace_buildTokenMint(mint_id_hex, owner_idcom_hex, amount) → { payload_hex }Sign and submit the same way. Only the mint authority's signature is accepted.
Notes
- The build methods only encode the canonical
0x20SVM-invoke payload; the node never signs. Hex arguments accept an optional0xprefix. - For brand-new tokens use a native mint, not an oAsset — oAssets are bridge-backed and can only be minted by real cross-chain deposits.
