Best DeFi yields for a token and chain, ranked by risk-adjusted APY (sustainable
Best DeFi yields for a token and chain, ranked by risk-adjusted APY (sustainable APY, discounted for risk): APY (base vs rewards), TVL, 30-day average, impermanent-loss risk, audits and past hacks of the protocol, with a 0-100 risk score and plain risk notes per pool. E.g. ?token=USDC&chain=base&minTvlUsd=1000000. Filters: project, stablecoinOnly, noImpermanentLoss, sort.
Answeringour last check, 2026-09-28
1 of 1checks answered this week
19 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://aayatai.com/defi/yields
| Category | Market data |
|---|---|
| Provider host | aayatai.com |
| Networks | eip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-28 | valid payment request | 402 | $0.01 | 19 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"chain": "base",
"limit": 10,
"minTvlUsd": 1000000,
"sort": "risk-adjusted",
"token": "USDC"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"chain": {
"default": "all",
"description": "Blockchain: all, base, solana, ethereum, bsc, arbitrum, polygon, optimism, avalanche.",
"enum": [
"all",
"base",
"solana",
"ethereum",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avalanche"
],
"type": "string"
},
"limit": {
"default": 10,
"description": "Pools to return.",
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"minTvlUsd": {
"default": 1000000,
"description": "Minimum pool TVL in USD.",
"maximum": 100000000000,
"minimum": 10000,
"type": "number"
},
"noImpermanentLoss": {
"default": false,
"description": "Only pools without impermanent-loss risk.",
"type": "boolean"
},
"project": {
"description": "DefiLlama project slug, e.g. aave-v3, morpho-blue (optional).",
"maxLength": 60,
"type": "string"
},
"sort": {
"default": "risk-adjusted",
"description": "Ranking.",
"enum": [
"risk-adjusted",
"apy",
"tvl"
],
"type": "string"
},
"stablecoinOnly": {
"default": false,
"description": "Only stablecoin pools.",
"type": "boolean"
},
"token": {
"description": "Token symbol in the pool, e.g. USDC, ETH, SOL (optional).",
"maxLength": 20,
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"checkedAt": {
"type": "string"
},
"disclaimer": {
"type": "string"
},
"filters": {
"type": "object"
},
"matched": {
"description": "Pools that met the filters before the limit.",
"type": "integer"
},
"pools": {
"items": {
"properties": {
"apy": {
"type": [
"number",
"null"
]
},
"apyBase": {
"type": [
"number",
"null"
]
},
"apyMean30d": {
"type": [
"number",
"null"
]
},
"apyReward": {
"type": [
"number",
"null"
]
},
"audits": {
"type": [
"number",
"null"
]
},
"chain": {
"type": "string"
},
"ilRisk": {
"type": [
"string",
"null"
]
},
"lastHack": {
"type": [
"object",
"null"
]
},
"pool": {
"type": "string"
},
"project": {
"type": "string"
},
"protocol": {
"type": "string"
},
"risk": {
"description": "score 0-100 (higher is riskier), level, notes.",
"type": "object"
},
"riskAdjustedApy": {
"description": "Ranking APY: lower of today and 30-day average, capped at 50%, discounted by risk.",
"type": "number"
},
"stablecoin": {
"type": "boolean"
},
"symbol": {
"type": "string"
},
"tvlUsd": {
"type": "number"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
}
},
"required": [
"matched",
"pools"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}