Stability pools (integrator appendix)
Product explanation: Stability Pools. Contract SoT: Stability pool, Manager. Flow: Stability pools process.
Rules that bite integrators
| Rule | Detail |
|---|---|
| Deposit asset | haTokens (pegged) only — not hs, not raw collateral |
| Two pools per market | Collateral pool and Sail pool — both take ha |
| Yield | Both pools earn concentrated collateral yield / harvest on ha deposits |
| Rebalance payout | Collateral pool → wrapped collateral; Sail pool → hsTokens. Deposited ha is burned. |
| hs in a wallet | Does not earn concentrated yield |
Live pools are v1/v2 compounding-balance contracts, not ERC-4626. Harbor Yield v3 ERC-20 shares (hp…) are on the yield branch — do not assume deposit(assets, receiver) ERC-4626 semantics on mainnet pools today.
Integrator call path
- User holds ha (mint via mint/redeem or buy).
ha.approve(stabilityPool, amount).deposit(assetAmount, receiver, minAmount)—type(uint256).maxonassetAmount= full wallet balance;minAmountis a lower bound (0or a quoted minimum).- Withdrawals use a delay window: read
getWithdrawalWindow()/getEarlyWithdrawalFee(), thenrequestWithdrawal()andwithdrawinside the window. Early-exit fees may apply. - Rewards / rebalance receipts:
claimable/claim(token = wrapped collateral or hs, depending on pool).
Minimum deposit and MIN_TOTAL_ASSET_SUPPLY floors apply — see the stability pool page.
Rebalance
When collateralRatio < rebalanceThreshold, keepers call StabilityPoolManager.rebalance. Your users’ ha in the pool can be reduced; they receive the pool’s liquidation token. Keeper notes: Rebalance.
Related
- Harbor Yield (Compounder / hy siblings over these pools; pre-prod)