Skip to main content

beHYPE Builder Codes

A comprehensive guide for developers looking to integrate beHYPE staking and unstaking functionality into their applications.

Pulse.hl | Hyperbeat avatar
Written by Pulse.hl | Hyperbeat
Updated over 2 months ago


Overview

beHYPE is a liquid staking token that represents staked HYPE tokens. Users can stake HYPE to receive beHYPE tokens, which continue to earn staking rewards while remaining liquid and transferable.

Contract Addresses:

Minting Staking:

Send a transaction to the StakingCore contract with the function signature stake(string communityCode). The communityCode is the validator name you want those tokens to be designated to. The amount minted will be the amount of HYPE included in the value of the transaction. If you do not have a specific validator to stake to, you can pass an empty string ("") for automatic distribution across validators.

This will mint beHYPE tokens to the caller's address.

Burning (Unstaking)

Burning is a multistep process that depends on the amount of free (unstaked) tokens available in the protocol. There will typically always be a small float of the total supply unstaked to instantly fulfill burns, but for large amounts or high outflow volume, it becomes a two-step process.

Step 1: Approve the WithdrawManager contract with the amount of beHYPE tokens you want to unstake.

Step 2: Call withdraw(uint256 beHypeAmount, bool instant, uint256 minAmountOut) to burn beHypeAmount of tokens. The redeemed HYPE will be processed based on the instant parameter:

  • instant = false: Normal withdrawal (7-day processing, no fee)

  • instant = true: Instant withdrawal (0.5% fee applied)

The minAmountOut parameter provides slippage protection. This function returns a withdrawalId which will be used to claim the withdrawal once processed.

Step 3: For normal withdrawals, wait for processing time, then call claimWithdrawal(uint256 withdrawalId) to receive your HYPE tokens.

Instant Redemption

For immediate access to HYPE, you can use instant redemption with a 0.5% fee:
​https://docs.hyperbeat.org/hyperbeat-staking/behype/builder-codes#instant-redemption

API Endpoints

Base URL

https://api.hyperbeat.org/api/v1/behype/

Available Endpoints

  1. Get beHYPE Balance

    • GET /balance/{user_address}

    • Returns user's beHYPE balance

  2. Get Exchange Ratio Updates

    • GET /exchange-ratio-update

    • Returns latest exchange ratio between beHYPE and HYPE

  3. Get TVL Data

    • GET /tvl

    • Returns total value locked, exchange ratio, and price information

Function Signatures

StakingCore Contract

// Stake HYPE to receive beHYPE function stake(string calldata communityCode) external payable;

WithdrawManager Contract

// Withdraw beHYPE for HYPE (returns withdrawal ID) function withdraw(uint256 beHypeAmount, bool instant, uint256 minAmountOut)      external returns (uint256 withdrawalId); 

// Claim completed withdrawal function claimWithdrawal(uint256 withdrawalId) external;

BeHYPE Token Contract (ERC20)

// Standard ERC20 functions function balanceOf(address account) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256);

Support

For additional support or questions about beHYPE integration, ask us on discord or contact the development team.

Did this answer your question?