YieldDto, returned by GET /v1/yields/{yieldId} (or in the list from GET /v1/yields). It carries everything you need to render the opportunity, validate input, and drive an action, grouped below by what each group is for. For the exact schema, see the API reference.
Identity
Tokens
Reward rate
rewardRate is the yield’s current estimated return, not its history. It has:
total: the estimated rate across all sources, which can include a campaign component when one applies to your project (see Incentive Campaigns)rateType:APRorAPY. APR is the simple annualized rate; APY compounds it. For most yields the type follows the mechanics: vault, lending, and real-world-asset yields reportAPY; other types reportAPYwhen rewards compound automatically andAPRwhen they need a manual claim. ReadrateTyperather than assuming itcomponents[]: the breakdown behindtotal, each with its ownrate,rateType,token,yieldSource, and an optionaldescription
yieldSource is one of: staking, liquid_staking, restaking, protocol_incentive, campaign_incentive, points, lending, mev, real_world_asset_yield, vault.
For historical APY and TVL, see Rewards and history.
Statistics and risk
statistics is a current snapshot, not a time series: tvlUsd, tvl (in the underlying token), tvlRaw, uniqueUsers, averagePositionSizeUsd, and averagePositionSize. Some fields are null when the yield isn’t ERC-4626 or indexing hasn’t run yet.
risk.ratings[] lists top-level provider risk grades by source (credora, stakingRewards) when available. It’s a summary; the full report comes from GET /v1/yields/{yieldId}/risk.
Mechanics
mechanics is the operational contract: what the yield requires and how it behaves.
Argument schemas
mechanics.arguments defines what each action on this yield needs, before you call it: enter and exit are each one ArgumentSchemaDto; manage is a map of one ArgumentSchemaDto per supported action type (CLAIM_REWARDS, CLAIM_UNSTAKED, and others); balance covers extra fields the balances call needs, such as alternative addresses.
Each ArgumentSchemaDto is a list of fields:
name is one of a fixed set of argument names (amount, validatorAddress, duration, and others); type is string, number, address, enum, or boolean; optionsRef points to the endpoint that lists the valid choices, such as a yield’s validators (GET /v1/yields/{yieldId}/validators). Read this schema before calling actions instead of hardcoding fields per protocol.
Status and lifecycle
Live state
state carries dynamic, protocol-level values, present only where they apply to the yield’s type:
Fund schedules and execution contracts
Two fields apply mainly to RWA and custody-constrained integrations:investmentSchedule: present on fund-style RWA yields. Defines subscription and redemption windows, cadence, settlement, and accrual timing per side, layered on top ofcooldownPeriodandstatusexecutionContracts: the on-chain contract addresses transactions for this yield may target (tx.to), used by custody providers that whitelist execution destinations
Next steps
Discover yields
Filter and page through the yields enabled for your project.
Actions
Use the argument schemas to build enter, exit, and manage flows.

