> ## Documentation Index
> Fetch the complete documentation index at: https://yieldxyz.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lending

> Supply a single asset to a single money market and earn the variable rate paid by borrowers.

A lending yield in Earn represents one asset supplied to one market on one network: yield.xyz registers one yield ID per market, so `polygon-usdc-aave-v3-lending` and `ethereum-usdc-sparklend` are separate yields even though both lend USDC. Entering supplies the asset to that market; exiting withdraws it.

<Note>
  Lending is supply-side only. Supplying collateral and borrowing against it is the separate [Borrow](/documentation/borrow/index) product and API; a Borrow `supply` action and a lending yield are different positions.
</Note>

## What you hold

What your address holds after entering depends on the protocol family:

* **Receipt tokens** (Aave's aTokens, SparkLend's `sp`-prefixed tokens, Compound III's market token such as `cUSDCv3`): minted or credited to you on enter and burned on exit. Interest accrues by increasing the token balance, not by changing its price.
* **ERC-4626 vault shares** (Fluid, Gearbox, Curve lending markets): a vault share token whose value against the underlying asset rises as interest accrues.
* **Protocol-internal balances** (Dolomite, Drift, Kamino's K-Lend markets): no token is minted. Your position lives inside the protocol's own accounting and yield.xyz reads it directly from the contract.

Check the specific protocol page for which model applies before assuming a receipt token exists.

## Rates

A lending yield's public `rewardRate` is a variable supply rate driven by the market's utilization: it moves with the ratio of borrowed to supplied assets and is read live from the protocol, not fixed at listing time. Some integrations fold reward-token incentives into that same figure instead of reporting them separately; Aave's and Compound's modules do this differently (see [Aave](/documentation/earn/defi/lending/aave) and [Compound](/documentation/earn/defi/lending/compound) for how each computes it). Don't treat `rewardRate` as guaranteed or fixed; re-fetch it before displaying or acting on it.

## Discover lending yields

Query [`GET /v1/yields?types=lending`](/api-reference/YieldsController_getYields) for the lending yields enabled for your project. The response is project-scoped: it returns the yields your API key's project has enabled, plus any active Optimized Allocator Vaults (OAVs), not a global catalog of every lending market yield.xyz integrates. See [Discover yields](/documentation/earn/core-concepts/discover) for filtering and pagination.

## Enter and exit

Entering a lending yield supplies the `amount` argument to the market; exiting withdraws it. Every lending yield has a `cooldownPeriod` of `0`: there is no unbonding or queue step between requesting an exit and it settling. For the ERC-4626 lending markets (Fluid, Gearbox, Curve), yield.xyz caps a redeem to what the vault reports as redeemable for your address; a larger request fails rather than partially filling. Some markets can still constrain what you can withdraw: Aave enforces per-reserve supply caps on the deposit side, and a market's own on-chain liquidity can limit a large withdrawal regardless of what yield.xyz reports. Check a specific protocol's page for arguments that differ from this default, such as Dolomite requiring an explicit exit `amount` with no "withdraw everything" shortcut.

See [Actions](/documentation/earn/core-concepts/actions) for how enter and exit requests progress from creation to settlement, and [Balances and positions](/documentation/earn/core-concepts/balances-positions) for how a lending position appears in balance responses.

## Protocols

| Protocol | Networks | What differs |
| - | - | - |
| [Aave](/documentation/earn/defi/lending/aave) | Ethereum, Arbitrum, Base, Optimism, Polygon, BNB Chain, Avalanche C-Chain, Gnosis, Linea, Sonic, Plasma, Monad | Aave V3 pooled money markets; a frozen or zero-rate reserve blocks entering but still allows exit |
| [Compound](/documentation/earn/defi/lending/compound) | Ethereum, Arbitrum, Base, Optimism, Polygon | One Comet market per base asset per network; COMP incentives are claimed manually |
| [Spark](/documentation/earn/defi/lending/spark) | Ethereum (SparkLend); Ethereum, Base, Arbitrum, Optimism, Unichain, Robinhood Chain (Savings vaults) | One provider spanning both a lending market and ERC-4626 savings vaults anchored to the Sky Savings Rate |
| [Fluid](/documentation/earn/defi/lending/fluid) | Ethereum, Arbitrum, Base, Polygon, Plasma | ERC-4626 fTokens even though the yield is typed as lending |
| [Gearbox](/documentation/earn/defi/lending/gearbox) | Ethereum, Arbitrum, Optimism | ERC-4626 dTokens backing Gearbox's leveraged strategies |
| [Curve](/documentation/earn/defi/lending/curve) | Ethereum, Arbitrum, Optimism | Curve's own lending vaults, distinct from Curve LP positions, which are documented under LPing |
| [Dolomite](/documentation/earn/defi/lending/dolomite) | Arbitrum, Ethereum, Base | No receipt token; position lives in Dolomite's internal account, keyed by market ID |
| [Venus](/documentation/earn/defi/lending/venus) | BNB Chain | Two provider IDs, Venus core pools and Venus Flux ERC-4626 vaults, on one page |
| [Morpho Aave](/documentation/earn/defi/lending/morpho-aave) | Ethereum | Legacy Morpho Optimizer layered over Aave; entering is disabled when the underlying pool's APY is zero |
| [Morpho Compound](/documentation/earn/defi/lending/morpho-compound) | Ethereum | Legacy Morpho Optimizer layered over Compound; same zero-APY behavior as Morpho Aave |
| [Blend](/documentation/earn/defi/lending/blend) | Stellar | Soroban lending pools; the position is reported in the underlying asset |
| [Drift](/documentation/earn/defi/lending/drift) | Solana | Per-market lending on Drift's exchange; no receipt token |
| [Kamino](/documentation/earn/defi/lending/kamino) | Solana | One provider spanning K-Lend markets (lending) and separate Kamino vaults (vault type); KMNO staking is a different yield and isn't part of DeFi coverage |

## Next steps

<Columns cols={2}>
  <Card title="Discover yields" icon="magnifying-glass" href="/documentation/earn/core-concepts/discover">
    Filter and page through the yields enabled for your project.
  </Card>

  <Card title="Action lifecycle" icon="arrows-rotate" href="/documentation/earn/core-concepts/actions">
    Build the enter and exit flow that every lending yield shares.
  </Card>

  <Card title="Lending guide" icon="book-open" href="/guides/earn/defi/lending">
    Supply to a lending market and withdraw, step by step.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.