diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 8ee6bc5..8e216b5 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -17,7 +17,7 @@ Kraiken.sol (ERC-20 token) │ ├── Staking positions with tax rates │ ├── Snatch mechanics (competitive staking) │ └── getPercentageStaked(), getAverageTaxRate() -└── feeDestination: address (protocol revenue — fees go HERE, not back to holders) +└── feeDestination: address (protocol revenue — both WETH and KRK fees go HERE, not back to holders) Optimizer.sol (UUPS Upgradeable Proxy) ├── Reads: stake.getPercentageStaked(), stake.getAverageTaxRate() @@ -33,6 +33,8 @@ Optimizer.sol (UUPS Upgradeable Proxy) - **LiquidityManager → Kraiken**: exclusive minting/burning rights - **Optimizer → Stake**: reads sentiment data (% staked, avg tax rate) - **Optimizer upgrades**: UUPS proxy, admin-only `_authorizeUpgrade()` +- **feeDestination receives both WETH and KRK fees**: during `recenter()`, Uniswap V3 fee collection produces both tokens. WETH fees AND KRK fees are forwarded to `feeDestination` (see `LiquidityManager._collectFees()`). +- **feeDestination KRK excluded from outstanding supply**: `_getOutstandingSupply()` subtracts `kraiken.balanceOf(feeDestination)` before computing scarcity, because protocol-held KRK cannot be sold into the floor and should not inflate the supply count. ## Three-Position Strategy diff --git a/docs/PRODUCT-TRUTH.md b/docs/PRODUCT-TRUTH.md index a6fb8be..cacfe19 100644 --- a/docs/PRODUCT-TRUTH.md +++ b/docs/PRODUCT-TRUTH.md @@ -59,6 +59,8 @@ when the protocol changes — not the marketing copy. - Trading fees are collected by the LiquidityManager during recenters - Fees are sent to `feeDestination` (protocol treasury / founders) - Fee revenue is the protocol's business model +- **Both WETH and KRK fees** from Uniswap V3 positions are forwarded to `feeDestination` — not just ETH/WETH +- KRK held at `feeDestination` is excluded from the outstanding supply calculation, because protocol-held KRK cannot be sold into the floor and should not inflate the scarcity metric ❌ **Cannot say:** - "Fees grow your KRK value" — **FALSE.** Fees go to treasury, not back to holders.