Create the asset
const assetId = 1001; // choose an unused id; DUSD is #1 on the testnet
await api.tx.assets.create(assetId, issuerAdmin, minBalance).signAndSend(issuer);
await api.tx.assets.setMetadata(assetId, "Issuer USD", "IUSD", 18).signAndSend(issuer);
Fee for creation on the testnet: on the order of 0.0001 DMS. The asset now appears in Eoonia and any Substrate wallet reading pallet-emp-assets, with no token list.
Mint and burn against the reserve
await api.tx.assets.mint(assetId, beneficiary, amount).signAndSend(issuerAdmin);
await api.tx.assets.burn(assetId, holder, amount).signAndSend(issuerAdmin);
The admin role is an account — make it a pallet-multisig account, and consider sealing it with a post-quantum key (pallet-pqc-keys) so that only ML-DSA signatures can mint.
Freeze and thaw
assets.freeze(assetId, account) / thaw at the account level; freezeAsset / thawAsset for the whole asset. Runtime-enforced; no wallet can move a frozen balance.
Compliance and sanctions
Register the asset's rules in pallet-compliance: required credential type (a KryptoOS did:emp credential from an accepted issuer), jurisdiction exclusions, position limits. Attach pallet-sanctions screening. From then on every transfer of the asset — from any app, the DEX, a Solidity contract via 0x1155, or a raw extrinsic — passes the check or fails deterministically.
Gas and pricing
Users holding only your asset cannot pay DMS fees; either sponsor them via pallet-paymaster, or — as DUSD does — register a gas conversion so fees can be paid in the asset. DUSD's is fixed at 1.538462 DMS per DUSD in the canonical tokenomics; a third-party asset would need the same through governance (an economic-class upgrade).
Visibility
Eoonia: automatic. EmpooScan: once its indexer is repaired (it lacked a Balances.Transfer handler at audit time; assets events likewise need coverage). DEX: create a pool against DMS or DUSD; fund the pool's treasury account first, or no swap settles (the DEX's own lesson).
Solidity interop
Contracts read and move the native asset through the 0x1155 precompile as an ERC-1155-style surface. No wrapped ERC-20 needed.
What remains yours
The reserve, attestations, redemption, licensing, and the truth of the peg. The chain enforces your rules; it does not vouch for your dollars. And all of this is on a two-validator testnet with no mainnet — the right place to rehearse, the wrong place to hold value.
The issuer this page named
Has nothing on EmpoorioChain. The guide is for whoever does first.
Based on PALLET_REFERENCE.md, EIP_COVERAGE.md, TOKENOMICS.json (gas_en_dusd) and the runtime 220 DEX notes.


