ElyScreener Open the screener

ElyScreener › Learn

Deploy a Smart Contract on Elysium with Foundry and Hardhat

ElyScreener · November 4, 2026

To deploy a smart contract on Elysium, point Foundry or Hardhat at the testnet RPC https://testnet-rpc.elysium.kinetiq.xyz with chain ID 99801, fund your deployer with testnet HYPE for gas, and deploy as you would on any EVM chain. Elysium runs stock ArbOS, so Solidity and Vyper compile unchanged.

This guide is for developers. It covers network settings, a minimal Foundry and Hardhat setup, verifying your deployment, and the few places where Elysium behaves differently from Ethereum. If you need background first, read Elysium's tech stack.

What are the Elysium network settings?

SettingTestnetMainnet
Chain ID9980199901
RPChttps://testnet-rpc.elysium.kinetiq.xyzOfficial RPC to be published by Kinetiq
Gas tokenHYPE (testnet)HYPE
Explorerelysium.kinetiq.xyz/testnet-explorerCheck Kinetiq's announcements
Parent chainHyperEVM testnet (998)HyperEVM mainnet (999)

Community-run mainnet RPCs such as https://rpc-live.elysp.com and https://rpc-live.boxa.club are in use, but for production deployments wait for and prefer the official Kinetiq endpoint. Third-party RPCs can rate-limit or go down.

How do I get testnet HYPE?

Your deployer wallet needs testnet HYPE for gas. Follow our Elysium testnet faucet guide for the current faucet and bridging steps. Testnet gas price has been around 0.01 gwei, so a small amount covers many deployments. Add the network to your wallet with this MetaMask guide if you also want to test from a browser.

How do I deploy on Elysium with Foundry?

  1. Install Foundry and create a project with forge init my-elysium-app.
  2. Add the RPC to foundry.toml under [rpc_endpoints] as elysium_testnet = "https://testnet-rpc.elysium.kinetiq.xyz".
  3. Keep your key out of the repo. Export it in your shell as PRIVATE_KEY, or better, import it into a Foundry keystore with cast wallet import deployer --interactive.
  4. Check the connection: cast chain-id --rpc-url elysium_testnet should return 99801.
  5. Deploy: forge create src/Counter.sol:Counter --rpc-url elysium_testnet --account deployer --broadcast.
  6. For scripted deploys, use forge script script/Deploy.s.sol --rpc-url elysium_testnet --account deployer --broadcast.

Forge prints the deployed address and transaction hash. Paste the hash into the testnet explorer to confirm.

How do I deploy on Elysium with Hardhat?

  1. Create a project with npx hardhat init.
  2. In hardhat.config, add a network entry: elysiumTestnet: { url: "https://testnet-rpc.elysium.kinetiq.xyz", chainId: 99801, accounts: [process.env.PRIVATE_KEY] }.
  3. Load the key from an environment file that is in .gitignore, never hard-coded.
  4. Compile with npx hardhat compile.
  5. Deploy with your script or Ignition module: npx hardhat ignition deploy ./ignition/modules/Counter.js --network elysiumTestnet.

viem and ethers also work as-is. In viem, define a custom chain with id: 99801, a HYPE native currency with 18 decimals, and the RPC URL above.

What is different about Elysium for developers?

Elysium is an Arbitrum Orbit chain running stock ArbOS, so most things behave like Arbitrum. A few points catch people out:

Arbitrum's own developer docs are the best reference for Orbit-specific behaviour, since Elysium does not modify ArbOS.

How do I check that my deployment worked?

If a deploy hangs, it is usually a wrong chain ID, an empty deployer balance or an RPC rate limit. Check those three before anything else.

Can I use HyperCore from my contract?

Not yet. A precompile for reading HyperCore market data and an ElysiumCoreWriter predeploy for routing trade-only orders are planned for an ArbOS upgrade about four weeks after mainnet. Wrap those calls behind an interface now and plug in the official addresses later. Our HyperCore integration guide explains the design.

How do I move to mainnet?

  1. Run your full test suite and a dry run on testnet first.
  2. Switch the chain ID to 99901 and use the official mainnet RPC once Kinetiq publishes it.
  3. Fund the deployer with real HYPE bridged from HyperEVM. See bridging HYPE to Elysium.
  4. Deploy, verify on the explorer, and transfer ownership to a multisig if your contract has admin roles.

Once your token or app has on-chain activity, it will show up on ElyScreener automatically. Launchpads and projects can also use embeddable charts on their own sites. Real funds mean real risk: audit what you can and never deploy untested code holding user money.

FAQ

What is the Elysium testnet chain ID?

99801. The RPC is https://testnet-rpc.elysium.kinetiq.xyz. Mainnet uses chain ID 99901.

Does Foundry work on Elysium?

Yes. Elysium runs stock ArbOS, so forge, cast and anvil-based workflows work with the Elysium RPC and no code changes.

Can I deploy Solidity contracts to Elysium without changes?

Yes. Solidity and Vyper compile unchanged. The differences are operational: no mempool, debug-only tracing and HYPE for gas.

Why does my pending transaction filter return nothing on Elysium?

Elysium has no observable public mempool. Pending filters return nothing, so rely on block inclusion and transaction receipts.

Does Elysium support trace_transaction?

No. Use debug_traceTransaction and other debug_* methods for tracing.

What do I pay gas in on Elysium?

HYPE, bridged 1:1 from HyperEVM. Testnet gas price has been around 0.01 gwei.

Open ElyScreener →

Keep reading