The dApp
The reference dApp is a thin, read-what-you-sign interface over the contracts. It reads live state
from chain and executes real trades through the CovenantRouter
— there is no backend and no custody.
Pages
| Page | What it shows |
|---|---|
| Overview | The hero, live KPIs (active covenants, exit debt, absorption rate, locked liquidity), and a plain-language explainer of the hook. |
| Trade | Buy/sell through the hook, with a live breakdown of tax, retention, absorption, and discount. |
| Covenants | The live covenant queue read from chain. |
| Liquidity | The locked liquidity created by expiries. |
| Risk | The hook parameters and risks, straight from the contracts. |
| Docs | This documentation. |
How addresses and ABIs are wired
The dApp does not hardcode addresses. Contract addresses and ABIs are generated from the compiled
backend artifacts by an export script (backend/script/export-frontend.mjs) into a
deployments.json the app reads at runtime. Regenerate it after any deployment rather than editing
addresses by hand.
The app is pinned per network: writes are sent with an explicit chainId, it detects a wrong network
and offers a one-click switch, and it prefers the most relevant deployed chain automatically.
Trading, briefly
- Buy shows whether your ETH will absorb covenant debt (and at what discount) or run as a plain pool swap, plus the fixed 3% ETH tax.
- Sell shows the split — retained as covenant vs sold to the pool vs the 3% tax — and marks the expiry window on the covenant it creates.
For step-by-step trading, see the Quickstart.