Bridge HYPE From HyperEVM to Elysium and Back
Last updated:
Endpoint and plans: Elysium RPC endpoint.
Terms on this page: Chain ID · Sequencer · Layer 2 rollup.
At a glance
| Property | Value |
|---|---|
| Native deposit contract (HyperEVM) | Inbox 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff |
| Deposit function | depositEth(), selector 0x439370b1, value in HYPE |
| Withdrawal claim (HyperEVM) | Outbox 0xec6b106dfa14428fe5eec2a4065a7be599f02728 |
| Confirmation period | 483,840 HyperEVM blocks (Rollup.confirmPeriodBlocks) |
| ERC-20 route | Gateway router on HyperEVM, 1:1 representation on Elysium |
| Arrival check | eth_getBalance on chain ID 99901, before and after |
What you see
You hold HYPE on HyperEVM and need gas on Elysium. A bridge page asks you to sign a call to a contract you cannot place, the HyperEVM transaction succeeds but the Elysium balance has not moved yet, the wallet shows zero because it is still on chain 999, or a withdrawal you started on Elysium cannot be claimed on HyperEVM for days.
Why this happens
Elysium is an Arbitrum Orbit chain settling on HyperEVM, so its native bridge is Arbitrum's, deployed on HyperEVM. The rollup was created on HyperEVM on 19 October 2026, and its Inbox, Outbox and SequencerInbox live there. Arbitrum's messaging reference describes the native-currency deposit: Inbox.depositEth() takes the value sent with the call, the bridge contract on the parent chain holds it, and the child chain credits it as a delayed message — to the same address when the sender is an externally owned account, or to an aliased address when the sender is a contract. On Elysium the native currency is HYPE, so the same function moves HYPE; Kinetiq's bridging guide describes native HYPE as a direct 1:1 deposit with no token contract in the path. The credit happens when the sequencer includes the delayed message, so the parent receipt arrives first and the Elysium balance follows. ERC-20s take another route: Kinetiq's guide uses the stock token bridge, where you approve the token's gateway and call outboundTransfer on the HyperEVM router; the token locks in the gateway and a 1:1 representation is minted on Elysium, normally within about a minute, paying delivery in native HYPE. Fee-on-transfer and rebasing tokens are not supported. The return trip is not symmetric. A withdrawal of native HYPE starts on Elysium at the ArbSys precompile; it becomes claimable on HyperEVM only after the rollup confirms the assertion that contains it. Elysium's Rollup contract sets confirmPeriodBlocks to 483,840, counted in HyperEVM blocks rather than hours: over the 483,840 HyperEVM blocks before 9 November 2026 00:06 UTC the parent chain advanced about 5.5 days of time. Assertion posting and the claim transaction come on top, so treat that as a lower bound, not a completion time.
Canonical HYPE bridge, step by step
| Step | Chain and contract | What to check |
|---|---|---|
| Deposit 1: send HYPE | HyperEVM — Inbox 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff, depositEth() | Wallet prompt shows this address, selector 0x439370b1 and your HYPE amount; you pay HyperEVM gas |
| Deposit 2: parent receipt | HyperEVM — the deposit transaction | Receipt status 0x1 on chain 999 |
| Deposit 3: credit | Elysium (99901) — same address for a wallet, aliased address for a contract | eth_getBalance of the receiving address rises on chain 99901 |
| ERC-20 deposit | HyperEVM — router 0x5D24f760DD7664b4214bDD4B04a3f62B9edd68c0, standard gateway 0xd97B30dE0bA0C2eAeE942afce77530e06c5F122c | Approve the gateway returned by getGateway, then outboundTransfer with HYPE for delivery |
| Withdrawal 1: start | Elysium — ArbSys 0x…64 for HYPE; router 0x61EbbC3A29f1970aF2Ce862bA9c5364832E14d17 for tokens | The Elysium transaction succeeded |
| Withdrawal 2: wait | Rollup 0x508C173dFe5F737B3493195Bf785d71fA76fD217 — confirmPeriodBlocks 483,840 | The assertion containing the withdrawal is confirmed |
| Withdrawal 3: claim | HyperEVM — Outbox 0xec6b106dfa14428fe5eec2a4065a7be599f02728 | Claim with the withdrawal proof; you pay HyperEVM gas |
What to do
- Start from Kinetiq's own bridge and documentation (elysium.kinetiq.xyz), not from a search ad or a direct message, and check every contract in the wallet prompt against the table above.
- For a native deposit, confirm the wallet is on HyperEVM (999), the target is the Inbox 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff and the function is depositEth() (0x439370b1). Keep some HYPE on HyperEVM for the parent-chain gas.
- Deposit from a regular wallet if you want the HYPE at the same address on Elysium; a deposit sent by a contract or smart account lands at its aliased address, which you control only through that contract.
- Record the receiving address's balance on Elysium before the deposit, wait for the HyperEVM receipt, then poll eth_getBalance on chain 99901 until it rises. A parent receipt alone does not mean the Elysium credit is visible yet.
- For ERC-20s, read the gateway with getGateway(token) on the router instead of hard-coding it, approve that gateway, and over-provision the HYPE sent for delivery: Kinetiq's guide says the excess is refunded on Elysium. Do not bridge fee-on-transfer or rebasing tokens.
- Plan exits before you deposit: the canonical withdrawal waits at least the confirmation period of 483,840 HyperEVM blocks plus assertion and claim steps. A receipt or a finalized block on Elysium does not shorten it.
Did the deposit arrive? (balance on Elysium before and after, in wei)
ADDR=0xYourAddress
curl -s "$ELYSIUM_RPC_URL" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["'"$ADDR"'","latest"]}'
# run once before the deposit and again after it; result is hex wei
cast balance "$ADDR" --ether --rpc-url "$ELYSIUM_RPC_URL" # same check with FoundryNative deposit with Foundry (on HyperEVM, chain 999)
cast send 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff "depositEth()" \
--value 0.5ether --rpc-url "$HYPEREVM_RPC_URL" --private-key "$PK"
# "ether" is cast's unit name: 0.5 HYPE hereRead the rollup's confirmation period on HyperEVM
cast call 0x508C173dFe5F737B3493195Bf785d71fA76fD217 "confirmPeriodBlocks()(uint64)" \
--rpc-url "$HYPEREVM_RPC_URL" # 483840 on 9 Nov 2026When this is not our problem
The bridge contracts, the delivery of deposits and the withdrawal window belong to Elysium's rollup on HyperEVM and to Kinetiq's bridge; no RPC provider, Triport included, operates them or can speed them up. Triport provides the Elysium read side for the arrival check on chain 99901: set ELYSIUM_RPC_URL to the keyed URL form https://triport.io/r/<YOUR_KEY>/elysium.
FAQ
- How do I bridge HYPE to Elysium?
- Deposit on HyperEVM (chain 999) through the canonical bridge: a payable depositEth() call to the Inbox at 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff, usually through Kinetiq's bridge interface. The HYPE arrives as native gas on Elysium.
- How long does a withdrawal from Elysium to HyperEVM take?
- It waits for the rollup to confirm the assertion containing it: the Rollup contract's confirmation period is 483,840 HyperEVM blocks, about 5.5 days at the parent chain's recent pace, plus the claim on HyperEVM.
- Why does depositEth() move HYPE?
- Elysium runs Arbitrum's bridge contracts, where the native-currency function is named depositEth(). On Elysium the native currency is HYPE.
- My HyperEVM deposit succeeded but my Elysium balance did not change. Why?
- The credit is a delayed message that the sequencer includes after the parent transaction. Check eth_getBalance on chain 99901, not 999, and if a contract deposited, look at its aliased address.