Skip to main content

ox Addresses

OmbraChain accounts are identified by an ox-prefixed address. The prefix is the letter “o” (from Ombra) — not a zero. It's lowercase on purpose so it survives the .toLowerCase() normalization used across the stack.

ox7a8b70389a52a96aa85ca641c5ad2fb7a1e2e1ca
└┬┘└──────────────── 40 hex chars (20 bytes) ───────────┘
prefix

Derivation

An address is the first 20 bytes of the SHA-256 of the Ed25519 public key:

address = "ox" + hex( sha256(publicKey)[0:20] )

Try it — this generates a real keypair in your browser and derives the address exactly like the chain does:

ox address generator

Generate a real Ed25519 keypair in your browser. The address is ox + first 20 bytes of sha256(publicKey) — identical to how the chain derives it.

Notes

  • Keys are Ed25519 (32-byte private, 32-byte public).
  • Wallets are derived from a BIP-39 mnemonic at path m/44'/7777'/0'/0/index (coin type 7777).
  • Addresses are case-insensitive and always stored lowercase.
  • The treasury address is ox0000000000000000000000000000000000000001.
tip

The SDKs do this for you — see Quickstart › Create a wallet.