# Yearn Finance Vaults API
> Live DeFi yield-vault data from Yearn Finance — the long-running yield aggregator — served from its public yDaemon API as clean JSON, no cache. Yearn vaults auto-compound strategies to earn yield on a deposited token, each reporting its TVL, net APR (after fees) and underlying strategies. List the active vaults on a chain with TVL, net APR, category and underlying token (sorted by TVL); fetch one vault's full detail by address including its strategies; rank the highest-yielding vaults by net APR with a TVL floor to exclude dust; or list the chains Yearn runs on. Read live from Yearn, nothing cached — vaults with broken legacy price oracles or shut-down/hidden status are filtered out. This is Yearn's own vault, APR and strategy layer — distinct from on-chain explorers, DEX-pool feeds and price APIs: protocol-level yield data for the original DeFi yield aggregator.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/yearn-api/..."
```

## Pricing
- **Free** (Free) — 950 calls/Mo, 3 req/s
- **Starter** ($11/Mo) — 34,000 calls/Mo, 12 req/s
- **Pro** ($30/Mo) — 178,000 calls/Mo, 28 req/s
- **Business** ($71/Mo) — 890,000 calls/Mo, 55 req/s

## Endpoints

### Vaults

#### `GET /v1/vaults` — Active vaults on a chain with TVL, net APR, category, token

**Parameters:**
- `chain` (query, optional, string) — Chain id (1=Ethereum) Example: `1`
- `limit` (query, optional, string) — Max vaults (1-500) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yearn-api/v1/vaults?chain=1&limit=50"
```

**Response:**
```json
{
    "data": {
        "chain": "Ethereum",
        "count": 50,
        "source": "Yearn (yDaemon)",
        "vaults": [
            {
                "name": "USDC-1 yVault",
                "symbol": "yvUSDC-1",
                "address": "0xBe53A109B494E5c9f97b9Cd39Fe969BE68BF6204",
                "net_apr": 0.032118,
                "tvl_usd": 26685636.05,
                "version": "3.0.2",
                "category": "Stablecoin",
                "chain_id": 1,
                "endorsed": true,
                "net_apr_pct": 3.2118,
                "price_per_share": "1108437",
                "underlying_token": {
                    "name": "USD Coin",
                    "symbol": "USDC",
                    "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
                }
            },
            {
                "name": "WETH-1 yVault",
                "symbol": "yvWETH-1",
                "address": "0xc56413869c6CDf96496f2b1eF801fEDBdFA7dDB0",
                "net_apr": 0.012942,
                "tvl_usd": 15548245.27,
                "version": "3.0.2",
                "category": "Volatile",
                "chain_id": 1,
                "endorsed": true,
                "net_apr_pct": 1.2942,
                "price_per_share": "1048702116259469346",
                "underlying_token": {
                    "name": "Wrapped Ether",
                    "symbol": "WETH",
                    "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
   
…(truncated, see openapi.json for full schema)
```

### Vault

#### `GET /v1/vault` — One vault's full detail incl. strategies

**Parameters:**
- `address` (query, required, string) — Vault contract address Example: `0x696d02Db93291651ED510704c9b286841d506987`
- `chain` (query, optional, string) — Chain id Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yearn-api/v1/vault?address=0x696d02Db93291651ED510704c9b286841d506987&chain=1"
```

**Response:**
```json
{
    "data": {
        "name": "USD yVault",
        "chain": "Ethereum",
        "source": "Yearn (yDaemon)",
        "symbol": "yvUSD",
        "address": "0x696d02Db93291651ED510704c9b286841d506987",
        "net_apr": 0.044224,
        "tvl_usd": 11637030.3,
        "version": "3.0.4",
        "category": "Stablecoin",
        "chain_id": 1,
        "endorsed": true,
        "strategies": [
            {
                "name": "USD3 Pendle PT Maxi",
                "address": "0x4C0e4d3cB62B91afBbf1Fe8e830f98A513c7234b",
                "tvl_usd": null
            },
            {
                "name": "Infinifi sIUSD Morpho Looper",
                "address": "0x5f9DBa2805411a8382FDb4E69d4f2Da8EFaF1F89",
                "tvl_usd": null
            },
            {
                "name": "Morpho V2 Sentora PYUSD Convertor",
                "address": "0x3D2467Cbf82332dbFb38997cBc4D2192694D9490",
                "tvl_usd": null
            },
            {
                "name": "Katana yvUSDC Compounder",
                "address": "0xc5b16E7eFe1CA05714477b8edcAb4deE9b93a27C",
                "tvl_usd": null
            },
            {
                "name": "Base Yearn Morpho OG USDC",
                "address": "0x908244B6ef0e52911a380a5454aEC0743598Fb20",
                "tvl_usd": null
            },
            {
                "name": "Arbitrum syrupUSDC/USDC Morpho Looper",
                "address": "0x2F56D106C6Df739bdbb777C2feE79FFaED88D179",
          
…(truncated, see openapi.json for full schema)
```

### Top

#### `GET /v1/top` — Highest-yielding vaults by net APR with a TVL floor

**Parameters:**
- `chain` (query, optional, string) — Chain id Example: `1`
- `limit` (query, optional, string) — Max vaults (1-50) Example: `10`
- `min_tvl` (query, optional, string) — Minimum TVL in USD Example: `50000`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yearn-api/v1/top?chain=1&limit=10&min_tvl=50000"
```

**Response:**
```json
{
    "data": {
        "chain": "Ethereum",
        "count": 10,
        "source": "Yearn (yDaemon)",
        "vaults": [
            {
                "name": "yYB yVault",
                "symbol": "yvyYB",
                "address": "0x1F6f16945e395593d8050d6Cc33e4328a515B648",
                "net_apr": 0.139018,
                "tvl_usd": 190735.27,
                "version": "3.0.4",
                "category": "Volatile",
                "chain_id": 1,
                "endorsed": true,
                "net_apr_pct": 13.9018,
                "price_per_share": "1313081644508863125",
                "underlying_token": {
                    "name": "Yearn YB Token",
                    "symbol": "yYB",
                    "address": "0x22222222aEA0076fCA927a3f44dc0B4FdF9479D6"
                }
            },
            {
                "name": "Curve msETH Factory yVault",
                "symbol": "yvCurve-msETH-f",
                "address": "0xAD2f9A55518Dba12E8AB069502820923351667C5",
                "net_apr": 0.130687,
                "tvl_usd": 377106.35,
                "version": "0.4.6",
                "category": "Curve",
                "chain_id": 1,
                "endorsed": true,
                "net_apr_pct": 13.0687,
                "price_per_share": "1426271919890604554",
                "underlying_token": {
                    "name": "Curve.finance Factory Plain Pool: msETH/WETH",
                    "symbol": "msETHWETH-f",
                 
…(truncated, see openapi.json for full schema)
```

### Chains

#### `GET /v1/chains` — Chains Yearn runs on

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yearn-api/v1/chains"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "chains": [
            {
                "name": "Ethereum",
                "chain_id": 1
            },
            {
                "name": "Optimism",
                "chain_id": 10
            },
            {
                "name": "Gnosis",
                "chain_id": 100
            },
            {
                "name": "Polygon",
                "chain_id": 137
            },
            {
                "name": "Sonic",
                "chain_id": 146
            },
            {
                "name": "Fantom",
                "chain_id": 250
            },
            {
                "name": "Base",
                "chain_id": 8453
            },
            {
                "name": "Arbitrum",
                "chain_id": 42161
            }
        ],
        "source": "Yearn (yDaemon)"
    },
    "meta": {
        "timestamp": "2026-06-10T22:58:15.907Z",
        "request_id": "4c67b01e-5ddb-4181-9ac5-633f55e8ba89"
    },
    "status": "ok",
    "message": "Chains retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yearn-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "TVL/price in USD; net_apr is a fraction (0.05 = 5%); vaults with broken legacy price oracles (TVL > $50B) and shut-down/hidden vaults are filtered out.",
        "source": "Yearn yDaemon API (ydaemon.yearn.fi, live)",
        "service": "yearn-api",
        "endpoints": {
            "GET /v1/top": "Highest-yielding vaults by net APR with a TVL floor (chain=1, limit=10, min_tvl=50000).",
            "GET /v1/meta": "This document.",
            "GET /v1/vault": "One vault's full detail incl. strategies (chain=1, address=0x...).",
            "GET /v1/chains": "Chains Yearn runs on.",
            "GET /v1/vaults": "Active vaults on a chain with TVL, net APR, category, token (chain=1, limit=50)."
        },
        "description": "Live DeFi yield-vault data from Yearn Finance, the long-running yield aggregator, via its public yDaemon API. Yearn vaults auto-compound strategies to earn yield on a deposited token, reporting TVL, net APR (after fees) and underlying strategies. The vaults endpoint returns the active vaults on a chain with TVL, net APR, category and underlying token, sorted by TVL; the vault endpoint returns one vault's full detail (including strategies) by address; the top endpoint ranks the highest-yielding vaults by net APR with a TVL floor; the chains endpoint lists the chains Yearn runs on. Live, no key, nothing stored. Distinct from on-chain explorers, DEX-pool feeds and price APIs — this is Yearn's own vault, APR and strategy
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/yearn-api
OpenAPI spec: https://www.oanor.com/api/yearn-api/openapi.json
