{"uid":"cap_B5l6ajm5la4l_SY4rUiPV","slug":"risk-graph-gx7v4-ondigitalocean-app-f5d8e6bd","name":"Risk Graph Node Search","description":"Targeted node lookup by asset address or protocol/asset name — the sole discovery path","url":"https://risk-graph-gx7v4.ondigitalocean.app/api/v1/agent/search","method":"GET","headers":{},"bodySchema":{"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"},"queryParams":{"type":"object","required":["q"],"properties":{"q":{"type":"string","description":"Asset address or protocol/asset name. Targeted lookup only — empty and wildcard (`*`, `%`) queries are rejected."},"tvl":{"type":"string","description":"Optional TVL comparator filter, e.g. \">1000000\" or \"<5e8\"."},"grade":{"type":"string","description":"Optional grade comparator over A–F, e.g. \"A\", \"<=B\", \">=C\"."},"label":{"type":"string","description":"Optional PascalCase label filter (e.g. \"Pool\", \"Asset\", \"Protocol\", \"Chain\")."},"limit":{"type":"integer","maximum":10,"minimum":1,"description":"Max nodes to return; hard-capped at 10 (default 10)."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["nodes"],"properties":{"nodes":{"type":"array","items":{"type":"object","required":["id","labels","properties"],"properties":{"id":{"type":"string","description":"Stable node id — pass to `/node` and `/dependencies`."},"labels":{"type":"array","items":{"type":"string"},"description":"PascalCase Neo4j labels (e.g. \"Pool\", \"Asset\")."},"properties":{"type":"object","properties":{"name":{"type":"string"},"tvlUsd":{"type":"number","description":"Value-locked $ TVL, coalesced across real pool types. Absent for LST/token nodes (see marketCapUsd) and pools with no USD figure."},"address":{"type":"string","description":"On-chain contract address, when the node has one."},"network":{"type":"string","description":"Chain the node lives on."},"uniqueKey":{"type":"string","description":"Morpho market hash (also embedded in `id`), when applicable."},"marketCapUsd":{"type":"number","description":"Token market cap ($), for asset / promoted-LST nodes. Distinct from tvlUsd — market cap is not value-locked."}},"description":"Teaser fields only. Full properties + `_riskTier` (A–F) are on `/node`.","additionalProperties":false}}}}}}}}}},"responseSchema":null,"example":{"request":{"input":{"type":"http","method":"GET","queryParams":{"q":"Aave","grade":"<=B","limit":5}}},"response":{"data":{"nodes":[{"id":"protocol:aave","labels":["Protocol"],"properties":{"name":"Aave","tvlUsd":"12970360139.435087"}}]},"message":"SUCCESS","statusCode":200}},"exampleRequest":{"q":"Aave","grade":"<=B","limit":5},"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ddAiidztfaQ0vMqcF2mcn","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Searches the DeFi risk knowledge graph by asset address or protocol/asset name to return matching nodes with risk grades and properties","exampleAgentPrompt":"Search the DeFi risk graph for 'Aave' and return up to 5 matching nodes — I want to see their risk tiers and whether any are graded B or better.","exampleUseCases":null,"resultDescription":"Returns an array of up to 10 graph nodes matching the query, each with a stable node ID, PascalCase labels (e.g. Pool, Asset, Protocol, Chain), and a property bag including the _riskTier field (A–F) and other per-label metadata.","failureModes":["Empty or wildcard queries (*, %) are explicitly rejected with an error","No nodes found for an obscure or misspelled asset name","TVL or grade comparator syntax errors cause rejection","Limit exceeds hard cap of 10 and is clamped or rejected","Rate limiting or payment failure (x402) when USDC balance is insufficient"],"whenToPreferThis":"Use this endpoint as the primary discovery path when you know an asset address or protocol/asset name and need to find its corresponding node(s) in the risk graph before fetching full risk details, neighborhood data, or score breakdowns. Prefer this over the pools listing endpoint when you have a specific target rather than wanting a full sorted list.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:40:54.021Z","isFirstParty":false}