# DeFi Yield Farming API
> The best liquidity-pool, staking and vault yields across DeFi, with the risk profile that decides whether a headline APY is actually worth farming — live from DeFiLlama, no key. A pool can advertise 40% APY, but if it is a volatile two-token liquidity position the impermanent loss can eat the yield, and if the rate spiked yesterday it may be gone tomorrow. This API is the yield-farming screener: for every non-lending pool (DEX liquidity, staking, vaults, farms) it returns the current APY split into base and reward, the 30-day average APY, a sustained APY (the lower of the two, so a pool only scores high if it yields well both now and on average), the impermanent-loss risk and exposure (single-asset or multi-token), whether it is a stablecoin pool, the TVL and daily trading volume, and DeFiLlama's own forward prediction of whether the APY will hold, rise or fall. The pools endpoint is the full screener, filterable by project, chain, asset, stablecoin-only, exposure, IL-risk and minimum size, sorted by current or 30-day or sustained APY, TVL or volume. The best endpoint answers the question directly — the highest-yielding farms ranked by the sustained APY so the answer is real and farmable, not a one-day spike; add stablecoin=true or exposure=single for lower-risk yield. The project endpoint summarises one protocol's pools (Uniswap, Curve, Pendle, Convex). The LP / staking / vault yield-farming cut — distinct from the on-chain money-market lending-rate API (supply and borrow rates, which this one excludes entirely), from the TVL analytics APIs, and from price feeds. Ranking surfaces exclude DeFiLlama-flagged outlier pools so the best yield is one you could actually farm.

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

## Pricing
- **Free** (Free) — 870 calls/Mo, 2 req/s
- **Starter** ($11/Mo) — 19,900 calls/Mo, 6 req/s
- **Pro** ($33/Mo) — 98,500 calls/Mo, 16 req/s
- **Business** ($75/Mo) — 536,000 calls/Mo, 40 req/s

## Endpoints

### Best

#### `GET /v1/best` — Highest-yielding farms ranked by sustained APY

**Parameters:**
- `stablecoin` (query, optional, string) — Stablecoin pools only (lower risk) Example: `true`
- `exposure` (query, optional, string) — single | multi Example: `single`
- `il_risk` (query, optional, string) — Impermanent-loss risk: yes | no Example: `no`
- `chain` (query, optional, string) — Filter by chain Example: `Ethereum`
- `limit` (query, optional, string) — Max results (1-100) Example: `15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yieldfarming-api/v1/best?stablecoin=true&exposure=single&il_risk=no&chain=Ethereum&limit=15"
```

**Response:**
```json
{
    "data": {
        "best": [
            {
                "apy": 28.2781,
                "chain": "Ethereum",
                "symbol": "APYUSD",
                "il_risk": "no",
                "outlier": false,
                "pool_id": "4f0c0906-629c-4c18-9476-ebf0f628bc2b",
                "project": "pendle",
                "tvl_usd": 1072913,
                "apy_base": 19.0264,
                "exposure": "single",
                "pool_meta": "For LP | Maturity 27AUG2026",
                "apy_reward": 9.2518,
                "prediction": {
                    "outlook": "Down",
                    "confidence": 3,
                    "probability_pct": 87
                },
                "stablecoin": true,
                "apy_mean_30d": 25.8794,
                "apy_change_7d": -10.9377,
                "reward_tokens": 1,
                "sustained_apy": 25.8794,
                "volume_usd_1d": 40533,
                "apy_change_30d": null
            },
            {
                "apy": 34.2357,
                "chain": "Ethereum",
                "symbol": "APYUSD",
                "il_risk": "no",
                "outlier": false,
                "pool_id": "9941f941-9574-41af-b001-6c9465b0b5e6",
                "project": "pendle",
                "tvl_usd": 8925466,
                "apy_base": 34.2357,
                "exposure": "single",
                "pool_meta": "For buying PT-apyUSD-18JUN2026",
                "apy_reward": null,
      
…(truncated, see openapi.json for full schema)
```

### Pools

#### `GET /v1/pools` — Yield-farming screener across non-lending pools

**Parameters:**
- `asset` (query, optional, string) — Filter by asset symbol Example: `USDC`
- `project` (query, optional, string) — Filter by protocol Example: `uniswap-v3`
- `chain` (query, optional, string) — Filter by chain Example: `Ethereum`
- `stablecoin` (query, optional, string) — Stablecoins only Example: `true`
- `exposure` (query, optional, string) — single | multi Example: `multi`
- `sort` (query, optional, string) — apy | apy_mean_30d | sustained | tvl | volume Example: `sustained`
- `limit` (query, optional, string) — Page size (1-300) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yieldfarming-api/v1/pools?asset=USDC&project=uniswap-v3&chain=Ethereum&stablecoin=true&exposure=multi&sort=sustained&limit=50"
```

**Response:**
```json
{
    "data": {
        "note": "Non-lending DeFi pools (DEX liquidity, staking, vaults, farms) with current APY (base+reward), the 30-day average APY (smoothed), impermanent-loss risk, exposure (single/multi), TVL, daily volume and DeFiLlama's APY outlook. Filter by project, chain, asset, stablecoin, exposure, il_risk, min_tvl; sort by apy (default), apy_mean_30d, tvl or volume. Outlier pools excluded by default (include_outliers=true). Money-market lending reserves are excluded — see the lending-rates API. Live, lightly cached.",
        "sort": "sustained",
        "count": 30,
        "limit": 50,
        "pools": [
            {
                "apy": 17.296,
                "chain": "Ethereum",
                "symbol": "MSUSD-USDC",
                "il_risk": "no",
                "outlier": false,
                "pool_id": "72218360-822f-4c39-9dff-30fcadf325a8",
                "project": "uniswap-v3",
                "tvl_usd": 820448,
                "apy_base": 1.4128,
                "exposure": "multi",
                "pool_meta": "0.01%",
                "apy_reward": 15.8832,
                "prediction": {
                    "outlook": "Stable/Up",
                    "confidence": 3,
                    "probability_pct": 81
                },
                "stablecoin": true,
                "apy_mean_30d": 13.6083,
                "apy_change_7d": 6.0084,
                "reward_tokens": 1,
                "sustained_apy": 13.6083,
                "v
…(truncated, see openapi.json for full schema)
```

### Project

#### `GET /v1/project` — One protocol's pools summarised

**Parameters:**
- `project` (query, required, string) — Protocol slug Example: `pendle`
- `limit` (query, optional, string) — Pools to include (1-200) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/yieldfarming-api/v1/project?project=pendle&limit=25"
```

**Response:**
```json
{
    "data": {
        "note": "All of one protocol's non-lending pools with the spread of their 30-day APYs and the top pools by sustained yield. Lightly cached.",
        "pools": [
            {
                "apy": 21.5821,
                "chain": "Ethereum",
                "symbol": "WOUSD",
                "il_risk": "no",
                "outlier": false,
                "pool_id": "3a0bfe11-ab8a-4112-8916-5185dfd69883",
                "project": "pendle",
                "tvl_usd": 1511198,
                "apy_base": 21.5821,
                "exposure": "single",
                "pool_meta": "For LP | Maturity 17DEC2026",
                "apy_reward": null,
                "prediction": {
                    "outlook": "Down",
                    "confidence": 2,
                    "probability_pct": 64
                },
                "stablecoin": true,
                "apy_mean_30d": 30.7638,
                "apy_change_7d": -20.9193,
                "reward_tokens": 0,
                "sustained_apy": 21.5821,
                "volume_usd_1d": 1999,
                "apy_change_30d": null
            },
            {
                "apy": 28.8555,
                "chain": "Hyperliquid L1",
                "symbol": "AVLT",
                "il_risk": "no",
                "outlier": false,
                "pool_id": "8cebcae6-4258-4d91-87c7-3de9466c0bea",
                "project": "pendle",
                "tvl_usd": 5297602,
                "apy_base": 2
…(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/yieldfarming-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "pools takes asset, project, chain, stablecoin, exposure (single|multi), il_risk (yes|no), min_tvl, sort (apy|apy_mean_30d|sustained|tvl|volume), include_outliers, limit (1-300), offset. best takes the same filters + limit (ranked by 30-day APY, min_tvl default 1,000,000). project takes project (required slug), min_tvl, limit. meta takes no parameters. APYs are in percent. Spot apy can spike; apy_mean_30d is the honest smoothed figure. A 10-minute protective cache fronts the shared DeFiLlama upstream.",
        "source": "DeFiLlama yields API (yields.llama.fi/pools, non-lending), live, keyless",
        "service": "yieldfarming-api",
        "endpoints": {
            "GET /v1/best": "Highest-yielding farms ranked by sustained 30-day APY (stablecoin=true for lower risk).",
            "GET /v1/meta": "This document.",
            "GET /v1/pools": "Yield-farming screener across non-lending pools (filter + sort).",
            "GET /v1/project": "One protocol's pools summarised (project=uniswap-v3)."
        },
        "description": "DeFi yield farming — the best liquidity-pool, staking and vault yields across DeFi with the risk profile that decides if an APY is worth farming, live from DeFiLlama (no key). pools is the full screener (current + 30-day APY, impermanent-loss risk, exposure, stablecoin, TVL, volume, APY outlook), filterable by project/chain/asset/stablecoin/exposure/il_risk/min_tvl; best returns the highest-yielding farms ranked b
…(truncated, see openapi.json for full schema)
```


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