Investing and Positions
How Investing Works
Section titled “How Investing Works”An investor deposits into a collateral pool. At deposit time, a live price feed converts collateral to USD notional, and the position’s token allocation is derived from the raise’s fixed token price.
Example:
- Raise token price: $0.05
- Alice deposits 10,000 USDC -> $10,000 notional -> allocation equivalent to 200,000 token units
- Bob deposits 3.33 WETH when WETH is $3,000 -> ~$10,000 notional -> same allocation equivalent
Equal USD notional maps to equal allocation regardless of collateral type.
Position Representation (ERC-721)
Section titled “Position Representation (ERC-721)”In the codebase, investor positions are represented as pFT ERC-721 tokens.
Each pFT position stores:
- Collateral token
- Collateral amount and remaining amount
- FT amount allocated to the position
- Strike/oracle context used by conversion math
Each position supports three actions:
What Investors Can Do
Section titled “What Investors Can Do”Keep position unchanged
Exercise principal-protection path and exit to collateral
Claim project FT exposure, forfeit protection on that portion, and release backing capital to capitalDivesting (for optional buyback/burn if configured)
Partial actions are supported. See Hold, Redeem, and Withdraw for flow mechanics.
Deposit-Time Conversion
Section titled “Deposit-Time ConversionDeposit-Time ConversionConverts collateral to FT allocation at deposit time using a live oracle price feed. Records strike and ftPerUSD values used for all future exit calculations.”getAssetFTPrice(token, amount) returns:
ftOut, FT amount allocatedstrike, oracle price at deposit time, scaled to1e8ftPerUSD, FT per USD at the raise price, scaled to1e8
At deposit time, the contract converts collateral to FT using strike, ftPerUSD, and the token’s decimal precision. The conversion is deterministic and uses only the values recorded at deposit time.
USDC, WETH, or other accepted asset
Strike recorded at deposit time (1e8 scaled)
Collateral amount * strike = USD value
USD notional * ftPerUSD = token units allocated
See Formula Reference for the exact formulas and worked examples.