How eOHM works
Everything that happens when you stake, bond, claim and unstake, and exactly what is read from Elysium along the way.
Overview
eOHM is an OHM-style (3,3) reserve protocol on Elysium, Kinetiq's Hyperliquid L2. It has three parts: staking (eOHM → seOHM, compounding every epoch), bonds (HYPE, WHYPE or USDC → discounted eOHM, vested), and a treasury (one wallet on Elysium holding every bond payment and every staked eOHM).
Network
| Chain | Elysium mainnet (Arbitrum Orbit, settles to HyperEVM) |
| Chain ID | 99901 · 0x1863d |
| Gas | HYPE |
| RPC | https://rpc.elysium.kinetiq.xyz |
| Explorer | https://elysium.kinetiq.xyz/explorer |
| USDC | 0xb47c4c8f73f009cc0c0d3f92b388d13e293f0b65 (6 decimals) |
| WHYPE | 0xba876237b0f021a6c6d852d6c26e107997cc5e81 (18 decimals) |
| Treasury | 0x3DFabE8f7c388B35b7A9358AD69785879B9c6D80 |
| $eOHM | shown in the app the moment it launches |
The app switches your wallet to Elysium, or adds it, before any payment. Watch out for look-alike tokens: several tokens on Elysium call themselves USDC. Only the address above is accepted for USDC bonds.
Staking
Staking is a real transfer of eOHM from your wallet to the treasury. The server reads the transaction from Elysium and credits seOHM only if it succeeded, was sent by your wallet, called transfer() on the eOHM contract and paid the treasury. The amount credited is the on-chain amount. A fresh stake locks the position for the lock period before it can be unstaked.
Rebase & index
Your seOHM is stored as a share of the pool (an "agon" balance). Every epoch the global index is multiplied by 1 + rate, so every seOHM balance grows by the same percentage at the same moment. Between epochs the app interpolates the index so the balance ticks smoothly.
rate per epoch = (1 + APY)^(1 / epochs per year) − 1 seOHM balance = agons × index
Bonds
Each market sells eOHM at a discount to the market price, vesting linearly over 5 days.
bond price = eOHM price × (1 − discount) USD value = amount × HYPE price (HYPE, WHYPE) · amount × 1 (USDC) eOHM owed = USD value ÷ bond price
| Market | Discount | Paid as | Minimum |
|---|---|---|---|
| HYPE | 7% | native HYPE transfer to the treasury | 0.1 HYPE |
| WHYPE | 8% | WHYPE transfer() | 0.1 WHYPE |
| USDC | 5% | USDC transfer() | 5 USDC |
The HYPE price is Hyperliquid's own mid price (with CoinGecko as a fallback), refreshed every 30 seconds. Vested eOHM can be claimed at any time: Claim & stake moves it straight into seOHM, Claim to wallet queues it for payout.
Payment verification
Your wallet signs and sends the payment, then the app posts only the transaction hash. The server fetches the transaction and its receipt from the Elysium RPC and checks:
- the receipt status is success;
- the transaction was sent from your connected wallet;
- for HYPE:
tx.tois the treasury andtx.valueis the amount; - for USDC and WHYPE: a
Transfer(from = you, to = treasury)log from that exact token contract, summed; - the amount is at or above the market minimum;
- the hash has never been credited before.
Only then is the bond recorded, for the amount that actually arrived, whatever the app was told.
Treasury
The treasury is one wallet on Elysium. Its key is held offline by the operator and never touches the server. Every 30 seconds the server reads its native HYPE balance and its USDC balance from the chain, and the dashboard shows both alongside their USD value.
Payouts
Unstakes (after the lock) and "claim to wallet" both join the payout queue. The operator sends each payout from the treasury on Elysium. Claim & stake never leaves the protocol and takes effect immediately.
Parameters
| Epoch | 5 minutes |
| Vesting | 5 days, linear |
| Supply | 1,000,000,000 eOHM |
| Price | live from the deepest Elysium pool once listed |
API
GET /api/config chain, treasury, mint, token addresses
GET /api/metrics APY, index, epoch, treasury (on-chain), bonds, tape
POST /api/account { wallet } staked, bonds, pending payouts
POST /api/bond { wallet, market, txHash } verify payment + record bond
POST /api/claim { wallet, autostake }
POST /api/stake { wallet, txHash }
POST /api/unstake { wallet, amount }
Risks
eOHM's price can fall. The APY is an emission rate paid in eOHM, not a promised dollar return. The treasury is a single wallet, and rebases, vesting and the payout queue run in the eOHM ledger rather than a smart contract, with payouts sent by the operator. Only commit what you can afford to lose.