🟢 Compound Internals
Compound pioneered algorithmic money markets on Ethereum. Suppliers earn interest automatically through cTokens — ERC-20 wrappers whose exchange rate grows over time. Borrowers post overcollateral and pay variable rates determined by pool utilization. The protocol is fully governed by COMP token holders.
cTokens & Supply
How supplying assets mints cTokens — an interest-bearing wrapper that appreciates over time
Interest Rate Model
Compound's jump-rate model — utilization drives rates with a sharp kink at optimal usage
Governance & COMP
On-chain governance with COMP tokens — propose, vote, timelock, and execute protocol changes
How Compound works in 90 seconds
Compound is the original algorithmic money market on Ethereum. In V2, depositing an asset into a cToken contract — cUSDC, cDAI, cETH — mints a fixed-supply cToken that grows in redemption value as borrowers pay interest. Borrowers post several collateral assets, each weighted by a governance-set collateral factor between 0% and 90%, and may draw any other listed asset up to their combined borrow capacity. There is no per-position note: every borrower of an asset shares the same accrual index.
V3, branded Comet, restructures the protocol around a single borrowable asset per market. The flagship cUSDCv3 deployment lets users post WETH, WBTC, wstETH, COMP, LINK, and a short list of other collateral, but only USDC can be borrowed. Concentrating debt into one liability lets risk teams set tighter, asset-specific parameters and removes the cross-asset contagion that V2 markets carried. Comet also separates the borrow collateral factor from a higher liquidation collateral factor, giving wallets a buffer before keepers may act.
Compound is governed entirely on-chain. Holders or delegates with at least 25,000 COMP propose Solidity calldata, the community votes for three days, and successful proposals go through a 48-hour Timelock before execution. Every reserve listing, parameter change, and contract upgrade flows through that pipeline, which is why Compound's risk surface is small and slow-moving compared to permissionless lenders.
Key concepts
- cToken exchange rate
- Each cToken's redemption value equals (totalCash + totalBorrows − totalReserves) divided by totalSupply. accrueInterest pushes borrower interest into totalBorrows every block, so the same cToken redeems for more underlying every block. Suppliers do not claim or rebase — yield is purely a rising exchange rate baked into the cToken.
- Jump-rate model
- Compound prices borrows along a piecewise-linear curve. Below the kink — typically 80% utilization — the rate equals baseRate + utilization × multiplier. Above the kink, jumpMultiplier kicks in and rates climb steeply, forcing repayment or fresh deposits. Each market has its own kink, multiplier, and jumpMultiplier set by governance.
- Comet base asset
- Every V3 deployment has exactly one borrowable asset, called the base. cUSDCv3 borrows USDC; cWETHv3 borrows WETH. Collateral assets are explicitly whitelisted with their own borrowCollateralFactor and liquidateCollateralFactor, so the same wstETH can secure a USDC borrow on one Comet and a WETH borrow on another with different risk parameters.
- COMP distribution
- The Comptroller emits COMP each block, split across markets according to governance-set speeds and shared between suppliers and borrowers of those markets. In V3 the emissions schedule per Comet is set per network, so users on Polygon, Arbitrum, Base, or Optimism receive distinct COMP rewards even when they hold the same asset.
- Timelock and Governor Bravo
- Proposals require 25,000 COMP to submit and 400,000 affirmative votes to pass under Governor Bravo. Successful proposals enqueue into a 48-hour Timelock before any contract call executes. The delay is deliberate — it gives token holders, security firms, and the rest of DeFi time to react if the queued payload would harm the protocol.
- V3 absorb liquidation
- When a Comet account's borrow exceeds its liquidation capacity, anyone may call absorb. The protocol takes over the entire position at the asset's price feed minus a small discount, replaces the user's debt with the absorbed collateral, then resells that collateral to keepers via buyCollateral. This atomic absorption replaces V2's per-borrower auctions and prevents partial-fill griefing.
Why Compound matters
As of April 2026, Compound V2 still carries roughly $2B in deposits and Compound V3's deployments across Ethereum, Arbitrum, Base, Optimism, Polygon, and Scroll add several billion more, with cUSDCv3 on Ethereum alone above $1B in net supply. Compound's significance is less about raw TVL and more about being DeFi's reference implementation: the cToken pattern, the jump-rate curve, Governor Bravo, and the 48-hour Timelock are the building blocks that almost every later money market borrowed from.
The V3 redesign is also the cleanest live example of how DeFi lending evolved away from cross-asset borrowing. By isolating risk inside per-asset Comets and replacing per-borrower auctions with the absorb-then-buyCollateral flow, Compound made it cheaper for institutional desks and on-chain treasuries to underwrite specific liability sleeves — for example a USDC desk that wants exposure to wstETH collateral but not to a long tail of governance-listed assets. Understanding the cToken exchange-rate trick and the V3 absorb mechanic is enough to read the source code of half the lending market in 2026.
Frequently asked questions
- How does the cToken exchange rate actually grow?
- Each cToken contract tracks an exchange rate equal to (totalCash + totalBorrows − totalReserves) divided by totalSupply. Borrowers accrue interest into totalBorrows every block via accrueInterest, which lifts the numerator without minting new cTokens, so each cToken redeems for slightly more underlying every block. Suppliers earn purely through that rising redemption rate — no claim, no rebase.
- What is Compound's jump-rate model?
- Compound V2 prices borrows along a piecewise-linear curve: a gentle slope while utilization sits below the kink (typically 80%), then a much steeper second slope above it. The borrow rate equals baseRate + utilization × multiplier below the kink and adds (utilization − kink) × jumpMultiplier above it, giving operators a controllable lever to keep reserves liquid.
- Why does Compound V3 only let you borrow one asset per market?
- Each V3 deployment — Comet — has a single base borrow asset such as USDC or WETH. Users post any of several whitelisted collateral assets, but they can only draw the base asset against them. Concentrating borrows into one liability simplifies risk parameters, isolates each Comet from other markets, and removes Compound V2's cross-asset contagion path.
- How does Compound governance push a code change live?
- Anyone holding or being delegated 25,000 COMP — Compound's proposal threshold — can submit a proposal as Solidity calldata. Voting runs for three days, requires a 400,000 COMP affirmative quorum, and on success enters the Timelock. The Timelock holds queued proposals for two days before execution, giving the community a window to fork or alarm if a malicious upgrade slips through.
- What is the collateral factor and how does it differ from Aave's loan-to-value?
- Each Compound V2 asset has a collateral factor between 0% and 90% set by governance. Your borrow capacity equals the sum of collateral × collateralFactor across deposits. V3 uses a similar concept but separates a borrow collateral factor from a higher liquidation collateral factor, so a position gets a margin-call buffer before liquidators are allowed to act.
- How does liquidation in Compound differ from Aave's?
- On V2, a liquidator repays up to 50% of an underwater account's debt and receives collateral worth that debt plus an 8% liquidation incentive. V3 instead uses an absorb call: the protocol takes the entire position onto its balance sheet at a discount and resells the collateral to keepers via the buyCollateral path, removing per-borrower auctions entirely.