# Crypto Yields API
> Live DeFi yield-farming APYs across the whole decentralised-finance ecosystem as an API, streamed from the DefiLlama yields feed. For thousands of liquidity pools across every chain and protocol: the current APY split into base and reward, the pool's TVL, its chain, project and token symbol, whether it is a stablecoin pool and its impermanent-loss risk. Rank the top yields with a sensible TVL floor (so dust-pool noise is filtered out), drill into any single protocol or chain, filter to stablecoin pools, or search. Built for DeFi, yield-aggregator and dashboard apps. Distinct from TVL and price APIs — this is the live yield surface. Note: very high APYs are reward-driven and transient; use a TVL floor, the stablecoin filter, or sort by TVL for durable yields.

## 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/cryptoyields-api/..."
```

## Pricing
- **Free** (Free) — 150 calls/Mo, 3 req/s
- **Degen** ($15/Mo) — 7,000 calls/Mo, 8 req/s
- **Pro** ($42/Mo) — 35,000 calls/Mo, 20 req/s
- **Fund** ($99/Mo) — 180,000 calls/Mo, 40 req/s

## Endpoints

### Yields

#### `GET /v1/chain` — Pools on a chain

**Parameters:**
- `chain` (query, required, string) — Chain Example: `Ethereum`
- `sort` (query, optional, string) — apy | tvl Example: `tvl`
- `limit` (query, optional, string) — Max 1-200 Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptoyields-api/v1/chain?chain=Ethereum&sort=tvl&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "tvl",
        "chain": "ethereum",
        "count": 25,
        "pools": [
            {
                "apy": 2.58,
                "chain": "Ethereum",
                "apy_7d": 2.45,
                "symbol": "STETH",
                "il_risk": "no",
                "pool_id": "747c1d2a-c668-4682-b9f9-296708a3dd90",
                "project": "lido",
                "tvl_usd": 14891618987,
                "apy_base": 2.58,
                "exposure": "single",
                "apy_reward": null,
                "stablecoin": false,
                "reward_tokens": 0
            },
            {
                "apy": 3.6,
                "chain": "Ethereum",
                "apy_7d": 3.63,
                "symbol": "SUSDS",
                "il_risk": "no",
                "pool_id": "d8c4eff5-c8a9-46fc-a888-057c4c668e72",
                "project": "sky-lending",
                "tvl_usd": 6205728408,
                "apy_base": 3.6,
                "exposure": "single",
                "apy_reward": null,
                "stablecoin": true,
                "reward_tokens": 0
            },
            {
                "apy": 2.45,
                "chain": "Ethereum",
                "apy_7d": 2.5,
                "symbol": "WBETH",
                "il_risk": "no",
                "pool_id": "80b8bf92-b953-4c20-98ea-c9653ef2bb98",
                "project": "binance-staked-eth",
                "tvl_usd": 5824545005,
                "apy_
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/project` — Pools for a protocol

**Parameters:**
- `project` (query, required, string) — Protocol slug Example: `aave-v3`
- `sort` (query, optional, string) — apy | tvl Example: `tvl`
- `limit` (query, optional, string) — Max 1-200 Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptoyields-api/v1/project?project=aave-v3&sort=tvl&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "tvl",
        "count": 25,
        "pools": [
            {
                "apy": 0.01,
                "chain": "Ethereum",
                "apy_7d": 0.01,
                "symbol": "WBTC",
                "il_risk": "no",
                "pool_id": "7e382157-b1bc-406d-b17b-facba43b716e",
                "project": "aave-v3",
                "tvl_usd": 1875971146,
                "apy_base": 0.01,
                "exposure": "single",
                "apy_reward": null,
                "stablecoin": false,
                "reward_tokens": 0
            },
            {
                "apy": 0,
                "chain": "Ethereum",
                "apy_7d": 0,
                "symbol": "WEETH",
                "il_risk": "no",
                "pool_id": "db678df9-3281-4bc2-a8bb-01160ffd6d48",
                "project": "aave-v3",
                "tvl_usd": 1772639827,
                "apy_base": 0,
                "exposure": "single",
                "apy_reward": null,
                "stablecoin": false,
                "reward_tokens": 0
            },
            {
                "apy": 0,
                "chain": "Ethereum",
                "apy_7d": 0,
                "symbol": "WSTETH",
                "il_risk": "no",
                "pool_id": "e6435aae-cbe9-4d26-ab2c-a4d533db9972",
                "project": "aave-v3",
                "tvl_usd": 1441786072,
                "apy_base": 0,
                "exposure": "single",
     
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search pools by symbol or project

**Parameters:**
- `q` (query, required, string) — Search term Example: `USDC`
- `limit` (query, optional, string) — Max 1-200 Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptoyields-api/v1/search?q=USDC&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "apy",
        "count": 25,
        "pools": [
            {
                "apy": 133535.61,
                "chain": "Avalanche",
                "apy_7d": 80940.18,
                "symbol": "WAVAX-USDC",
                "il_risk": "yes",
                "pool_id": "fbbd60ea-2594-4901-9314-a66dd9996de9",
                "project": "blackhole-clmm",
                "tvl_usd": 1456512,
                "apy_base": 0,
                "exposure": "multi",
                "apy_reward": 133535.61,
                "stablecoin": false,
                "reward_tokens": 1
            },
            {
                "apy": 36256.66,
                "chain": "Ethereum",
                "apy_7d": 292.06,
                "symbol": "USDC-SUSDAT",
                "il_risk": "no",
                "pool_id": "a5ed9aac-3cec-4c88-b996-94b6cc76c2fe",
                "project": "curve-dex",
                "tvl_usd": 1799223,
                "apy_base": 36256.66,
                "exposure": "multi",
                "apy_reward": 0,
                "stablecoin": true,
                "reward_tokens": 0
            },
            {
                "apy": 6837.88,
                "chain": "Base",
                "apy_7d": 8396.14,
                "symbol": "USDC-NOCK",
                "il_risk": "yes",
                "pool_id": "dd127241-0d45-4fd6-8bfb-d7a1a5b85a17",
                "project": "aerodrome-v1",
                "tvl_usd": 1290384,
                "ap
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/top` — Top yield pools

**Parameters:**
- `sort` (query, optional, string) — apy | tvl | apy_base Example: `apy`
- `min_tvl` (query, optional, string) — Minimum TVL USD (default 1000000) Example: `1000000`
- `chain` (query, optional, string) — Chain filter, e.g. Ethereum
- `stablecoin` (query, optional, string) — true | false
- `limit` (query, optional, string) — Max 1-200 Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptoyields-api/v1/top?sort=apy&min_tvl=1000000&limit=25"
```

**Response:**
```json
{
    "data": {
        "sort": "apy",
        "chain": "all",
        "count": 25,
        "pools": [
            {
                "apy": 133535.61,
                "chain": "Avalanche",
                "apy_7d": 80940.18,
                "symbol": "WAVAX-USDC",
                "il_risk": "yes",
                "pool_id": "fbbd60ea-2594-4901-9314-a66dd9996de9",
                "project": "blackhole-clmm",
                "tvl_usd": 1456512,
                "apy_base": 0,
                "exposure": "multi",
                "apy_reward": 133535.61,
                "stablecoin": false,
                "reward_tokens": 1
            },
            {
                "apy": 36256.66,
                "chain": "Ethereum",
                "apy_7d": 292.06,
                "symbol": "USDC-SUSDAT",
                "il_risk": "no",
                "pool_id": "a5ed9aac-3cec-4c88-b996-94b6cc76c2fe",
                "project": "curve-dex",
                "tvl_usd": 1799223,
                "apy_base": 36256.66,
                "exposure": "multi",
                "apy_reward": 0,
                "stablecoin": true,
                "reward_tokens": 0
            },
            {
                "apy": 6837.88,
                "chain": "Base",
                "apy_7d": 8396.14,
                "symbol": "USDC-NOCK",
                "il_risk": "yes",
                "pool_id": "dd127241-0d45-4fd6-8bfb-d7a1a5b85a17",
                "project": "aerodrome-v1",
                "tvl_usd": 1290
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sorts": [
            "apy",
            "tvl",
            "apy_base"
        ],
        "source": "DefiLlama yields (yields.llama.fi, live)",
        "service": "cryptoyields-api",
        "endpoints": {
            "GET /v1/top": "Top yield pools (sort=apy|tvl, min_tvl, chain=, project=, stablecoin=, limit).",
            "GET /v1/meta": "This document.",
            "GET /v1/chain": "Pools on a chain (chain=Ethereum, sort, limit).",
            "GET /v1/search": "Search pools by symbol or project (q=USDC).",
            "GET /v1/project": "Pools for a protocol (project=aave-v3, sort, limit)."
        },
        "pools_live": 16000,
        "chains_live": 102,
        "description": "Live DeFi yield-farming APYs from DefiLlama (yields.llama.fi): thousands of liquidity pools with current APY (base + reward), TVL, chain, project, token symbol, stablecoin flag and IL risk. Rank top yields (TVL-floored), drill into a protocol or chain, filter stablecoin pools, or search. Live, no key. Distinct from TVL and price APIs. APY defaults to a $1M TVL floor (override with min_tvl).",
        "default_min_tvl_usd": 1000000
    },
    "meta": {
        "timestamp": "2026-06-09T03:03:32.627Z",
        "request_id": "58970a6f-8dd9-43be-878f-67d9571a432d"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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