Agent index (llms.txt) — fetch this first, then the page it names.

What the chain is

Orama has a ledger. The binary is oramad. It is a Cosmos SDK 0.54 application on CometBFT 0.39, in its own Go module at chain/. The node software in core/ does not import it. It talks to the chain only through the chain's RPC and REST endpoints.

Application traffic does not go through this ledger. A database query, a deploy, a function call and a wallet sign-in all hit a gateway. The chain is a separate process with its own token, its own peers and its own ports. You can run an Orama cluster for years and never start it.

Status: devnet, stagenet and localnet only. The code is complete enough to run those networks. Nothing here has run on a public network, and no ORAMA has value outside a test. This release is state-breaking: a chain running an older build cannot load its state, so a running test chain restarts from a new genesis.

What it is for

The chain is the place where things that must not depend on one operator are recorded:

  • +Who is a node, and what it promised. Operators register nodes, take roles (validator, storage, relay, exit, directory authority, archiver) and lock a bond. See Nodes, roles and bonds.
  • +Storage deals. A user pays escrow, providers hold encrypted pieces and prove they still have them every epoch. See Storage deals.
  • +Rewards. New ORAMA is minted on a fixed schedule and paid to validators, with ceilings reserved for storage, relay and development. See Supply and emission.
  • +Governance. Two houses vote on the few things that may change. See Governance.
  • +Assets. Tokens, compressed NFTs, a marketplace, a shielded pool and CosmWasm contracts.

What is wired

Standard Cosmos modules: auth, bank, staking, slashing, distribution, consensus, upgrade, genutil, evidence, feegrant.

Orama modules: emission, power, fees, token, archive, nodes, cnft, market, houses, storage, relay, shielded, and wasmpolicy. CosmWasm (wasm) is wired in builds made with cgo and libwasmvm. Inclusion lists (inclusion) are wired but off until a genesis sets a vote-extension height.

The modules says what each one does and links to its page.

x/staking still holds bonds, delegations, unbonding, and jailing. It does not publish the validator set; x/power does. The module by module description is in the technical reference (docs/whitepaper/technical-reference/vol2/39-chain-architecture.md, "The module set").

What is not wired

  • +No stock x/gov. Governance is x/houses. Every authority-gated message of a stock module (software upgrade, parameter updates) names an authority address nobody can sign for, so those messages are unreachable until a release deliberately hands the authority to the houses.
  • +No IBC, no EVM, no x/mint (replaced by x/emission), no x/authz, no x/group, no stock x/nft.
  • +x/confidential (confidential-compute attestation) exists as a package that refuses every attestation. It is not wired.
  • +x/vpnlaunch is a launch-gate predicate, not a module.

Two rules to know before reading further

Paying another user is a choice, and the tools make private the default. On the chain, a bank send of norama between users, from a contract to a user, or from a user to a contract is an ordinary public payment: anyone can see who paid whom and how much. The private way to move value is the shielded pool, which hides the sender, the receiver and the amount. The orama CLI and the SDK follow that choice: orama chain send and chain.transfer are private unless you say --public or public: true, so a payment never becomes public by omission. A private send needs a wallet that builds the shielded bundle, which the RootWallet cannot yet, so today those tools stop instead of paying openly. Nobody can pay a module account with a bank message. Protocol payouts (emission, tips, sale proceeds, royalties) land in an earnings account in x/fees, which pays fees, bonds and deals; the owner moves them to a bank balance with MsgWithdrawEarnings; see Fees. On a node that does not have both shielded verifiers, only the public path works.

Nothing changes by admin key. There is no admin, no pause, no freeze, no multisig. The only ways the chain's behaviour changes are a passed governance proposal inside the bounds the code allows, or a coordinated hard fork.

Addresses and the unit

Accounts use the orama prefix: orama1…. A validator operator is oramavaloper1… and a consensus address is oramavalcons1…. Keys are secp256k1, signed with SIGN_MODE_DIRECT.

The base unit is norama. One ORAMA is 1,000,000,000 norama (9 decimals). BIP-44 coin type is 118 (the Cosmos default), a placeholder that lives in exactly one place in the code so changing it later touches one line.

Where to go next