Integration Guide
Quick Start
1
2
Check Pool Parameters
ISpectrumAccountant accountant = ISpectrumAccountant(accountantAddress);
// Core parameters
uint128 seniorAPY = accountant.rSenior(); // e.g., 500 = 5%
uint128 maxSpectrumAPY = accountant.rMaxSpectrum(); // e.g., 2000 = 20%
uint128 gridStep = accountant.spectrumGridStep(); // e.g., 50 = 0.5%
uint128 period = accountant.dPeriod(); // seconds
uint256 maturity = accountant.tStart() + period;
// Capacity
uint256 seniorCap = accountant.seniorCapacity();
uint256 maxTotal = accountant.cMaxTotalDeposits();
// Fee
uint128 protocolFee = accountant.cProtocolFee(); // e.g., 500 = 5%Depositing
Via Router (Recommended)
// Standard ERC20 approval
IERC20(asset).approve(address(router), amount);
router.depositSeniorSpectrum(accountant, amount, receiver);
// OR with Permit2 (no approval needed)
router.depositSeniorSpectrumPermit2(
accountant,
amount,
receiver,
permit2Signature
);