defi_yields
Pack: defillama · Endpoint: https://gateway.pipeworx.io/defillama/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/defi_yields for the schema, then POST the same URL with its arguments for the data.
Find yield opportunities across DeFi pools filtered by project name, minimum TVL, or minimum APY. Returns APY, TVL, and project details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
search | string | no | Filter by project name (case-insensitive substring match) |
min_tvl | number | no | Minimum TVL in USD (e.g., 1000000 for $1M) |
min_apy | number | no | Minimum APY percentage (e.g., 5 for 5%) |
Example call
Arguments
{
"search": "curve"
}
curl
curl -X POST https://gateway.pipeworx.io/defillama/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"defi_yields","arguments":{"search":"curve"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('defi_yields', {
"search": "curve"
});
More examples
{
"min_tvl": 1000000,
"min_apy": 5
}
Response shape
Always returns: total_matched, showing, pools
| Field | Type | Description |
|---|---|---|
total_matched | integer | Total pools matching filters |
showing | integer | Number of pools returned (max 50) |
pools | array |
Full JSON Schema
{
"type": "object",
"properties": {
"total_matched": {
"type": "integer",
"description": "Total pools matching filters"
},
"showing": {
"type": "integer",
"description": "Number of pools returned (max 50)"
},
"pools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pool_id": {
"type": "string",
"description": "Unique pool identifier"
},
"project": {
"type": "string",
"description": "Project/protocol name"
},
"chain": {
"type": "string",
"description": "Blockchain where pool is deployed"
},
"symbol": {
"type": "string",
"description": "Pool token symbol"
},
"tvl_usd": {
"type": "number",
"description": "Total value locked in USD"
},
"apy": {
"type": "number",
"description": "Annual percentage yield"
},
"apy_base": {
"type": [
"number",
"null"
],
"description": "Base APY from swap fees"
},
"apy_reward": {
"type": [
"number",
"null"
],
"description": "Additional reward APY"
},
"stablecoin": {
"type": "boolean",
"description": "Whether pool is stablecoin pair"
},
"il_risk": {
"type": [
"string",
"null"
],
"description": "Impermanent loss risk level"
},
"exposure": {
"type": [
"string",
"null"
],
"description": "Pool exposure type"
}
},
"required": [
"pool_id",
"project",
"chain",
"symbol",
"tvl_usd",
"apy"
]
}
}
},
"required": [
"total_matched",
"showing",
"pools"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"defillama": {
"url": "https://gateway.pipeworx.io/defillama/mcp"
}
}
}
See Getting Started for client-specific install steps.