Skip to main content

MakxYieldPad parameters

All set via configure() or dedicated setters. Only the protocol owner can update these.
ParameterTypeDescription
feeRateBpsuint16Rental fee rate in BPS applied to bondAmount per time unit. Determines feePerSecond.
interestRatePerSeconduint256WAD (1e18 = 100%/sec). Per-second interest rate on total bonded ETH, paid to vault.
minRentalDurationuint48Minimum prepaid duration in seconds. Default: 2,592,000 (30 days).
minBondAmountuint128Minimum ETH rentable per launch.
maxBondAmountuint128Maximum ETH rentable per launch.
gracePerioduint24Seconds before expiry when fee claims are blocked. Default: ~3 days.
liquidationThresholduint24Seconds before expiry when liquidation opens. Must be ≤ gracePeriod. Default: ~1 day.
maxHookFeeBpsuint16Maximum hook fee a creator can set on their pool.
adminFeeBpsuint16Protocol cut on hook fee claims (claimFees).
adminCollectLpFeeBpsuint16Protocol cut on LP fee collections (collectLPFees).
adminPayRentFeeBpsuint16Protocol cut on rent deposits (depositRent).
adminLiquidationFeeBpsuint16Protocol cut on liquidation surplus ETH.

MakxYieldVault parameters

Set via configure() and setFeeBps(). Only the protocol owner can update these.
ParameterTypeDescription
withdrawalCooldownuint24Seconds between requestWithdrawal() and redeem(). Prevents forced emergency LP liquidations.
feeBpsuint256Protocol fee in BPS on vault deposit and redeem. Maximum 1000 (10%).

Rental fee formula

feeRateBps translates to a per-second fee on bondAmount:
feePerSecond = bondAmount × feeRateBps / 10_000 / annualizedBasis
And bondAmount is derived from the rental payment:
bondAmount = rentalPayment / (feeRateBps × duration / 10_000)

Interest rate conversion

interestRatePerSecond is WAD-scaled (1e18). To set a target APR:
interestRatePerSecond = APR_decimal × 1e18 / 31_536_000
Examples:
APRinterestRatePerSecond (approx)
1%317,097,919
5%1,585,489,600
10%3,170,979,200
20%6,341,958,397

Grace and liquidation window

The grace period and liquidation threshold define a two-stage warning system:
[Active] → [Grace Period] → [Liquidation Zone] → [Liquidated]
               ^                    ^
       prepaidUntil ≤           prepaidUntil ≤
       now + gracePeriod        now + liquidationThreshold
liquidationThreshold must always be ≤ gracePeriod. The protocol enforces this constraint in configure() and reverts with InvalidGracePeriod otherwise. The gap between gracePeriod and liquidationThreshold gives the creator a window to extend rent after fee claims are blocked but before liquidation opens.