Summary
EmpoorioChain's canonical account is a 32-byte AccountId32, shown in SS58 format. EVM contracts get a secondary H160 address, derived from the native account through a one-way hash. Accounts must hold a minimum DMS balance (the Existential Deposit) to remain in state.
AccountId32 and SS58
EmpoorioChain's account type is defined in the runtime as:
pub type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;pub type Signature = MultiSignature;
This resolves to a standard Substrate AccountId32: a 32-byte value derived
from an sr25519, ed25519, or ecdsa keypair. It is normally displayed in
SS58 format — a base58-encoded address with a network-specific prefix and
checksum, similar in spirit to Bitcoin's Base58Check, but distinct from
Ethereum's 0x-prefixed hex addresses.
Every native account on EmpoorioChain — a user's wallet, a pallet's treasury account, the faucet, an AI reward pool — is an AccountId32. There is no separate "program-derived" or off-curve address type at the account layer; where a pallet needs a deterministic, unsigned account for its own internal bookkeeping (a pool address, a treasury account), it derives one using standard Substrate primitives, but this is a pallet-level implementation detail, not a distinct account type developers work with directly the way program-derived addresses on other chains are.
The EVM layer: H160 addresses
EmpoorioChain ships an EVM compatibility pallet (pallet-evm +
pallet-ethereum, part of the Frontier stack), so 20-byte, 0x-prefixed H160
addresses exist too — but only inside that EVM execution environment. Every
H160 address is mapped back to a native AccountId32 through
pallet_evm::HashedAddressMapping<BlakeTwo256>: a one-way Blake2-256 hash
derivation, not a truncated or reversible 1:1 mapping. An EVM address and its
corresponding native account are two different-looking identifiers linked by
a deterministic hash, not the same bytes viewed two ways.
The registered EVM chain ID has appeared as different values across the
project's own documentation at different points in its history. Check your
wallet or RPC endpoint's live eth_chainId response rather than trusting a
hardcoded number from any single doc page.
Existential Deposit
Accounts must hold a minimum DMS balance, the Existential Deposit (ED), to exist in on-chain state. Accounts whose balance falls below the ED are reaped (removed from state). The runtime currently sets:
ExistentialDeposit: Balance = 10_000_000_000_000_000; // 0.01 DMS at 18 decimals
Although it functions differently from other chains' per-byte rent-exemption model (EmpoorioChain doesn't scale the ED by account data size the way some chains scale rent by account size), the underlying motivation is similar: keep chain state bounded by discouraging a proliferation of empty or near-empty accounts.
For the full Ethereum-to-EmpoorioChain account comparison, including a field-by-field table, see EVM to EmpoorioChain: Accounts on empoorio.org.
Is this page helpful?


