Permanent liquidity contributions
An optional way for anyone to add liquidity that can never be withdrawn.
The QLP program has a public contribution address (the fee-receiver PDA). Anyone (the team, holders or anyone else) can send SOL to it. Contributing is entirely optional.
- Anyone can call
allocate_creator_feesto split new contributions. No keeper or admin is required. - 80% becomes permanent liquidity; 20% goes to a restricted reserve.
- Anyone can call
deploy_permanent_liquidityto add the permanent share to the pool, where it is locked forever.
Creator fees do not flow here automatically; they go to the team treasury. Community LP deposits are also kept separate: depositors are never used to subsidize the permanent position.
Allocation
| Bucket | Share | What happens to it |
|---|---|---|
| Permanent liquidity | 80% | Swapped and added to the pool, then permanently locked |
| Restricted reserve | 20% | Held by the program |
The split is set in the program (PERMANENT_BPS = 8000). No instruction can withdraw either bucket.
Fees earned by the locked permanent position are not paid out either: harvest_permanent_fees recycles them into more permanent liquidity.
Permanent-liquidity milestones
These are proposed markers, measured in SOL and valued at the current pool price. They are targets, not commitments or forecasts.
| Marker |
|---|
| 10 SOL |
| 50 SOL |
| 100 SOL |
| 250 SOL |
| 1,000 SOL |
To see how a single contribution turns into locked liquidity, read the fee model.