Staking guide
Stake HYPE and receive xFURNACE 1:1. Each week you accrue a share of the HYPE that Furnace's Distributor sends to stakers. You can withdraw at any time and get back the same amount of HYPE.
Status: the site badge shows the current state. While it reads Pre-launch · Preview data, Furnace contracts are not deployed, and the stake button stays closed. Once the badge reads Testnet · Live or Mainnet · Live, the contract addresses appear on the dashboard's Contracts panel and staking is open.
Before you start
You need:
- An EVM wallet that supports custom networks.
- HYPE on Elysium: the amount you want to stake, plus a little extra for gas.
Network details
| Elysium Testnet | Elysium | |
|---|---|---|
| Chain ID | 99801 | 99901 |
| RPC URL | https://testnet-rpc.elysium.kinetiq.xyz | As published by Kinetiq |
| Currency | HYPE (18 decimals) | HYPE (18 decimals) |
| Explorer | https://testnet.elysium.kinetiq.xyz | As published by Kinetiq |
You don't need to type any of this in. When you connect, the app offers to add or switch to the right network. Before it sends any transaction, the app checks the chain ID reported by your wallet and by the RPC. If either one doesn't match, it refuses to send.
Contract addresses
The dashboard's Contracts panel lists every Furnace address with an explorer link. Only use addresses shown there. Furnace never asks you to send HYPE to an address directly. You stake by calling stake() from the app or from the verified contract.
1. Stake
- Open Stake in the app and click Connect wallet.
- If your wallet is on another network, click Switch to Elysium.
- Enter the amount of HYPE to stake. MAX keeps 0.005 HYPE in your wallet for gas.
- Check the quote (You receive … xFURNACE), click Stake, and confirm in your wallet.
- xFURNACE is credited 1:1 in the same transaction. To show it in your wallet, add the token using the
FurnaceStakingaddress from the Contracts panel, symbolxFURNACE, 18 decimals.
xFURNACE is non-transferable in v1. It can't be sent, sold or deposited into other protocols. It records your stake and your share of distributions. That's all it does.
2. Accrue
How distributions work:
- Epochs start every Monday at 00:00 UTC.
- At each boundary, the
Distributorsends the staker share of everything it received since the previous distribution toFurnaceStaking: 80% of engine and external revenue, plus all treasury contributions. FurnaceStakingstreams that amount to xFURNACE holders over the next 7 days.- For every second you hold xFURNACE, you accrue in proportion to your share of the total supply.
Worked example, with made-up numbers: an allocation is 70 HYPE, so it streams at 10 HYPE per day. If you hold 5% of the xFURNACE supply for all 7 days, you accrue 3.5 HYPE. If you hold 5% for only 2 of those days, you accrue 1 HYPE.
Allocations stream out over a week rather than landing all at once. Staking just before an allocation and leaving just after earns only the seconds you were staked.
Allocations come from protocol revenue. They vary from week to week and can be zero.
3. Claim
Open Receipt. Your accrued HYPE shows as Claimable. Click Claim to send it to your wallet. You don't need to claim to keep accruing, and accrued HYPE never expires.
4. Withdraw
- Open Withdraw and enter the amount of xFURNACE to withdraw.
- Click Withdraw. That xFURNACE is burned, and the same amount of HYPE is returned to you in the same transaction.
There is no cooldown and no fee. HYPE you accrued but haven't claimed stays claimable after you withdraw. Exit withdraws your full stake and claims in one transaction.
Withdrawing and claiming can't be paused. The owner can pause new stakes only.
The receipt view
Receipt shows your position, read live from FurnaceStaking:
| Line | Source |
|---|---|
| Staked | balanceOf(you) |
| Share of supply | balanceOf(you) ÷ totalSupply() |
| Claimable | earned(you) |
| Claimed, all-time | claimed(you) |
| Streaming to you | rewardRate() × 86,400 × your share, while the current stream runs |
| Current stream ends | periodFinish() |
| History | Your Staked, Unstaked and Claimed events |
Check it yourself
| What | How |
|---|---|
| Your stake | balanceOf(yourAddress) on FurnaceStaking |
| What you've accrued | earned(yourAddress) on FurnaceStaking |
| Every staked HYPE is backed | HYPE balance of FurnaceStaking ≥ totalSupply(). The dashboard shows this check live. |
| Every allocation | Distributed events on Distributor, and RewardAdded events on FurnaceStaking |
Using the contract directly
| Function | What it does |
|---|---|
stake() (payable) | Stakes the HYPE sent with the call and mints the same amount of xFURNACE |
unstake(uint256 amount) | Burns amount xFURNACE and returns amount HYPE |
claim() | Sends all your accrued HYPE to you |
exit() | Runs unstake on your full balance, then claim |
earned(address) (view) | HYPE accrued and not yet claimed |
claimed(address) (view) | HYPE claimed all-time |
balanceOf(address) (view) | xFURNACE balance |
totalSupply() (view) | Total xFURNACE, which equals total HYPE staked |
rewardRate(), periodFinish() (view) | Current stream rate in wei per second, and when it ends |
Risks
Staking carries smart-contract risk, chain risk and HYPE price risk, and distributions can be zero. Read Risks before you stake.