{"openapi":"3.1.0","info":{"title":"Yield.xyz MCP","version":"1.0.0","description":"DeFi yield discovery & execution across 80+ networks. Free read tools (yields, risk, validators, networks, providers, action/transaction status) and paid tools for wallet balances + unsigned enter/exit/manage transactions. Pays in USDC on Base, or USDG/USDT0/USDC on X Layer.","x-guidance":"Start with yields_get_all to discover yields and their IDs; inspect a yield with yields_get, yields_get_risk, or yields_get_validators; list chains/protocols via networks_get_all and providers_get_all. Get a wallet's live positions and claimable actions with yields_get_balances. Build unsigned transactions (you sign & broadcast) with actions_enter (stake/deposit), actions_exit (unstake/withdraw), and actions_manage (claim/restake/complete); track them with actions_get and get_transaction. Read tools are free; wallet-specific and execution tools are paid per call in USDC on Base, or USDG/USDT0/USDC on X Layer.","contact":{"name":"Yield.xyz","email":"support@yield.xyz","url":"https://yield.xyz"},"termsOfService":"https://docs.yield.xyz/docs/terms-of-use","x-logo":{"url":"https://assets.stakek.it/stakekit/sk-icon_320x320.png","altText":"Yield.xyz"}},"externalDocs":{"description":"Yield.xyz documentation","url":"https://docs.yield.xyz"},"servers":[{"url":"https://mcp.yield.xyz"}],"paths":{"/x402/yields_get_balances":{"post":{"operationId":"yields_get_balances","summary":"Get live DeFi yield balances and pending actions for any wallet — active staking, lending, vault, and RWA positions with accrued rewards, USD values, current APY, and claimable actions. Covers 3,300+ yields (Lido, Aave, Morpho, tokenized treasuries) across 80+ networks. Call before actions_exit or actions_manage.","tags":["defi portfolio","wallet balances","staking rewards","yield positions","apy"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"Wallet address to query (EVM 0x…, Solana base58, or Cosmos bech32)"},"network":{"type":"string","description":"Network slug, e.g. \"ethereum\", \"base\", \"arbitrum\", \"solana\""},"yieldIds":{"type":"array","items":{"type":"string"},"description":"Optional: limit the lookup to specific yield IDs, e.g. [\"base-usdc-aave-v3-lending\"]. Omit to scan all yields on the network."}},"required":["address","network"]},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","network":"base"}}}},"responses":{"200":{"description":"Object with an items array of yield positions (amounts, USD values, reward rates, and claimable pendingActions — feed those into actions_manage) plus an errors array for yields that failed to resolve.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; balance entries vary by yield type and may carry additional fields — e.g. validator data on staking yields, share tokens on vaults, KYC/eligibility data on RWA yields (this schema is intentionally non-exhaustive).","properties":{"items":{"type":"array","items":{"type":"object","properties":{"yieldId":{"type":"string"},"balances":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"type":{"type":"string","description":"e.g. \"active\", \"rewards\", \"unstaking\""},"amount":{"type":"string"},"amountUsd":{"type":["string","null"]},"isEarning":{"type":"boolean"},"token":{"type":"object","description":"Token metadata: symbol, name, decimals, network, address"},"pendingActions":{"type":"array","description":"Claimable actions — pass type and passthrough to actions_manage","items":{"type":"object","properties":{"intent":{"type":"string"},"type":{"type":"string"},"passthrough":{"type":"string"}}}}}}}}}},"errors":{"type":"array","items":{"type":"object","properties":{"yieldId":{"type":"string"},"error":{"type":"string"}}}}}},"example":{"items":[{"yieldId":"base-usdc-dinari-usd-plus-vault","balances":[{"address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","type":"active","amount":"0.300521","amountUsd":"0.300435","isEarning":true,"token":{"symbol":"USDC","name":"USD Coin","decimals":6,"network":"base"},"pendingActions":[{"intent":"manage","type":"UNSTAKE","passthrough":"eyJhZGRy…"}]}]}],"errors":[]}}}},"402":{"description":"Payment Required"}}}},"/x402/actions_enter":{"post":{"operationId":"actions_enter","summary":"Build unsigned transactions to enter any DeFi yield — native/liquid staking (ETH, SOL, ATOM), stablecoin lending (USDC/USDT on Aave, Morpho), ERC-4626 vaults, and tokenized RWAs across 80+ networks. Does NOT execute: the caller signs and broadcasts each tx, so keys never leave the caller. Find yield IDs via yields_get_all.","tags":["defi staking","stablecoin yield","lending","vault deposit","unsigned transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID from yields_get_all, e.g. \"ethereum-eth-lido-staking\""},"address":{"type":"string","description":"Wallet address that will own the position and sign the transactions"},"amount":{"type":"string","description":"Human-readable token amount to deposit, e.g. \"1.5\" (never raw wei)"},"validatorAddress":{"type":"string","description":"Validator to delegate to, for delegation-based staking yields. Get options from yields_get_validators."}},"required":["yieldId","address","amount"]},"example":{"yieldId":"ethereum-eth-lido-staking","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":"0.1"}}}},"responses":{"200":{"description":"Action with an ordered array of unsigned transactions (e.g. APPROVAL then SUPPLY) — sign and broadcast each, then report hashes via submit_hash.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; responses may carry additional yield-specific fields depending on the protocol (this schema is intentionally non-exhaustive).","properties":{"id":{"type":"string","description":"Action ID — poll status later with actions_get"},"intent":{"type":"string","description":"\"enter\", \"exit\", or \"manage\""},"type":{"type":"string","description":"Action type, e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\""},"yieldId":{"type":"string"},"address":{"type":"string"},"amount":{"type":["string","null"]},"executionPattern":{"type":"string","enum":["synchronous","asynchronous","batch"]},"status":{"type":"string","description":"\"CREATED\" on success; poll until SUCCESS/FAILED"},"transactions":{"type":"array","description":"Sign and broadcast each transaction in stepIndex order, then report each hash via submit_hash. NEVER modify unsignedTransaction.","items":{"type":"object","properties":{"id":{"type":"string"},"network":{"type":"string"},"status":{"type":"string"},"type":{"type":"string","description":"e.g. \"APPROVAL\", \"SUPPLY\", \"STAKE\""},"title":{"type":"string"},"stepIndex":{"type":"integer"},"gasEstimate":{"type":"string"},"unsignedTransaction":{"description":"Raw transaction to sign — a JSON string on EVM chains, an object on non-EVM chains. Never modify it."},"isMessage":{"type":"boolean","description":"When true, sign as a message instead of a transaction"}}}},"createdAt":{"type":"string"}}},"example":{"id":"0b8e2c5a-4f3d-4c2b-9e1a-7d6f5e4c3b2a","intent":"enter","type":"STAKE","yieldId":"base-usdc-aave-v3-lending","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":"1","executionPattern":"synchronous","status":"CREATED","transactions":[{"id":"6b757454-725c-4871-9f9a-8fa159dc8720","network":"base","status":"CREATED","type":"APPROVAL","title":"APPROVAL Transaction","stepIndex":0,"unsignedTransaction":"{\"from\":\"0xd8dA…\",\"to\":\"0x8335…\",\"data\":\"0x095e…\"}"},{"id":"da961e24-0f26-462e-9456-3886386ef247","network":"base","status":"CREATED","type":"SUPPLY","title":"SUPPLY Transaction","stepIndex":1,"unsignedTransaction":"{\"from\":\"0xd8dA…\",\"to\":\"0xa238…\",\"data\":\"0x617b…\"}"}]}}}},"402":{"description":"Payment Required"}}}},"/x402/actions_exit":{"post":{"operationId":"actions_exit","summary":"Build unsigned transactions to exit a DeFi yield position — unstake, withdraw from lending or vaults, or redeem RWAs — across 80+ networks. Supports instant and queued/cooldown redemption per protocol. Does NOT execute: the caller signs and broadcasts each tx. Check positions with yields_get_balances first.","tags":["unstaking","defi withdrawal","redemption","exit position","unsigned transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID of the position to exit, e.g. \"ethereum-eth-lido-staking\""},"address":{"type":"string","description":"Wallet address that owns the position"},"amount":{"type":"string","description":"Human-readable token amount to withdraw, e.g. \"0.5\" (never raw wei). Optional when useMaxAmount is true."},"validatorAddress":{"type":"string","description":"Validator to undelegate from, for delegation-based staking yields"},"useMaxAmount":{"type":"boolean","description":"Withdraw the full position balance; amount may be omitted."}},"required":["yieldId","address"]},"example":{"yieldId":"ethereum-eth-lido-staking","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":"0.1"}}}},"responses":{"200":{"description":"Action with unsigned withdrawal/unstake transactions — sign and broadcast each, then report hashes via submit_hash. Queued protocols may require a later actions_manage step to complete the withdrawal.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; responses may carry additional yield-specific fields depending on the protocol (this schema is intentionally non-exhaustive).","properties":{"id":{"type":"string","description":"Action ID — poll status later with actions_get"},"intent":{"type":"string","description":"\"enter\", \"exit\", or \"manage\""},"type":{"type":"string","description":"Action type, e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\""},"yieldId":{"type":"string"},"address":{"type":"string"},"amount":{"type":["string","null"]},"executionPattern":{"type":"string","enum":["synchronous","asynchronous","batch"]},"status":{"type":"string","description":"\"CREATED\" on success; poll until SUCCESS/FAILED"},"transactions":{"type":"array","description":"Sign and broadcast each transaction in stepIndex order, then report each hash via submit_hash. NEVER modify unsignedTransaction.","items":{"type":"object","properties":{"id":{"type":"string"},"network":{"type":"string"},"status":{"type":"string"},"type":{"type":"string","description":"e.g. \"APPROVAL\", \"SUPPLY\", \"STAKE\""},"title":{"type":"string"},"stepIndex":{"type":"integer"},"gasEstimate":{"type":"string"},"unsignedTransaction":{"description":"Raw transaction to sign — a JSON string on EVM chains, an object on non-EVM chains. Never modify it."},"isMessage":{"type":"boolean","description":"When true, sign as a message instead of a transaction"}}}},"createdAt":{"type":"string"}}},"example":{"id":"3f9d1e8b-2c4a-4b7e-8d5f-1a2b3c4d5e6f","intent":"exit","type":"UNSTAKE","yieldId":"ethereum-eth-lido-staking","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":"0.1","executionPattern":"synchronous","status":"CREATED","transactions":[{"id":"8c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f","network":"ethereum","status":"CREATED","type":"UNSTAKE","title":"UNSTAKE Transaction","stepIndex":0,"unsignedTransaction":"{\"from\":\"0xd8dA…\",\"to\":\"0x889e…\",\"data\":\"0xd668…\"}"}]}}}},"402":{"description":"Payment Required"}}}},"/x402/actions_manage":{"post":{"operationId":"actions_manage","summary":"Build unsigned transactions for pending actions on an existing DeFi position — claim rewards, restake, unlock, or complete a withdrawal — across 80+ networks. Use the action type and passthrough from yields_get_balances pendingActions[]. Does NOT execute: the caller signs and broadcasts each tx.","tags":["claim rewards","restaking","staking rewards","complete withdrawal","unsigned transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID of the position, e.g. \"ethereum-matic-native-staking\""},"address":{"type":"string","description":"Wallet address that owns the position"},"action":{"type":"string","description":"Pending action type from yields_get_balances pendingActions[].type, e.g. \"CLAIM_REWARDS\", \"RESTAKE_REWARDS\", \"UNLOCK\", \"WITHDRAW\""},"passthrough":{"type":"string","description":"Opaque token from yields_get_balances pendingActions[].passthrough — pass it back verbatim"},"amount":{"type":"string","description":"Human-readable token amount, when the action requires one"}},"required":["yieldId","address","action","passthrough"]},"example":{"yieldId":"ethereum-matic-native-staking","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","action":"CLAIM_REWARDS","passthrough":"aaabbbcccdddeeefff"}}}},"responses":{"200":{"description":"Action with unsigned transactions for the pending action (claim, restake, unlock, withdraw) — sign and broadcast each, then report hashes via submit_hash.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; responses may carry additional yield-specific fields depending on the protocol (this schema is intentionally non-exhaustive).","properties":{"id":{"type":"string","description":"Action ID — poll status later with actions_get"},"intent":{"type":"string","description":"\"enter\", \"exit\", or \"manage\""},"type":{"type":"string","description":"Action type, e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\""},"yieldId":{"type":"string"},"address":{"type":"string"},"amount":{"type":["string","null"]},"executionPattern":{"type":"string","enum":["synchronous","asynchronous","batch"]},"status":{"type":"string","description":"\"CREATED\" on success; poll until SUCCESS/FAILED"},"transactions":{"type":"array","description":"Sign and broadcast each transaction in stepIndex order, then report each hash via submit_hash. NEVER modify unsignedTransaction.","items":{"type":"object","properties":{"id":{"type":"string"},"network":{"type":"string"},"status":{"type":"string"},"type":{"type":"string","description":"e.g. \"APPROVAL\", \"SUPPLY\", \"STAKE\""},"title":{"type":"string"},"stepIndex":{"type":"integer"},"gasEstimate":{"type":"string"},"unsignedTransaction":{"description":"Raw transaction to sign — a JSON string on EVM chains, an object on non-EVM chains. Never modify it."},"isMessage":{"type":"boolean","description":"When true, sign as a message instead of a transaction"}}}},"createdAt":{"type":"string"}}},"example":{"id":"7a2b9c4d-1e5f-4a8b-9c3d-6e7f8a9b0c1d","intent":"manage","type":"CLAIM_REWARDS","yieldId":"ethereum-matic-native-staking","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":null,"executionPattern":"synchronous","status":"CREATED","transactions":[{"id":"5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b","network":"ethereum","status":"CREATED","type":"CLAIM_REWARDS","title":"CLAIM_REWARDS Transaction","stepIndex":0,"unsignedTransaction":"{\"from\":\"0xd8dA…\",\"to\":\"0x5e3e…\",\"data\":\"0x8f2e…\"}"}]}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_all":{"post":{"operationId":"yields_get_all","summary":"Discover DeFi yield opportunities across 80+ networks — 3,300+ staking, lending, vault, and RWA yields from Lido, Aave, Morpho, and more. Filter by token, network, yield type, or provider and sort by APY or TVL. Returns yield IDs (needed by every other tool) with APY, TVL, lock-up/cooldown periods, and KYC gating. Start here.","tags":["defi yields","best apy","staking rewards","stablecoin yield","yield discovery"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"Token symbol, e.g. \"ETH\", \"USDC\", \"SOL\""},"sort":{"type":"string","description":"Server-side sort, e.g. by APY or TVL (highest first)"},"search":{"type":"string","description":"Free-text search over yield names/providers"},"networks":{"type":"array","items":{"type":"string"},"description":"Filter by networks, e.g. [\"ethereum\", \"base\", \"solana\"]"},"types":{"type":"array","items":{"type":"string"},"description":"Filter by yield type, e.g. [\"staking\", \"lending\", \"vault\", \"restaking\"]"},"yieldIds":{"type":"array","items":{"type":"string"},"description":"Fetch specific yield IDs (max 100)"},"inputTokens":{"type":"array","items":{"type":"string"}},"providers":{"type":"array","items":{"type":"string"}},"hasCooldownPeriod":{"type":"boolean"},"hasWarmupPeriod":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Page size (default 20)"},"offset":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"}}},"example":{"token":"USDC","networks":["base"],"limit":5}}}},"responses":{"200":{"description":"Paginated list of yields with id, token, network, type, APY (rewardRate), TVL, and lock-up/KYC metadata. Use the id with the other tools.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"total":{"type":"integer"},"offset":{"type":"integer"},"limit":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Yield ID — pass to yields_get / actions_*"},"tokenSymbol":{"type":"string"},"network":{"type":"string"},"type":{"type":"string","description":"e.g. \"staking\", \"lending\", \"vault\""},"providerId":{"type":"string"},"rewardRate":{"type":"number","description":"APY as a decimal, e.g. 0.041 = 4.1%"},"tvlUsd":{"type":["string","null"]},"kycRequired":{"type":["boolean","null"]}}}}}},"example":{"total":812,"offset":0,"limit":1,"items":[{"id":"base-usdc-aave-v3-lending","tokenSymbol":"USDC","network":"base","type":"lending","providerId":"aave-v3","rewardRate":0.045,"tvlUsd":"128000000","kycRequired":false}]}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get":{"post":{"operationId":"yields_get","summary":"Get full metadata for a single DeFi yield: current APY, TVL, fees, minimum/maximum entry, lock-up/cooldown/warm-up periods, reward mechanics, supported tokens, and whether entry/exit is currently open. Show this before a user commits to a position.","tags":["yield details","apy","staking","lockup period","defi metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID from yields_get_all, e.g. \"ethereum-eth-lido-staking\""}},"required":["yieldId"]},"example":{"yieldId":"ethereum-eth-lido-staking"}}}},"responses":{"200":{"description":"Full yield object: id, network, token(s), mechanics (type, cooldown/warmup/lockup, entry limits), rewardRate, and statistics (TVL).","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"id":{"type":"string"},"network":{"type":"string"},"status":{"type":"object","description":"enter/exit availability flags"},"rewardRate":{"type":"object","description":"total APY + breakdown"},"statistics":{"type":"object","description":"tvlUsd and related stats"},"mechanics":{"type":"object","description":"type, cooldownPeriod, warmupPeriod, lockupPeriod, entryLimits, fees"},"inputTokens":{"type":"array","items":{"type":"object"}}}},"example":{"id":"ethereum-eth-lido-staking","network":"ethereum","rewardRate":{"total":0.032},"statistics":{"tvlUsd":"24000000000"},"mechanics":{"type":"staking","cooldownPeriod":{"days":0}}}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_validators":{"post":{"operationId":"yields_get_validators","summary":"List validators for delegation-based yields (Cosmos, Polkadot, ETH native staking, etc.). Use a validator address with actions_enter/actions_exit. Filter to curated validators with preferred=true, or by name/status/address/provider.","tags":["validators","delegation","staking","cosmos","preferred validators"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Delegation-based yield ID, e.g. \"cosmos-atom-native-staking\""},"preferred":{"type":"boolean","description":"Return only curated/recommended validators"},"name":{"type":"string","description":"Filter by validator name (partial, case-insensitive)"},"status":{"type":"string","description":"e.g. \"active\", \"jailed\""},"address":{"type":"string","description":"Filter by validator address"},"provider":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":50},"offset":{"type":"integer","minimum":0}},"required":["yieldId"]},"example":{"yieldId":"cosmos-atom-native-staking","preferred":true,"limit":5}}}},"responses":{"200":{"description":"Paginated validators with address, name, status, reward rate, commission, and preferred flag.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"rewardRate":{"type":"object","properties":{"total":{"type":"number","description":"APY as a decimal, e.g. 0.18 = 18%"},"rateType":{"type":"string"}}},"commission":{"type":"number"},"preferred":{"type":"boolean"}}}},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"example":{"items":[{"address":"cosmosvaloper1abc…","name":"Everstake","status":"active","rewardRate":{"total":0.18,"rateType":"apr"},"commission":0.05,"preferred":true}],"total":180,"limit":5,"offset":0}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_risk":{"post":{"operationId":"yields_get_risk","summary":"Get the risk profile for a yield — ratings and scores from independent risk providers (Credora, Staking Rewards) so agents and users can weigh safety before depositing.","tags":["defi risk","risk score","smart contract risk","protocol safety","due diligence"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID from yields_get_all"}},"required":["yieldId"]},"example":{"yieldId":"base-usdc-aave-v3-lending"}}}},"responses":{"200":{"description":"Risk ratings per provider — credora (rating, score 1-5, PSL) and/or stakingRewards (rating, score, potential), with the updatedAt timestamp.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"updatedAt":{"type":"string","description":"When the risk data was last computed (ISO 8601)"},"credora":{"type":"object","properties":{"rating":{"type":["string","null"]},"score":{"type":["number","null"],"description":"1-5"},"psl":{"type":["number","null"],"description":"Probability of Significant Loss (annualized)"}}},"stakingRewards":{"type":"object","properties":{"rating":{"type":["string","null"]},"score":{"type":["number","null"],"description":"1-5"},"potentialRating":{"type":["string","null"]},"potentialScore":{"type":["number","null"]}}}}},"example":{"updatedAt":"2026-07-01T00:00:00.000Z","credora":{"rating":"AA","score":4,"psl":0.012}}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_reward_rate_history":{"post":{"operationId":"yields_get_reward_rate_history","summary":"Historical APY / reward-rate for a yield over time — plot APY trends or compute average yield across 1d/7d/30d/90d/1y windows.","tags":["apy history","reward rate","yield trends","historical apy","time series"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID from yields_get_all"},"period":{"type":"string","enum":["1d","7d","30d","90d","1y","all"]},"from":{"type":"string","description":"ISO date lower bound"},"to":{"type":"string","description":"ISO date upper bound"},"interval":{"type":"string","enum":["day","week","month"]},"limit":{"type":"integer","minimum":1,"maximum":365},"offset":{"type":"integer","minimum":0}},"required":["yieldId"]},"example":{"yieldId":"ethereum-eth-lido-staking","period":"30d","interval":"day"}}}},"responses":{"200":{"description":"Paginated reward-rate snapshots (ISO timestamp + rate as a decimal string), with the yieldId and interval echoed.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"yieldId":{"type":"string"},"interval":{"type":"string","description":"\"day\", \"week\", or \"month\""},"items":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","description":"Snapshot time (ISO 8601)"},"rewardRate":{"type":"string","description":"Rate as a decimal string"}}}}}},"example":{"yieldId":"ethereum-eth-lido-staking","interval":"day","items":[{"timestamp":"2026-06-01T00:00:00.000Z","rewardRate":"0.031"}]}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_tvl_history":{"post":{"operationId":"yields_get_tvl_history","summary":"Historical total-value-locked (TVL) for a yield over time — track inflows/outflows and protocol growth across 1d/7d/30d/90d/1y windows.","tags":["tvl history","total value locked","protocol growth","liquidity trends","time series"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Yield ID from yields_get_all"},"period":{"type":"string","enum":["1d","7d","30d","90d","1y","all"]},"from":{"type":"string"},"to":{"type":"string"},"interval":{"type":"string","enum":["day","week","month"]},"limit":{"type":"integer","minimum":1,"maximum":365},"offset":{"type":"integer","minimum":0}},"required":["yieldId"]},"example":{"yieldId":"base-usdc-aave-v3-lending","period":"90d","interval":"day"}}}},"responses":{"200":{"description":"Paginated TVL snapshots — ISO timestamp, tvl in human-readable token units, and tvlRaw in the smallest unit (wei).","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"items":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","description":"Snapshot time (ISO 8601)"},"tvl":{"type":"string","description":"Token units (human-readable)"},"tvlRaw":{"type":"string","description":"Smallest token unit (wei)"}}}}}},"example":{"items":[{"timestamp":"2026-06-01T00:00:00.000Z","tvl":"124500000.12","tvlRaw":"124500000120000"}]}}}},"402":{"description":"Payment Required"}}}},"/x402/networks_get_all":{"post":{"operationId":"networks_get_all","summary":"List every network Yield.xyz supports (80+) with its id (slug), name, and category (EVM, Cosmos, Substrate, misc). Filter by name/id or category. Use the network id to filter yields_get_all.","tags":["supported networks","chains","evm","cosmos","solana"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"search":{"type":"string","minLength":2,"description":"Filter by name or id (case-insensitive, min 2 chars), e.g. \"eth\", \"base\""},"category":{"type":"string","enum":["evm","cosmos","substrate","misc"],"description":"Filter by chain family, e.g. \"evm\" returns all EVM networks"}}},"example":{"category":"evm"}}}},"responses":{"200":{"description":"Array of supported networks with id (slug), name, and category.","content":{"application/json":{"schema":{"type":"array","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","items":{"type":"object","properties":{"id":{"type":"string","description":"Slug used across the API, e.g. \"base\""},"name":{"type":"string"},"category":{"type":"string","description":"\"evm\", \"cosmos\", \"substrate\", or \"misc\""},"logoURI":{"type":"string"}}}},"example":[{"id":"base","name":"Base","category":"evm","logoURI":"https://…/base.svg"}]}}},"402":{"description":"Payment Required"}}}},"/x402/providers_get_all":{"post":{"operationId":"providers_get_all","summary":"List every protocol/provider behind Yield.xyz yields — Lido, Aave, Morpho, validator operators, RWA issuers, and more — with names and identifiers. Use a providerId to filter yields_get_all.","tags":["defi providers","protocols","aave","lido","morpho"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":100},"offset":{"type":"integer","minimum":0}}},"example":{"limit":10}}}},"responses":{"200":{"description":"Paginated providers with id and name.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"total":{"type":"integer"}}},"example":{"items":[{"id":"aave-v3","name":"Aave V3"}],"total":140}}}},"402":{"description":"Payment Required"}}}},"/x402/actions_get":{"post":{"operationId":"actions_get","summary":"Get the status and transactions of a specific action by its ID (returned by actions_enter/exit/manage). Poll this to track an action from CREATED → SUCCESS/FAILED.","tags":["action status","transaction tracking","staking status","poll action","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"actionId":{"type":"string","description":"Action ID from actions_enter/exit/manage"}},"required":["actionId"]},"example":{"actionId":"0b8e2c5a-4f3d-4c2b-9e1a-7d6f5e4c3b2a"}}}},"responses":{"200":{"description":"Action object with intent/type/status and its ordered transactions.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"id":{"type":"string"},"intent":{"type":"string"},"type":{"type":"string"},"status":{"type":"string","description":"CREATED / PROCESSING / SUCCESS / FAILED"},"transactions":{"type":"array","items":{"type":"object"}}}},"example":{"id":"0b8e2c5a-…","intent":"enter","type":"STAKE","status":"SUCCESS"}}}},"402":{"description":"Payment Required"}}}},"/x402/actions_get_all":{"post":{"operationId":"actions_get_all","summary":"List past and pending actions for a wallet across all yields — filter by status, intent, type, yield, or network. Answers \"what are my pending actions?\" and finds actions awaiting a next step.","tags":["action history","pending actions","wallet activity","staking history","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"Wallet address to query actions for"},"statuses":{"type":"array","items":{"type":"string","enum":["CREATED","PROCESSING","WAITING_FOR_NEXT","SUCCESS","FAILED","CANCELED","STALE"]},"description":"Filter by statuses, e.g. [\"CREATED\", \"PROCESSING\"] for all pending"},"intent":{"type":"string","enum":["enter","exit","manage"]},"type":{"type":"string","description":"e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\""},"yieldId":{"type":"string"},"network":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":100},"offset":{"type":"integer","minimum":0}},"required":["address"]},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","statuses":["CREATED","PROCESSING"]}}}},"responses":{"200":{"description":"Paginated actions for the wallet with status and transactions.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"intent":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"yieldId":{"type":"string"}}}},"total":{"type":"integer"}}},"example":{"items":[{"id":"0b8e…","intent":"enter","type":"STAKE","status":"SUCCESS","yieldId":"ethereum-eth-lido-staking"}],"total":3}}}},"402":{"description":"Payment Required"}}}},"/x402/get_transaction":{"post":{"operationId":"get_transaction","summary":"Get the on-chain status of a single transaction by its Yield.xyz transaction ID — poll after broadcasting to confirm it landed, or inspect the constructed/unsigned transaction.","tags":["transaction status","tx tracking","confirmation","on-chain status","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string","description":"Transaction ID from an action's transactions[]"}},"required":["transactionId"]},"example":{"transactionId":"6b757454-725c-4871-9f9a-8fa159dc8720"}}}},"responses":{"200":{"description":"Transaction object with network, status, type, and hash (once broadcast).","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"id":{"type":"string"},"network":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"hash":{"type":["string","null"]}}},"example":{"id":"6b757454-…","network":"base","status":"CONFIRMED","type":"SUPPLY","hash":"0xabc…"}}}},"402":{"description":"Payment Required"}}}},"/x402/yields_get_kyc_status":{"post":{"operationId":"yields_get_kyc_status","summary":"Check whether a wallet is KYC-eligible for a gated (RWA / tokenized-treasury) yield. Returns the normalized KYC status and, when required, where to complete verification — call before actions_enter on gated yields.","tags":["kyc status","rwa eligibility","tokenized treasuries","compliance","gated yields"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"yieldId":{"type":"string","description":"Gated yield ID, e.g. an RWA/treasury yield"},"address":{"type":"string","description":"Wallet address to check eligibility for"}},"required":["yieldId","address"]},"example":{"yieldId":"base-usdc-dinari-usd-plus-vault","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}}}},"responses":{"200":{"description":"Normalized KYC status for the wallet on the yield, with next-step URL when required.","content":{"application/json":{"schema":{"type":"object","description":"Core fields shown; the response carries additional fields depending on the yield/protocol (intentionally non-exhaustive).","properties":{"kycStatus":{"type":"string","description":"e.g. \"APPROVED\", \"REQUIRED\", \"PENDING\", \"REJECTED\""},"authorizeUrl":{"type":["string","null"],"description":"Where to complete KYC if required"}}},"example":{"kycStatus":"REQUIRED","authorizeUrl":"https://…"}}}},"402":{"description":"Payment Required"}}}}}}