Sell → covenant
A sell through the hook does not fully leave the pool. The hook splits it and retains 20% of the net proceeds as a covenant: temporary exit debt that buyers can absorb.
The split
When you sell CVN (a TOKEN → ETH swap), the hook processes it in order:
- Tax first. A 3% tax in ETH is levied and accrued to the creator.
- Retention. 20% (
RETENTION_BPS = 2000) of the net-of-tax sell is held back as a covenant. This slice is not sold to the pool. - Pool settlement. The remaining ~77% executes as a normal swap. You receive ETH for it.
The retained slice becomes a new covenant, recorded in the queue.
What the covenant stores
Each covenant freezes a few values at creation and never changes them:
| Field | Meaning |
|---|---|
| Size | The CVN amount retained (the exit debt). |
| Reference price | The realized price of your sell — the basis buyers absorb against. |
| Discount | The absorption discount, frozen at creation between 5% and 20%. |
| Expiry | Creation time + 7 days. Fixed, no extensions. |
| Seller | Your address (for indexing; you have no further claim on the debt). |
Retention is not an escrow. Once retained, the slice belongs to the mechanism. You exited; the debt's future — absorbed by a buyer or locked as LP — no longer pays you. This keeps incentives honest: a covenant is a real obligation, not a delayed sell.
Why a discount is frozen at creation
The absorption discount moves with covenant stress (how much open debt is in the queue) between a 5% floor and a 20% cap. Freezing it per covenant at creation means a buyer always knows the exact price of the debt they are taking on, and the seller cannot influence it after the fact.
See how buyers take the other side in Buy → absorption.