# risk.yo.xyz DeFi Pool Node Risk Profile

> risk.yo.xyz DeFi Pool Node Risk Profile 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 risk grade (A–F tier) for a single DeFi pool node on the Ethereum network, identified by its stable node ID

## Facts

- Endpoint: GET https://risk.yo.xyz/api/v1/agent/node/pool%3Aethereum%3A0xf5c5df23559b0fb56560a7578ea17d81e245153ba64b8132df026c9358864d27
- 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-23ceddf6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GScOOEBwL1Dzla-xn_yhU

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-23ceddf6
```

Example prompt: What's the risk grade and node properties for the Ethereum pool at node ID pool:ethereum:0xf5c5df23559b0fb56560a7578ea17d81e245153ba64b8132df026c9358864d27 — I need to know its _riskTier rating before deciding whether to allocate funds there.

## When to prefer this

Use this endpoint when you need a quick, single-node property and risk tier lookup for a specific DeFi pool and do not need neighborhood or dependency data. Prefer this over the dependencies endpoint when you only need the pool's own metadata and risk grade (A–F), not its connections. This is the right endpoint when you already know the stable nodeId (pool:ethereum:...) — if you only have an asset address or protocol name, use the discovery/search endpoint first.

## Known failure modes

- Node ID not found — 404 if the pool:ethereum:... identifier does not exist in the graph
- Invalid node ID format — malformed path parameter returns 400
- Payment not processed — x402 payment required ($0.05 USDC) before data is returned
- Rate limiting or quota exceeded — if too many requests are made in a short window
- Network timeout — the graph query takes too long to respond

## How this service works

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

## Output

A JSON object containing the stable node ID, an array of PascalCase Neo4j labels (e.g. Pool, Asset, Protocol, Chain), and a property bag with all per-label metadata including _riskTier (A–F letter grade) indicating the risk classification of the pool.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "nodeId": "pool:ethereum:0xf5c5df23559b0fb56560a7578ea17d81e245153ba64b8132df026c9358864d27"
  }
 }
}
```

## 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-23ceddf6/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)
