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 with | 1 DMS is | Error |
|---|---|---|
| 18 decimals ✓ | 1,000,000,000,000,000,000 base units | correct |
| 6 decimals ✗ | 1,000,000 | 10¹² |
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
| Value | Verify with | |
|---|---|---|
| Symbol / name | DMS / Dracma | system_properties |
| Decimals | 18 | system_properties |
| SS58 prefix | 2026 (registry submission pending; unknown tools render prefix 42 — same account) | system_properties |
| EVM chain id | 2026 (0x7ea) | eth_chainId |
| Existential deposit | 0.01 DMS (10¹⁶ base units) — accounts below it are reaped | runtime constant |
| Block time | 6 s | — |
| Finality | GRANDPA, ~3 blocks | chain_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.Transferevents 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 ofSignedExtra. 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.


