Hyperbeat USDC
This document provides the necessary information to integrate the Hyperbeat USDC (hbUSDC) vault, powered by Midas, into your applications.
General Vault Information
Vault Name: Hyperbeat USDC
Vault Token Symbol: hbUSDC
Chain: hyperevm
Chain ID: 999
Vault Token (hbUSDC):
0x057ced81348D57Aad579A672d521d7b4396E8a61Decimals: 18
Custom Feed:
0xc82CAd78983436BddfcAf0F21316207D87b87462Data Feed:
0xb013A5956f8b838B7E668DFbdf1efA978Ccc7a23Insurance Contract (for Deposits):
0xd202CF41a607627cd1A31f650D13599b588eBd1cRedemption Contract (for Withdrawals):
0xBb820D0c85C0B5D1B0dC8C6D3541fbb1AB4C7a60
Token Information
Accepted Tokens:
USDC:
Address:
0xb88339CB7199b77E23DB6E890353E22632Ba630fDecimals: 6
Useful Links
Vault Token on Explorer: View on hyperscan
Insurance Contract on Explorer: View on hyperscan
Redemption Contract on Explorer: View on hyperscan
Vault Logo: Brand kit
Actions
Depositing Tokens
To deposit tokens (e.g., USDC) into the hbUSDC vault, you must interact with the Insurance Contract.
Steps:
Approve Spending
Approve the Insurance Contract (
0xd202CF41a607627cd1A31f650D13599b588eBd1c) to spend the deposit token (e.g., USDC).Call
approve(address spender, uint256 value)on the deposit token contract.Parameters:
spender: Insurance Contract address.value: Amount to approve, in the token’s native decimals (e.g., 6 for USDC).
Perform Deposit
Once approved, call
depositInstanton the Insurance Contract.depositInstant(address tokenIn, uint256 amountToken, uint256 minReceiveAmount, bytes32 referrerId)tokenIn: Address of the token being deposited.amountToken: Expressed in 18 decimals, regardless of the input token’s decimals.For USDC (6 decimals):
amountIn18Decimals = amountIn6Decimals * 10**12.
minReceiveAmount: Minimum hbUSDC to receive. Can be 0.
referrerId: Bytes32 referrer ID. Use
0x0...0if none.
Withdrawing Tokens
Withdrawals are done through the Redemption Contract (0xBb820D0c85C0B5D1B0dC8C6D3541fbb1AB4C7a60). Two methods exist: Instant and Classic.
Step 1 (Required for both methods): Approve
Approve the Redemption Contract to spend your hbUSDC.
Call
approve(address spender, uint256 value)on the hbUSDC Vault Token contract (0x057ced81348D57Aad579A672d521d7b4396E8a61).spender: Redemption Contract.value: Amount in 18 decimals.
Step 2 (Option A): Instant Redeem
Immediate withdrawal, subject to a 0.5% fee.
Call
redeemInstant(address tokenOut, uint256 amountMTokenIn, uint256 minReceiveAmount)tokenOut: Address of the token to receive (e.g., USDC).
amountMTokenIn: Amount of hbUSDC to withdraw, in 18 decimals.
minReceiveAmount: Minimum amount to receive. Can be set to
0.
Step 2 (Option B): Classic Redeem
Withdrawals processed within 48 hours, no fee.
Call:
redeemRequest(address tokenOut, uint256 amountMTokenIn)tokenOut: Address of the token to receive (e.g., USDC).
amountMTokenIn: Amount of hbUSDC to withdraw, in 18 decimals.
Additional Information
Token Balance (balanceOf):
For deposit tokens, call
balanceOf(address)on that token’s contract.For hbUSDC balance, call
balanceOf(address)on the hbUSDC vault token.
Withdrawal Processing (Classic):
Classic withdrawals are processed in ~48 hours.
Assets are automatically sent upon processing.
Checking Withdrawal Status (Classic):
Off-chain API via Midas (same format as hbUSDT).
Endpoint:
GET https://api-prod.midas.app/api/data/requests/pending?address=<USER_ADDRESS>&networkId=999Replace
<USER_ADDRESS>with the wallet address.The API will return a JSON object containing a
redemptionsarray. Each object in this array represents a pending withdrawal request and includes details like the amount, creation date, and status (pending,ready, orexpired).
Last updated