# risk.yo.xyz Single Node Risk Grade — Morpho Vaults V2

> risk.yo.xyz Single Node Risk Grade — Morpho Vaults V2 is a paid API for AI agents from risk.yo.xyz, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Returns properties and a risk grade (tier A–F with breakdown) for the Morpho Vaults V2 protocol node in the risk knowledge graph

## Facts

- Endpoint: GET https://risk.yo.xyz/api/v1/agent/node/protocol%3Amorpho-vaults-v2
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/risk-yo-xyz-single-node-risk-grade-morpho-vaults-v2-b5905b23
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pMn5ZfmgvtHLo7a_f1_4T

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability risk-yo-xyz-single-node-risk-grade-morpho-vaults-v2-b5905b23
```

Example prompt: What's the risk grade and breakdown for Morpho Vaults V2 — is it A, B, C, or worse, and what are the key risk factors driving that grade?

## When to prefer this

Use this endpoint when you need a quick, cheap ($0.05) snapshot of the risk grade and human-readable risk breakdown for the specific Morpho Vaults V2 protocol node, without needing its neighborhood graph or dependency relationships. Prefer this over the schema or search endpoints when you already know the stable nodeId (protocol:morpho-vaults-v2).

## Known failure modes

- Node not found — if the nodeId does not exist in the graph, returns a 404 or empty result
- Payment failure — x402 payment not processed correctly, returns 402 Payment Required
- Malformed nodeId — if the protocol identifier is incorrectly formatted, returns a 400 error
- Stale data — riskBreakdown or properties may reflect a previous assessment if lastUpdatedAt is old
- Rate limiting — too many requests may result in 429 responses

## How this service works

Single node — properties + risk grade only (no neighborhood)

## Output

Returns a JSON object with the stable node ID (protocol:morpho-vaults-v2), an array of Neo4j labels (e.g. Protocol), and a properties bag including _riskTier (letter grade A–F), riskBreakdown (array of {question, answer} pairs explaining the grade), and tvlUsd (total value locked in USD).

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "pathParams": {
   "nodeId": "protocol:morpho-vaults-v2"
  },
  "queryParams": {
   "nodeId": "protocol:morpho-vaults-v2"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "nodeId"
     ],
     "properties": {
      "nodeId": {
       "type": "string"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "nodeId"
     ],
     "properties": {
      "nodeId": {
       "type": "string",
       "description": "Stable node id from /search — e.g. \"pool:ethereum:0x…\"."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "id",
      "labels",
      "properties"
     ],
     "properties": {
      "id": {
       "type": "string",
       "description": "Stable node identifier — `nodeId` everywhere else in the API."
      },
      "labels": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "PascalCase Neo4j labels (e.g. \"Pool\", \"Asset\", \"Protocol\", \"Chain\")."
      },
      "properties": {
       "type": "object",
       "description": "Per-label property bag — see /agent/schema for the canonical keys. Risk is exposed as `_riskTier` (A–F) only. May also carry `tvlUsd` (canonical $ size), `riskBreakdown` (on /node — an array of {question, answer} explaining the grade, no numbers), and `lastUpdatedAt` (on /dependencies — ISO-8601 freshness).",
       "additionalProperties": true
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/risk-yo-xyz-single-node-risk-grade-morpho-vaults-v2-b5905b23/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from risk.yo.xyz](https://www.zero.xyz/host/risk.yo.xyz/llms.txt)
