Morpho Get Best APY
Get the best vault APY for a token on Morpho Blue protocol. Only returns Morpho-curated vaults (excludes unlisted/test vaults). Requires a token contract address. Omit chainId to search all supported chains at once. Supports minApyPercent and limit filters for targeted vault discovery. Supports Ethereum (1), Optimism (10), Polygon (137), Base (8453), Arbitrum (42161). Ideal for: yield optimization, vault discovery, APY comparison, DeFi strategy selection, cross-chain yield alerts.
Catalog action Blockchain Data
Get the best vault APY for a token on Morpho Blue protocol. Only returns Morpho-curated vaults (excludes unlisted/test vaults). Requires a token contract address. Omit chainId to search all supported chains at once. Supports minApyPercent and limit filters for targeted vault discovery. Supports Ethereum (1), Optimism (10), Polygon (137), Base (8453), Arbitrum (42161). Ideal for: yield optimization, vault discovery, APY comparison, DeFi strategy selection, cross-chain yield alerts.
At a Glance
| Field | Value |
|---|---|
| Action ID | morpho-get-best-apy |
| Category | Blockchain Data |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | morpho, defi, yield, vault, erc4626, lending, read |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
tokenAddress | string | Yes | The ERC20 token contract address to find the best vault APY for. |
chainId | number | No | Chain ID. Supported: Ethereum (1), Optimism (10), Polygon (137), Base (8453), Arbitrum (42161). Optional — omit to search all supported chains. |
minTvlUsd | number | No | Minimum vault TVL in USD to filter out small/test vaults. Defaults to 10000. Pass 0 to include all vaults. |
minApyPercent | number | No | Minimum net APY as a percentage (e.g., 5 = 5%). Vaults below this threshold are excluded. |
limit | number | No | Maximum number of vaults to return (1–20). Defaults to 5. |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
tokenAddress | string | Yes | The queried token contract address. |
tokenSymbol | string | Yes | The token symbol |
chainId | number | Yes | The chain ID queried (or the best vault's chain when searching all chains) |
bestVault | object | Yes | The vault with the highest net APY |
allVaults | array | Yes | All vaults for this token sorted by net APY descending |
chainsQueried | array | Yes | Chain IDs that were searched |
Examples
json{ "type": "morpho-get-best-apy", "payload": { "tokenAddress": "0x0000000000000000000000000000000000000000" }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/morpho-get-best-apy/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "tokenAddress": "0x0000000000000000000000000000000000000000" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
