EmpoorioChain is a native Substrate Layer 1. That sentence carries most of the architecture: the runtime is the source of truth, pallets implement protocol behaviour, the EVM is a compatibility layer rather than the foundation, and the SDKs expose the chain without forcing developers into Substrate internals.
This post walks the stack top to bottom, as it runs on the public testnet today (spec_version 220, transaction_version 6).
The layer map
Users and dApps
│ Eoonia Wallet, emp-cli, Rust SDK, Polkadot.js, MetaMask through Frontier RPC
▼
Developer surface
│ typed SDK clients, dynamic Subxt calls, EVM JSON-RPC (eth_, net_, web3_)
▼
Runtime API and RPC
│ runtime metadata, transaction queue, state queries, events
▼
EmpoorioChain runtime
│ System, consensus, balances, governance, compliance, DeFi, NFT, AI, storage
▼
Native pallets
│ storage, dispatchables, events, errors, weights, benchmarks
▼
Consensus and node services
│ Aura authoring, GRANDPA finality, MMR/BEEFY, networking, telemetry
▼
EmpoorioChain L1 state
The runtime is the protocol
Everything that defines EmpoorioChain as a chain — what a valid transaction is, how fees are charged, who can mint what, how staking pays out — lives in runtime/src/lib.rs and the pallets it wires together through construct_runtime!. The live runtime declares 140 pallet entries. A few facts that shape everything above them:
Balanceis au128; the native token is DMS (DRACMA) with 18 decimals.- Block numbers are
u32, and a block is authored every 6 seconds. - Accounts are
AccountId32, encoded with SS58 prefix 2026. The EVM chain id is also 2026 (0x7ea), fixed by the runtime, not by the deployment. - The runtime version is
spec_name = "empoorio-chain", currentlyspec_version220.
Pallet groups
The pallets are organised in ranges by concern. The runtime index of a pallet is stable across upgrades, which is what lets indexers like EmpooScan and wallets like Eoonia decode calls reliably.
| Group | Purpose |
|---|---|
| Core system | System, timestamp, Aura, GRANDPA, balances, transaction payment, Frontier EVM |
| Identity and governance base | Identity, self-sovereign identity, staking, governance, assets, uniques |
| AI and DRACMA infrastructure | AI registry, remuneration, verification and oracles; domains; carbon credits |
| Utility and DeFi base | Utility, scheduler, multisig, marketplace, DEX, derivatives, stablecoins, oracle, treasury, compliance, NFT |
| Compliance and AI extensions | RWA, ZK storage and verifier, sanctions, AI governance/serving/jobs, audit, bounties, randomness |
| NFT, commerce and DeFi products | Dynamic NFT, SBT, music/video NFT, gaming, paymaster, insurance, escrow, subscriptions, prediction markets, funds, vaults, lending, logistics |
| Native Ethereum-competitor features | Account abstraction, permit, flash loans, NFT royalties, NFT wallets, blob storage, MEV protection, storage oracle |
| Network economics | Reputation, state rent |
| IoT suite | Device registry, energy market, IoT telemetry, mesh rewards, proof of relay, solar generation |
| Cloud and compute | Compute market, node uptime, blob and storage coordination |
| SkoopoS ads | Ad engine, analytics, auctions, targeting, campaigns, publishers, audiences |
The IoT suite is what OmilooS reports into; the cloud pallets are what Ouranoos and the storage market settle against; the ads pallets are SkoopoS's on-chain ledger. The chain is the shared settlement layer for the whole ecosystem, not a general-purpose platform with an ecosystem bolted on afterwards.
Where the EVM fits
Frontier provides Evm, Ethereum, BaseFee, DynamicFee and EvmChainId. That gives MetaMask, Hardhat and Solidity a first-class migration path. But EmpoorioChain treats Ethereum standards as compatibility targets, not as a design ceiling: when the chain can do something better as a pallet than a contract can, it does. Account abstraction, permit approvals, token-bound accounts, blob commitments and MEV protection are all native pallets — see the companion post on native Ethereum-competitor features.
Consensus
Block production is Aura, finality is GRANDPA. BEEFY and MMR are present in the runtime for light clients and bridges, but they do not replace GRANDPA as the finality users rely on. The testnet runs on two validators today, which is honest to say out loud: GRANDPA needs two thirds, so the current fault tolerance is zero. Opening the validator set is the next structural step, and it is documented rather than promised.
What this means for a builder
If you come from Ethereum, you connect a wallet to chain id 2026 and deploy Solidity. If you want the chain's native guarantees — fees enforced at the protocol level, events indexers can trust, governance that applies chain-wide — you talk to pallets through the Rust SDK, Polkadot.js or Eoonia. Both doors open onto the same state.
Based on the EmpoorioChain engineering documentation (ARCHITECTURE.md, CONSENSUS_STATUS.md, RED.json), checked against the live testnet at rpc.testnet.empooriochain.org.


