Skip to main content

Parameters

Covenant's behavior is fully described by a handful of compile-time constants. They are part of the immutable hook — there are no setters and no governance to change them.

Core parameters

ParameterConstantValueMeaning
Sell retentionRETENTION_BPS2000 (20%)Share of the net-of-tax sell retained as a covenant.
Base discountBASE_DISCOUNT_BPS500 (5%)Absorption discount floor.
Max discountMAX_DISCOUNT_BPS2000 (20%)Absorption discount cap under covenant stress.
Creator taxTAX_BPS300 (3%)Flat tax on every buy & sell, taken in ETH.
BasisBPS10000Basis-points denominator.
Covenant durationcovenantDuration()7 daysTime from creation to expiry. Fixed, no extensions.

Derived behavior

  • Discount range — a covenant's discount is set at creation somewhere in [5%, 20%] based on covenant stress (how much open debt is in the queue), then frozen for that covenant's life.
  • Expiry destination — settlement targets LOCKED_LP (0) normally, or PROTOCOL_RESERVE (1) as a fallback.
  • Swap directionzeroForOne == true is a buy (ETH → CVN); false is a sell (CVN → ETH). currency0 is native ETH, currency1 is CVN.
  • Swap typeexact-input only.

Token

PropertyValue
SymbolCVN
Decimals18
PairCVN / ETH (Uniswap v4)

Immutability

There is no admin key that can change any of the above. The creator address (creator) and the pool initializer (poolInitializer) are set once at deployment and are immutable. Changing any parameter would mean deploying a new set of contracts.

For the deployed addresses on each network, see Deployments.