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

Symptom details
PropertyValue
Native deposit contract (HyperEVM)Inbox 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff
Deposit functiondepositEth(), selector 0x439370b1, value in HYPE
Withdrawal claim (HyperEVM)Outbox 0xec6b106dfa14428fe5eec2a4065a7be599f02728
Confirmation period483,840 HyperEVM blocks (Rollup.confirmPeriodBlocks)
ERC-20 routeGateway router on HyperEVM, 1:1 representation on Elysium
Arrival checketh_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

Mainnet contracts as deployed on HyperEVM (chain 999) and listed by Kinetiq; bytecode present on 9 Nov 2026
StepChain and contractWhat to check
Deposit 1: send HYPEHyperEVM — Inbox 0xce59f8b65ad41c9DAE4c07A0571a39824bd92cff, depositEth()Wallet prompt shows this address, selector 0x439370b1 and your HYPE amount; you pay HyperEVM gas
Deposit 2: parent receiptHyperEVM — the deposit transactionReceipt status 0x1 on chain 999
Deposit 3: creditElysium (99901) — same address for a wallet, aliased address for a contracteth_getBalance of the receiving address rises on chain 99901
ERC-20 depositHyperEVM — router 0x5D24f760DD7664b4214bDD4B04a3f62B9edd68c0, standard gateway 0xd97B30dE0bA0C2eAeE942afce77530e06c5F122cApprove the gateway returned by getGateway, then outboundTransfer with HYPE for delivery
Withdrawal 1: startElysium — ArbSys 0x…64 for HYPE; router 0x61EbbC3A29f1970aF2Ce862bA9c5364832E14d17 for tokensThe Elysium transaction succeeded
Withdrawal 2: waitRollup 0x508C173dFe5F737B3493195Bf785d71fA76fD217 — confirmPeriodBlocks 483,840The assertion containing the withdrawal is confirmed
Withdrawal 3: claimHyperEVM — Outbox 0xec6b106dfa14428fe5eec2a4065a7be599f02728Claim with the withdrawal proof; you pay HyperEVM gas

What to do

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 Foundry

Native 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 here

Read the rollup's confirmation period on HyperEVM

cast call 0x508C173dFe5F737B3493195Bf785d71fA76fD217 "confirmPeriodBlocks()(uint64)" \
  --rpc-url "$HYPEREVM_RPC_URL"   # 483840 on 9 Nov 2026

When 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.

Sources