Auctions instead of oracles.
Prices and rates come from Gavel's own auctions, not from external feeds. In Gavel's own code no external price feed drives any state transition that affects user funds. Liquidations do not exist. Margin calls do not exist. Maturity is by time, not by price. Default is by failure to pay, not by collateral falling below a threshold.
The competitive auction is the price discovery: lenders express their view of the collateral's value through their willingness to bid a particular rate against a particular amount of collateral.
Where an obligation's amount depends on a price, the protocol's own resolvers read it from a SpotAuction clearing. Where it depends on another protocol's state — a lending market's interest index, whether a market has expired — that state is read once, and the obligation lists the contract it reads.
The chain cannot tell a rate index from a price feed, so "no price feed" is a rule the base layer keeps and anyone can check from the disclosure, not a property the contracts enforce.
- The borrower's auction: Live (v1, audited); Specified
- The lender's auction: Specified
- Vault: Specified
- Obligation: Specified
- Lien: Specified
- SpotAuction: Specified
- PositionAuction: Specified
The borrower's auction. On v1, live on Arbitrum One, a borrower opens an auction stating its collateral, the amount it wants to borrow and the most it will repay, and lenders compete by bidding the repayment they require: the lower, the better for the borrower. Each bid must improve on the current best by at least the auction's bid step. When the window ends anyone may finalise it. Status: Live (v1, audited).
On v2's building blocks the same auction is being rebuilt: the loan is created as one obligation secured by one lien. Status: Specified.
An earlier version runs on the testnet.
The lender's auction. A lender posts an offer — a capacity, a range of loan sizes, a minimum rate and the collateral terms — and borrowers bid rates. At close the offer is filled in rate order until its capacity is used, and every winner borrows at one uniform clearing rate. Status: Specified.
An earlier version runs on the testnet.
With both, either side of the market can initiate, and the protocol produces two-sided rate discovery for each collateral, loan token and term.
The spot auction. Orders in a slot clear together at one uniform price. Status: Specified.
An earlier version runs on the testnet.
The auction for claims and positions. A secondary market for loans: a lender can sell all or part of a claim, a borrower the position with the collateral subject to the debt. Status: Specified.
The yield curve.
The credit yield curve emerges from completed loan auctions. The spot clearing price emerges from batch-cleared orders. The implied forward curve is derived from both.
An illustration: no figures are shown or implied.
The resulting credit-rate curve is the price: a market-discovered surface, not a function of an oracle's inputs.
The underlying events are public; anyone can read them directly at no cost and build their own curve.
Dated finance. Prices exist only where an auction makes them, at discrete times. Nothing is marked to market continuously, so nothing is liquidated the moment it slips; risk is managed by collateral margin, by term, and by an auction at settlement.
The cost: some products cannot be built in their usual form, such as high-leverage perpetuals, which depend on continuous liquidations driven by a price feed. The base layer leaves them out; others may build them with an oracle of their choosing.