Covenant lifecycle
A covenant is a small state machine. It is born on a sell, lives for up to 7 days, and ends either absorbed by a buyer or locked as protocol liquidity.
On-chain status codes
The contracts track three canonical states:
| Code | Status | Meaning |
|---|---|---|
0 | Active / open | Live and available for absorption. |
1 | Absorbed | Fully taken on by buyers (redeemed). |
2 | Locked | Expired and settled into locked LP. |
dApp status labels
The interface adds a few intermediate labels to describe in-progress transitions:
- Active — open, nothing absorbed yet.
- Absorbing → Absorbed — a buy is partially or fully filling it.
- Expiring — close to its 7-day mark.
- Expirable — matured; awaiting the permissionless settlement sweep.
- Locking → Locked — settlement is converting it into the locked LP position.
Queue mechanics
Covenants live in a FIFO queue: buys absorb from the head (oldest first), and settlement also matures the head first. One consequence worth knowing: a matured covenant sitting at the head pauses absorption until someone calls the permissionless settlement to clear it — see queue risk. The queue is the single on-chain address you index to read all of this; see the covenant queue.