Issuing an asset
You issue an asset with the four-step Issue asset wizard. It ends in a deployment the administering vault's quorum signs, followed by an initialisation that sets the asset's parameters on-chain.
Required permissions: Manage tokens (MANAGE_TOKENS).
Prerequisites: The administering vault exists, its signers have signing profiles, and it holds Bitcoin for network fees.
#Step 1: Asset
- Open Issuance › Assets and select Issue asset.
- Enter the Token name and Ticker, for example "Acme USD" and
USDX. - Enter a Description.
- Select the administering vault. The asset takes the vault's network.
- Set Decimals, from 0 to 8.
#Step 2: Roles and limits
- Confirm the admin quorum. It is the administering vault's threshold, for example 2 of 3 signing keys.
- Assign the asset roles: minter, burner, pauser and compliance officer. Each is separated from the others, and every action is maker-checker.
- Set the hard supply cap. It can never be raised after issue.
#Step 3: Whitelist policy
Choose whether the asset enforces its whitelist from the start, and add the first approved addresses. Regulated stablecoins usually enforce it. See Asset whitelist.
#Step 4: Review and deploy
Review every parameter, then submit. SQRL Enterprise builds the deployment transaction and the vault's signers sign it in the usual signing workflow.
Parameters are permanent
The supply cap and decimals are fixed for the life of the asset, and a deployed contract cannot be changed. Check them before you sign.
#Initialisation
Once the deployment is confirmed, the asset shows Not initialised. Select Initialise to create the initialisation call, which sets the name, ticker, decimals, cap and whitelist policy and credits any initial supply to the vault. It is signed by the same quorum. Only the vault that deployed the asset can initialise it.
When initialisation is confirmed, the asset is Live.
#If something fails
- Deploy failed: review the error on the asset page and resubmit. Network conditions are the usual cause.
- Init refused: the contract rejected the initialisation, for example because it was not signed by the deploying vault. Review and resubmit.