> ## Content Index
> Fetch the complete content index at: https://blog.vaults.fyi/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to get DeFi yield benchmarks
- URL: https://blog.vaults.fyi/how-to-get-defi-yield-benchmarks/
- Published: 2026-05-08T16:19:11.000Z
- Updated: 2026-05-08T22:06:35.000Z
- Author: vaults.fyi
- Tags: MCP, Engineering

Benchmark rates tell you what the average yield environment looks like for stablecoins (USD) or ETH on a given chain. They're the baseline you compare individual vaults against, and the input you'd hand to an agent making a "should I rotate?" decision.

## What's benchmarked

A benchmark represents the TVL-weighted average APY across the five largest vaults in a given denomination and network, each with at least $1M in TVL.

Vaults.fyi publishes separate **USD** and **ETH** benchmarks for Ethereum mainnet and every supported L2:

- **USD benchmark:** a weighted-average yield across the largest stablecoin yield markets on a given network.
- **ETH benchmark:** the equivalent for ETH yield, spanning the largest LSTs and lending markets.
- Both are computed daily, with 1-day, 7-day, and 30-day rolling averages

Fine more detail on our methodology [here](https://docs.vaults.fyi/methodology/benchmark-rates?ref=blog.vaults.fyi). Coverage spans Ethereum mainnet, Base, Arbitrum, Optimism, Polygon, and other [supported networks](https://docs.vaults.fyi/concepts/supported-protocols?ref=blog.vaults.fyi#supported-networks).

## Where to get benchmark data

- If you just want to see benchmark rates, the analytics page at [app.vaults.fyi/analytics](https://app.vaults.fyi/analytics?ref=blog.vaults.fyi) has them charted out for every supported network.
- If you want to do further analysis, build benchmark rates into your own product, or feed them into an agent, the API and MCP server expose the same data programmatically. Here's how to pull them.

### Using the API

Let's run through an example, showing how to get USD benchmark data on Ethereum (mainnet).

First, we can get the current benchmark values:

```bash
curl -H "x-api-key: $VAULTS_API_KEY" \
  "https://api.vaults.fyi/v2/benchmarks/mainnet?code=usd"

```

Response:

```json
{
  "apy": {
    "1day":  { "base": 0.0346, "reward": 0, "total": 0.0346 },
    "7day":  { "base": 0.0354, "reward": 0, "total": 0.0354 },
    "30day": { "base": 0.0396, "reward": 0, "total": 0.0396 }
  },
  "timestamp": 1778198400
}

```

If we want to show historical rates, we can get benchmarks with a date range:

```bash
curl -H "x-api-key: $VAULTS_API_KEY" \
  "https://api.vaults.fyi/v2/historical-benchmarks/mainnet?code=usd&fromTimestamp=1771142400&toTimestamp=1778630400&perPage=500"

```

Example: Get USD benchmark rates on mainnet

![USD 30-day benchmark APY, last 90 days, mainnet vs base](https://storage.ghost.io/c/80/1e/801e59ba-aea3-41d2-aff6-47dda0ee853e/content/images/2026/05/usd-benchmark-90d.png)

USD benchmark, 30-day APY, mainnet vs base, last 90 days. One curl call and ten lines of matplotlib.

The response is a `data` array of the same per-day shape. Use `fromTimestamp` and `toTimestamp` (Unix seconds) to scope the window; `perPage` goes up to 500.

Swap `mainnet` for `base`, `arbitrum`, `optimism`, etc. to get other networks. Swap **`usd`** for **`eth`** to get the ETH benchmark.

## Using the MCP server

If you'd rather query benchmarks from a chat interface (Claude Desktop, Cursor, your own agent), the same data is available via vaults.fyi's MCP server. 

We do one quick configuration, then ask in natural language. Follow the our quickstart guide, outlined below.

[MCP Server: Onchain Yield Tools for Claude, Cursor, and Any MCP Client - Vaults.fyiConnect Claude Desktop, Claude Code, Cursor, and any streamable-HTTP MCP client to the full Vaults.fyi data and transaction surface — discovery, history, recommendations, position tracking, and onchain transaction building.![](https://static.ghost.org/v5.0.0/images/link-icon.svg)Vaults.fyi![](https://vaultsfyi.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DAI%2B%2526%2BAgents%26appearance%3Dsystem%26title%3DMCP%2BServer%253A%2BOnchain%2BYield%2BTools%2Bfor%2BClaude%252C%2BCursor%252C%2Band%2BAny%2BMCP%2BClient%26description%3DConnect%2BClaude%2BDesktop%252C%2BClaude%2BCode%252C%2BCursor%252C%2Band%2Bany%2Bstreamable-HTTP%2BMCP%2Bclient%2Bto%2Bthe%2Bfull%2BVaults.fyi%2Bdata%2Band%2Btransaction%2Bsurface%2B%25E2%2580%2594%2Bdiscovery%252C%2Bhistory%252C%2Brecomm%26logoLight%3Dhttps%253A%252F%252Fmintcdn.com%252Fvaultsfyi%252Fe2nu_rHbR1M8lgfT%252Fimages%252FLogo-384px-black.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253De2nu_rHbR1M8lgfT%2526q%253D85%2526s%253Dad6b6e6796d582b64af53e9100b8b169%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Fvaultsfyi%252Fe2nu_rHbR1M8lgfT%252Fimages%252FLogo-384px-white.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253De2nu_rHbR1M8lgfT%2526q%253D85%2526s%253D83209def8b210124b3bf53b5ccc42449%26primaryColor%3D%252318abff%26lightColor%3D%252396caff%26darkColor%3D%2523187ee8%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%25230c0d10&w=1200&q=100)](https://docs.vaults.fyi/ai-agents/mcp-server?ref=blog.vaults.fyi)

1) Claude Desktop config (**\~/Library/Application Support/Claude/claude\_desktop\_config.json** on macOS):

```json
{
  "mcpServers": {
    "vaultsfyi": {
      "url": "https://mcp.vaults.fyi/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_VAULTS_API_KEY"
      }
    }
  }
}

```

You'll then need to restart your Claude session after configuration.

2) You can ask things like:

> *chart the USD benchmark 30d APY for Ethereum mainnet since Feb 1 2026* 

![](https://storage.ghost.io/c/80/1e/801e59ba-aea3-41d2-aff6-47dda0ee853e/content/images/2026/05/image-1.png)

USD benchmark rates analysis on Claude Desktop via vaults.fyi MCP

The same works for current rates, or for ETH rates, across the 20+ networks we cover. Try "Pull 30d ETH benchmark rates for Arbitrum, covering the last 180 days." The MCP returns the same `apy.{1day, 7day, 30day}` structure as the API, so agents can read it directly without any field translation.

## What to do with it

A few practical applications:

- **Rebalance threshold:** only move funds when your candidate vault beats the network benchmark by N basis points (after gas)
- **Honest performance tracking:** "up 4.0% APY" is meaningless if the benchmark is 4.0%. Track your portfolio's effective yield against the benchmark and surface underperformance.
- **Agent decision input:** pass the current and 30-day benchmark into a yield-rotation agent's context so it has a sense of what counts as "above average" today
- **Strategy backtesting:** combine `historical-benchmarks` with `vault_apy_history` to compute alpha vs. the benchmark for a given vault over time

Have fun building. 

Reach out to us [@vaultsfyi](https://x.com/vaultsfyi/?ref=blog.vaults.fyi) on X if you have any questions or feedback.