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):
0x057ced81348D57Aad579A672d521d7b4396E8a61
Decimals: 18
Custom Feed:
0xc82CAd78983436BddfcAf0F21316207D87b87462
Data Feed:
0xb013A5956f8b838B7E668DFbdf1efA978Ccc7a23
Insurance Contract (for Deposits):
0xd202CF41a607627cd1A31f650D13599b588eBd1c
Redemption Contract (for Withdrawals):
0xBb820D0c85C0B5D1B0dC8C6D3541fbb1AB4C7a60
Token Information
Accepted Tokens:
USDC:
Address:
0xb88339CB7199b77E23DB6E890353E22632Ba630f
Decimals: 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
depositInstant
on 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...0
if 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=999
Replace
<USER_ADDRESS>
with the wallet address.The API will return a JSON object containing a
redemptions
array. 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