Compound v3 (Comet) is on the tracking pages, and it
does not work the way Aave does. Reading its table as if it did will give you
the wrong answer, so this guide is mostly about the difference.
There is no liquidator repaying debt
In Aave, a liquidator repays part of an unhealthy borrower’s debt and takes
their collateral at a discount: two sides of one bargain, both on the
liquidator’s balance sheet. See liquidations.
In Comet, an underwater account is absorbed: the protocol itself takes on
the debt and seizes the collateral into its own reserves, and whoever triggered
the absorption is paid a reward for the service. The absorber does not put up
the debt. That is why the columns here read debt absorbed and collateral
seized rather than debt repaid, and why the page has no “liquidators” count:
it counts absorbers, which is a different role.
The gap between collateral seized and debt absorbed is roughly the protocol’s
margin on the absorption, not a liquidator’s profit.
One borrowable asset per market
A Comet market has a single base asset: the only thing anyone can borrow.
Everything else in the market is collateral: it earns nothing and cannot be
borrowed. That is why there are six markets rather than six reserves in one
pool, and why a market is named by its base asset.
Live markets, each found from CometDeployed events and confirmed by calling
baseToken() on the contract: USDC (from block 15,331,596), WETH,
USDT, wstETH, USDS and WBTC. rake compound:markets:verify
re-checks all six against the chain.
Whose dollars these are
Compound’s own. Comet publishes the USD value of both sides in the event
itself, computed from its own price feeds at 8 decimals, so we store what the
protocol said rather than deriving it.
This is a weaker guarantee than the Aave tables, where we replicate the oracle
ourselves and validate the result against the chain (see
methodology). It is not worse data. It is the protocol’s
own accounting, which is exactly right for questions about what Compound
recognised. It is the wrong source for a question about what the collateral was
worth on the open market at that block; for that, price the seized asset
yourself from the price data.
How current the table is
Extended every night at 04:15 UTC, after the Aave-model extractors, resuming
from the newest absorption stored and stopping 64 blocks behind the head, the
bulk ingester’s own confirmation depth. An absorption is in the table the
morning after; a run that finds the warehouse busy is recorded as skipped and
the next night covers the gap. See liquidations for the
rule every nightly extraction follows.
What is not here
Health factors and a pre-liquidation position replay, which the
health factors guide covers for Aave, do not exist for
Comet yet. Comet’s borrowing capacity is computed per collateral asset rather
than from one pooled threshold, so the Aave replay does not carry over.
Coverage and the CSV
The page’s coverage card reads the persisted statement of the last nightly
extraction: how many absorptions the table holds and how many carry
Compound’s own USD figure; a row whose feed reported nothing is counted as
unvalued rather than given a price. The CSV of the newest absorptions opens
with the same lines as # comments and needs the Data subscription, like
every download here. See health factors for what a
coverage statement is and how it is written.