DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

What an Exchange Would Need to Integrate DMS

No exchange lists DMS and none is in discussion. The chain repository nevertheless contains a guide for the day one wants to — written so that the integration is correct rather than fast. This post summarises it.

First: 18 decimals

Older project documents said 6. The guide opens with this because the error is not cosmetic:

If you integrate with1 DMS isError
18 decimals ✓1,000,000,000,000,000,000 base unitscorrect
6 decimals ✗1,000,00010¹²

A 1 DMS deposit read at 6 decimals credits 0.000000000001 DMS; a withdrawal sends a trillion times too little — or too much. Verify from the chain, not the document:

curl -s -X POST https://rpc.testnet.empooriochain.org -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"system_properties","params":[],"id":1}'   # tokenDecimals: 18

Chain parameters

ValueVerify with
Symbol / nameDMS / Dracmasystem_properties
Decimals18system_properties
SS58 prefix2026 (registry submission pending; unknown tools render prefix 42 — same account)system_properties
EVM chain id2026 (0x7ea)eth_chainId
Existential deposit0.01 DMS (10¹⁶ base units) — accounts below it are reapedruntime constant
Block time6 s
FinalityGRANDPA, ~3 blockschain_getFinalizedHead

Confirmation model

Credit a deposit only at finality (chain_getFinalizedHead or a finalized-heads subscription), never at inclusion. On the testnet finality follows inclusion by about 14 seconds at the median. GRANDPA finality is irreversible; there is no confirmation count to tune.

Deposits and withdrawals

  • Deposits: index Balances.Transfer events in finalized blocks (the explorer's indexer lacked this handler at audit time — run your own indexer). Native and EVM addresses map to the same account; support both representations.
  • Withdrawals: build a signed extrinsic including the two EmpoorioChain-specific signed extensions (CheckPqcPolicy, CheckDormantAccount) at the front of SignedExtra. A library that omits them produces a codec error. Polkadot.js does this from metadata; the Rust and Dart SDKs encode it; a generic Substrate library may not.
  • Fees: weight-based, ~0.000025 DMS per transfer on the testnet; estimate with payment_queryInfo.
  • Metadata: refresh after every runtime upgrade — eight in ten days in September 2026.

Supply reconciliation

./scripts/reconciliar_suministro.sh https://rpc.testnet.empooriochain.org

Reads total issuance and checks that it fits within what the gap-decay emission policy permits since genesis. Cap 3.5 B; 1,000,826,129 DMS in issuance as of 12 September 2026.

What the guide used to say

That EVM integration was impossible. It reflected a state that ended with runtime 208 and was corrected on 5 September. The guide, like every document in the repository, now carries a last verified against the live chain header.

Based on INTEGRACION_EXCHANGES.md (verified 2026-09-05), FORMATO_DE_EXTRINSECOS.md and RED.json.

Share this article