Lend and borrow onchain. No counterparty, no paperwork.
Over-collateralized lending markets — supply assets to earn yield from borrowers, or borrow against collateral. Rates set algorithmically by utilization; interest accrues every block.
One panel. Supply or borrow in two clicks.
Est. gas ~0.0011 ETH · interest accrues from the next block
Liquidation occurs if health factor drops below 1.00.
Keel never holds your keys. Connecting only grants read access until you sign a transaction.
Supply, earn, borrow, repay — all onchain
Every step is a contract call. No intermediary takes custody; the pool contract holds the assets and the rate model sets the price.
Supply an asset
Deposit USDC, ETH, or another listed asset into its pool. You receive a yield-bearing balance representing your share.
It earns yield
Borrowers pay interest into the pool. The rate moves with utilization — more demand, higher yield to suppliers.
Borrow against it
Use your supplied assets as collateral and borrow another asset, up to that market's loan-to-value limit.
Repay & withdraw
Repay anytime — interest accrues per block, never in fixed terms. Withdraw your supply whenever pool liquidity allows.
Built conservative, by construction
Keel's safety properties are enforced in the contracts, not in policy. Six design choices keep markets solvent.
Over-collateralized only
Every loan is backed by more value than it draws. There is no unsecured credit and no whitelist — collateral is the only requirement.
Per-block interest accrual
Interest compounds every block — roughly every 12 seconds — so balances are always current. No fixed terms, no maturity dates.
Isolated risk markets
Each asset's exposure is ring-fenced. A failure or depeg in one market cannot drain liquidity from the others.
Automated liquidation engine
When a position falls below its health threshold, liquidators repay debt for a fixed bonus — keeping every pool fully solvent.
No lockups
Supplied assets are never frozen. Withdraw the moment pool liquidity allows — there is no notice period and no early-exit fee.
Composable pools
Pools expose an ERC-4626-style interface. Other protocols can route through Keel without integration overhead or special permissions.
Integrate the pools
The TypeScript SDK wraps every pool action — supply, borrow, repay, and live rate reads — in a typed client. No ABI wrangling, no manual encoding.
- Typed bindings generated from verified contract ABIs
- Read APY, utilization, and health factor with one call
- Works with viem, ethers, and any EIP-1193 provider
// install: npm i @keel/sdk
import { KeelClient } from '@keel/sdk';
const keel = new KeelClient({
chain: 'mainnet',
rpcUrl: process.env.RPC_URL,
});
// open the USDC pool
const pool = await keel.pool('USDC');
// supply 5,000 USDC
await pool.supply({ asset: 'USDC', amount: 5_000n });
// borrow against ETH collateral
await pool.borrow({ asset: 'USDC', amount: 1_800n });
// read the live supply APY
const apy = await pool.getApy();
console.log(apy.supply); // 0.0418
Reviewed line by line
Keel's contracts have been independently audited, the interest-rate model formally verified, and every deployment published onchain. Reports are public before any code reaches mainnet.
Formal verification
The interest-rate model is machine-checked: its solvency invariants hold for every possible utilization input.
Verified onchain
Every contract's source is verified on Etherscan. The bytecode you interact with matches the audited code.
Non-custodial
No admin can move user funds. Assets sit in pool contracts; only the depositor's signature can withdraw them.
Honest risk note
Deposits are not risk-free. Smart-contract bugs and the liquidation mechanism can both cause loss — assess the risk before supplying.
Markets decided in the open
Which assets list, and the risk parameters attached to them, are decided by KEEL token holders. A proposal is discussed on the governance forum, then settled by an onchain vote.
The KEEL token is the voting mechanism for these parameters and nothing more — it carries no claim on protocol revenue and is not a promise of return. Governance sets the rules; the contracts enforce them.
List wstETH market — set LTV to 78%
Add a wstETH lending market with a 78% loan-to-value, an 82% liquidation threshold, and a $120M supply cap.
Questions, answered plainly
What's the risk — can I lose my deposit?
Yes — supplying to Keel is not risk-free. The two main risks are smart-contract risk (a bug in a contract, despite audits and formal verification) and mechanism risk (in extreme volatility, liquidations may not fully cover a position). Pools are isolated so a problem in one market does not spread, but you should only supply what you can afford to have at risk.
How does liquidation work, and at what threshold?
Each position has a health factor — the ratio of collateral value (weighted by the liquidation threshold) to borrowed value. When it falls below 1.00, the position is eligible for liquidation. Anyone can act as a liquidator: they repay part of the debt and receive collateral plus a fixed bonus in return. This keeps the pool solvent. Liquidation thresholds are set per asset by governance — typically a few percent above the maximum borrow LTV.
Are interest rates fixed or variable?
Variable. The InterestRateModel sets a rate from the pool's utilization — the share of supplied liquidity currently borrowed. As utilization rises, both the borrow rate and the supply yield increase, which draws in more suppliers and discourages further borrowing. Because it recalculates every block, the APY you see is a live reading, not a quoted term.
Who can change the risk parameters?
Only KEEL token holders, through onchain governance. Changes to loan-to-value ratios, liquidation thresholds, supply and borrow caps, or the rate curve must pass a vote that meets quorum, then execute through the KeelGovernor contract. No individual or team can change a parameter unilaterally, and every executed change is recorded onchain.
What audits has the protocol had?
The v3 contracts were audited by OpenZeppelin in February 2026 (full protocol scope) and by Spearbit in December 2025 (focused on the liquidation engine). The interest-rate model has also undergone formal verification. An Immunefi bug bounty of up to $1M runs continuously, and all audit reports are published in the documentation before code is deployed to mainnet.
Put your assets to work. Or borrow against them.
Open a position in under a minute. Non-custodial, over-collateralized, and verifiable onchain.