DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

Twelve Orders of Magnitude: The Decimals Error That Would Break Any DMS Integration

The number

DMS has 18 decimals. One DMS is 1,000,000,000,000,000,000 base units. This matches the convention Ethereum tooling expects and is fixed in the runtime's token constants.

The error

Several earlier documents in the ecosystem stated 6 decimals — the convention of some other chains' native tokens and of USDC. At least one internal fee document used 12 (1 DMS = 10¹² Planck), the default of many Substrate templates. Three different values for the most basic parameter of the asset.

Why it matters

The canonical tokenomics puts it in one sentence: an exchange that follows the 6-decimal figure is off by twelve orders of magnitude. Concretely:

  • A deposit of 1 DMS, read at 6 decimals, is credited as 0.000000000001 DMS. The customer's money disappears.
  • A withdrawal of 1 DMS, encoded at 6 decimals, sends 10⁻¹² DMS — below the existential deposit, so the transfer fails or reaps the account.
  • Encoded the other way, a withdrawal of 1 DMS sends 10¹² DMS — more than the total supply — and fails, if the integrator is lucky.

Unlike a wrong chain id (rejected by the chain) or a wrong host (does not resolve), a wrong decimal count succeeds at every technical step and produces a wrong amount. It is the most dangerous kind of parameter error.

How it was found

The August 2026 tokenomics consolidation, which replaced every prior figure with one canonical file. TOKENOMICS_CANONICO.md §7 lists the documents it supersedes, singling out those giving 6 decimals instead of 18 and those declaring 200 M, 250 M or 1,000 M as the total supply.

The fix

  • RED.json: token_decimals: 18, with the runtime constant as source.
  • TOKENOMICS.json: decimals 18, enforced by scripts/tokenomics/verificar_cifras.py against the chain spec.
  • Exchange-integration guide: opens with a warning box and a system_properties command so the integrator verifies from the node rather than trusting any document, including that one.
  • Eoonia and the SDKs: format from base units to DMS at the edge using the chain's reported decimals, not a constant.

Verify it

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

The general rule

A parameter that appears in more than one document will eventually appear with more than one value. The ecosystem's answer is one file per parameter class — RED.json for network, TOKENOMICS.json for economics, CONTRATOS_EVM.json for contracts — and scripts that fail when a document or a chain disagrees with it.

The title

The previous version of this page announced that DMS was trading on an exchange. It was not, and it is not. This page is about the number that would have made such a listing dangerous.

Based on TOKENOMICS_CANONICO.md §1 and §7, INTEGRACION_EXCHANGES.md and RED.json.

Share this article