PutManager.collateralFromFT
PutManager.ftFromCollateral
PutManager.getAssetFTPrice
All oracle-scaled values use 1e8 precision (Chainlink standard 8-decimal format).
| Variable | Description |
|---|
ftAmount | Amount of FT (project token allocation) in the position |
collateral | Amount of collateralCollateralThe asset an investor deposits into a raise (e.g., USDC, WETH). Each accepted collateral type runs in an isolated pool with independent reserve accounting. Active collateral routes to the yield strategy and backs investor principal protection. token (e.g., USDC, WETH) |
strike | Oracle price at depositDepositThe action of investing collateral into a raise. The raise contract receives collateral, routes it to the yield strategy, and mints a pFT position NFT. A live oracle price feed determines USD notional for FT allocation via deposit-time conversion. time, scaled to 1e8. See strikeStrikeOracle price at deposit time, scaled to 1e8 (Chainlink standard). Recorded during deposit-time conversion and used for exit calculations. The oracle is not consulted again at exit time. |
ftPerUSD | Number of FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens. per USD at the raise price, scaled to 1e8. See ftPerUSDftPerUSDNumber of FT(fundraising token) per USD at the raise's fixed token price, scaled to 1e8. Recorded at deposit time and used in exit conversion formulas. |
tokenDecimals | Decimal precision of the collateralCollateralThe asset an investor deposits into a raise (e.g., USDC, WETH). Each accepted collateral type runs in an isolated pool with independent reserve accounting. Active collateral routes to the yield strategy and backs investor principal protection. token (e.g., 6 for USDC, 18 for WETH) |
collateral=ftAmount×strike×ftPerUSD×1018(108)2×10tokenDecimals
ft=collateral×(108)2×10tokenDecimalsstrike×ftPerUSD×1018
Assume a raise with token price $0.05, using USDC collateralCollateralThe asset an investor deposits into a raise (e.g., USDC, WETH). Each accepted collateral type runs in an isolated pool with independent reserve accounting. Active collateral routes to the yield strategy and backs investor principal protection. (6 decimals):
DepositDepositThe action of investing collateral into a raise. The raise contract receives collateral, routes it to the yield strategy, and mints a pFT position NFT. A live oracle price feed determines USD notional for FT allocation via deposit-time conversion. 10,000 USDC:
ft=10,000×106×1016×106108×20×108×1018=10,000×106×102220×1034=200,000×1018 FT
Result: 200,000 FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens. (10,000 USD × 20 FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens./USD).
RedeemRedeemExercise principal protection and exit to collateral. Implemented by the divest contract function. Permissionless and on-chain. 100,000 FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens.:
collateral=100,000×1018×108×20×108×10181016×106=100,000×1018×20×10341022=5,000×106 USDC
Result: 5,000 USDC (100,000 FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens. ÷ 20 FTFT (Fundraising Token)The project's token being sold in a raise. Investors receive fundraising token allocation at deposit time, which they can later withdraw to claim the FT tokens./USD).
getAssetFTPrice(token, amount) returns: