The precise version of everything the overview says: how markets are constructed, what a committed bid is, how loans originate, settle, liquidate, and recover — and why none of it needs an oracle.
ACE is an open credit market built as a set of Uniswap v4 poolswith the lending book implemented in the pool’s hook. Each market is an ordinary v4 pool: swaps route through it, LPs can exist alongside it, and the hook adds a term-credit facility on top of the same liquidity surface.
The system has no price oracle, no off-chain feeds, and no admin keys. Credit is priced by committed capital: lenders place bids that are binding commitments to buy the collateral asset at a stated price, and everything else — floors, liquidations, recoveries, rates — is derived from those commitments and from prices the market itself prints on-chain.
Markets are isolated: each is its own pool with its own book. A failure in one market stays with the lenders who chose it. There is no shared pool, no protocol treasury backstop, and no cross-market contagion path.
A market is fully described by its parameter tuple. Deployment is deterministic via CREATE2: the same tuple always resolves to the same address, so a given market can exist exactly once and its address can be computed off-chain before it exists.
| Component | Role |
|---|---|
| Uniswap v4 pool | The trading venue. Spot execution and the prices it prints are the only price input the system has. |
| Lending hook | Holds the book of committed bids, originates loans, runs the skim, tracks marks, and executes liquidation, recovery, and settlement. |
| The book | Per-market storage of ticks: price levels with committed quote-side depth, ordered best (highest) first. |
| Marks | On-chain record of persistent prices — the settlement reference. See Sec. 07. |
All parameters are fixed at deployment. Changing any of them describes a different market at a different address — nothing is upgradable or governable after the fact.
| Parameter | Domain | Description |
|---|---|---|
| base | address | The collateral asset. Anything a v4 pool can hold: majors, long-tail tokens, RWAs, wrapped positions. |
| quote | address | The lend side. Bids, loans, fees, and settlement are all denominated in quote. |
| term | 30d · 90d · 180d | Maximum life of a loan. Every loan in the market shares the term; maturity is absolute (Sec. 09). |
| pending | 24h · 48h · 72h · 7d | The persistence window. A liquidation-triggering move must hold this long before title transfers; within it, recovery reverses the liquidation (Sec. 08). |
| skim | 4% – 20% | Fraction of upward price moves harvested from borrower collateral to amortize debt (Sec. 06). Higher skim suits volatile or yield-bearing collateral. |
| ladder | preset | The initial tick grid: rung spacing below the mark at deployment (conservative / standard / aggressive). Lenders are free to bid at any tick afterwards. |
The book is a set of ticks: price levels carrying committed quote-side depth. A bid at price p is a binding commitment to buy the base asset at p — it is not a quote, and it cannot be faked, because the capital is escrowed in the market when the bid is placed.
A lender chooses a tick and an amount, and commits. From that moment the position earns whenever borrowers draw against the book, and it stands as the floor for everyone trading above it.
Lenders earn all the way down: a falling price unwinds borrower positions into the book rather than past it, so depth keeps collecting fees as it absorbs the move.
Capital can be committed directly, or through a curator— a vault that spreads idle quote across markets and ticks under a stated mandate. Curators are ordinary lenders from the protocol’s point of view; they hold no special rights.
Borrows execute the way swaps do: against the best available depth, best tick first. A borrower pledges base collateral, draws quote, and pays the origination fee. There is no rate negotiation — the book is the rate.
On upward price moves, the hook skims the configured fraction of the appreciation from the pledged collateral and applies it against the debt. A position that rides a rising market amortizes itself; for yield-bearing collateral (RWAs, LSTs), the skim harvests the native coupon into repayment.
At maturity a loan can roll, but a rollover is a new loan at the current book’s rate — debt never drifts silently under stale terms. If the book has moved against the borrower, rolling is exactly as expensive as it should be.
The markis the protocol’s settlement reference: a price the pool itself has printed and sustained. It is recorded on-chain by the hook from the market’s own trading — no external feed, no keeper, no committee.
The defining rule: a single trade can never settle anything. Trades move spot; only spot that persistsbecomes a mark. A flash crash, an oracle-style wick, or one whale’s dump prints a price for a moment — and a moment is not enough. The pending window (Sec. 08) is the persistence check applied to any move that would transfer value.
When the mark falls to a funded tick, the loans drawn against that depth enter pending liquidation. Nothing is sold — there is no auction, no keeper race, no slippage cascade. The state machine is:
A healthy market therefore needs a dependable way for a lender to exit an acquired asset. There are two:
Every loan is terminal: at maturity it resolves, without exception. The borrower has three outcomes, and all three are final:
| Outcome | Effect |
|---|---|
| Repay | Debt is settled in quote; collateral returns to the borrower in full. |
| Roll | A new loan opens at the current book’s rate and term; the old one closes. Repricing is mandatory. |
| Default | Title passes to the funding lenders at their committed price — the same settlement as a persistent liquidation. |
Because terms are absolute, the book’s exposure has a known horizon: no position can outlive its market’s term, and lender capital is never locked indefinitely.
The classic lending-protocol attack is: dump the price, crash the oracle, buy the collateral back cheap. Here the attack decomposes:
Because risk is priced by the market itself, credit reaches assets an oracle could never touch. A partial catalogue of what the primitive supports:
| Ref | Application | Mechanism |
|---|---|---|
| APP-01 | Launchpads | A bonding-curve launch graduates into its own credit market. |
| APP-02 | Prediction markets | Multi-outcome floors, priced by the market at all times. |
| APP-03 | NFT / veNFT | Floor loan plus a fractionalized remainder; tenor is the exit. |
| APP-04 | RWA | The skim harvests the real coupon; permissioned variant for securities. |
| APP-05 | Corridors | A bridge as a credit market: tenor-bounded messenger exposure. |
| APP-06 | Options income | A resting bid is a cash-secured put. |
| APP-07 | Vesting & locked | Lenders bid what delivery at unlock is worth. |
| APP-08 | Treasury desks | Borrow against the token without dumping it. |
| APP-09 | Rent-a-floor | A time-locked bid beneath an asset: a guaranteed floor as a subscription. |
| APP-10 | Public OTC desk | Transparent block trades through the same floor-protected auction. |
| APP-11 | Buybacks | A standing bid is a buyback that earns lender yield until it fills. |
| Term | Definition |
|---|---|
| Tick | A price level in the book carrying committed quote-side depth. |
| Bid | A binding, escrowed commitment to buy the base asset at a tick’s price. |
| Floor | The best (highest) funded tick — the price real capital stands behind. |
| Mark | An on-chain recorded price that the pool printed and sustained; the settlement reference. |
| Buffer | Relative distance from the mark down to the floor: (M − F) / M. |
| Skim | The configured fraction of upward collateral moves harvested to amortize debt. |
| Pending window | The persistence period a liquidating move must hold before title transfers; recovery reverses it inside the window. |
| Title transfer | Settlement of a defaulted or persistently liquidated loan: the lender receives the collateral at their committed price. |
| Term | The fixed tenor shared by all loans in a market; every loan is terminal. |
| Curator | A vault that allocates lender capital across markets and ticks under a stated mandate. |
| Ladder | The initial tick grid a market deploys with. |
| Utilisation | The share of committed depth currently drawn by borrowers. |