Accounts & Identity
Orbinum implements a layered identity system built on top of the pallet-account-mapping runtime module. Every account starts as a bare Substrate address and can progressively attach more identity: a human-readable alias, verified links to wallets on other chains, and private links whose addresses are never written on-chain.
Identity layers
Every wallet starts here. An AccountId32 (SS58) that holds ORB and signs extrinsics. No registration required.
Optionally links an Ethereum H160 address to the Substrate account. Both addresses share the same ORB balance. Compatible with MetaMask.
A human-readable on-chain name ([a-z0-9_], min 3 characters). Required before chain links or metadata can be attached. Transferable and tradeable.
Publicly verified addresses on other blockchains (Ethereum, Solana, etc.). Each link is verified on-chain via a cryptographic signature from the external wallet.
Cross-chain wallet ownership registered as a Poseidon commitment. The real address is never written on-chain. Can be revealed selectively or used to dispatch calls via ZK proof.
Profile fields: display name, bio, and avatar (IPFS CID). Requires an alias. Gated to prevent spam.
Dependency map
The layers are additive. Higher layers require lower ones:
AccountId32 (always exists)
└── EVM mapping → optional, independent
└── Alias → optional, unlocks layers 3–4 and metadata
├── Chain links → up to 16 public, verified
├── Private links → up to 16 private (shared limit with public)
└── Metadata → display_name / bio / avatar
An account can hold an EVM mapping without an alias, and an alias without any chain links. Each layer is independently managed.
Runtime module
All identity operations are handled by pallet-account-mapping (pallet index 14 in the Orbinum runtime). The pallet stores:
| Storage item | Key | Value |
|---|---|---|
EthereumMappings | H160 | AccountId32 |
SubstrateMappings | AccountId32 | H160 |
Identities | Alias | IdentityRecord |
AccountAliases | AccountId32 | Alias |
PrivateChainLinks | Alias | Vec<PrivateChainLink> |
ReverseChainLinks | (chain_id, address) | AccountId32 |
AccountMetadatas | AccountId32 | AccountMetadata |
SupportedChains | chain_id | SignatureScheme |
Reading this section
Each sub-page covers one layer in depth:
- EVM ↔ Substrate mapping — dual-address model
- Aliases — registration, transfer, and on-chain marketplace
- Chain links (public) — cross-chain address verification
- Private links — ZK-based private wallet registration
- Account metadata — profile data