Protocol/LP fee restructuring #378
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Restructures how AMM swap fees are distributed and adds a mechanism to extract accumulated liquidity as protocol fees.
Fee redistribution: Changed the taker fee split from 0.25% LP / 0.25% protocol to 0% LP / 0.5% protocol. All swap fees now go directly to the protocol rather than being added to LP reserves.
New
collect_lp_feesinstruction: Allows the MetaDAO multisig to withdraw liquidity from the spot AMM down to a specified target K value while preserving the current price. This addresses a gap in the previous design where LP fees were added to pool reserves but never tracked separately—making them indistinguishable from initial liquidity.Mechanics
The
collect_lp_feesinstruction reduces pool reserves proportionally to maintain the price ratio:Where K is current liquidity (x×y), K' is the target liquidity, and x'/y' are the new reserves. The difference (x - x', y - y') is transferred to the caller.