{
"message": "Payment service temporarily unavailable"
}
Higher score = more risk.composite.score and every categories.*.score run 0–100, where 0 = no structural risk and 100 = maximum risk (grade A+ ≈ 0, F ≈ 100) — the opposite of yield or performance scores. See Score Polarity for the full grade bands.
Assessing freshness
This endpoint does not return a response-level stale flag or generated_at. For a freshness signal, read the RWA grades list (GET /v3/rwa/grades), which carries generated_at and stale.Treat missing, stale, or errored data as unknown — never as safe. See Hard-gating and fail behavior.
Segment and classification
metadata.segment carries the derived category — stablecoin or rwa — alongside the classification fields it comes from (metadata.asset_class, metadata.subclass). metadata.asset_type holds the same value as segment and predates the split; prefer segment in new integrations.metadata.asset_class = "fiat" means the token is denominated in a government currency, not that it is cash-backed.
classification_available: false means the classification could not be loaded for this request. The response still succeeds, but the classification fields are not trustworthy — treat them as unknown.
Grading scheme to pin — selects the per-category weights and letter-grade band table. Default v2 (alias of v1's weights, standard 11-band grade scale). peg is the peg-loss-focused weighting. v3/v4/peg-liquidity are registered but withheld behind the v3-grading-scheme feature flag. Unknown values return 400 with the supported list.
Available options:
v1,
v2,
peg
Response
Webacy-native v3 RWA / stablecoin detail.
Webacy-native v3 RWA / stablecoin detail. Same shape family as VaultV3Response, minus the risk pass-through (the v2 RWA grade has no risk envelope; the headline signal is composite, floored by upstream_risk).
schema_version
string
required
Example:
"3.5"
metadata
object
required
Structural fact sheet for an RWA / stablecoin — identities only.
Show child attributes
composite
object
required
Headline grade block. POLARITY (load-bearing): score is 0–100, HIGHER = WORSE (A+ = 0, F = 100) — same direction as the v2 risk.score on the same response. score = max(Σ contributors·weight, upstream_risk): floored from below by the upstream pipeline risk.
Show child attributes
categories
object
required
Show child attributes
coverage
object
required
How many criteria are live today vs defined by the framework — so what the grade reflects is on the wire, not just in docs. live / total describe the framework; on the RWA / stablecoin detail response measured_criteria / per_category[*].measured add the per-asset count of criteria that produced a measurement (assessed: true), excluding unverified ones.
Show child attributes
attributes
object
required
Curated, grouped passthrough of the RWA grade record's detail-only facts. Always present as a block; individual leaves are null when the underlying value is not available. The safety score/grade are intentionally excluded — composite remains the only grade.
Show child attributes
classification_available
boolean
false when the asset classification could not be loaded — metadata.asset_type falls back to stablecoin and asset_class / subclass are null. GET /v3/stablecoins/{address} fails closed (503) in that state.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Webacy Docs","colors":{"primary":"#00d66f","light":"#33cb8b","dark":"#279b71"},"logo":{"light":"https://mintcdn.com/webacy/PZHkbk8qJrPsQSaC/logo/light.png?fit=max\u0026auto=format\u0026n=PZHkbk8qJrPsQSaC\u0026q=85\u0026s=c1933879883f6b01ff46a6e51cfd687f","dark":"https://mintcdn.com/webacy/cDgYsLUzSZsNJNEk/logo/dark.svg?fit=max\u0026auto=format\u0026n=cDgYsLUzSZsNJNEk\u0026q=85\u0026s=e8da7717da0f291d63cc90a4cb4a91af"},"favicon":"https://mintcdn.com/webacy/LaWycqKCQaZgOW1n/favicon.ico?fit=max\u0026auto=format\u0026n=LaWycqKCQaZgOW1n\u0026q=85\u0026s=2a29ac070865d3fb96939b7c595406f9","api":{},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://dapp.webacy.com"}},"footer":{"socials":{"x":"https://x.com/mywebacy","github":"https://github.com/Webacy-Prod"}},"contextual":{"options":["copy","claude","chatgpt","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"webacy","hasAudioNarration":false,"actualSubdomain":"webacy","customDomains":["docs.webacy.com"],"gitSource":{"type":"github","owner":"webacy-prod","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af62704872f0a825f98c69f","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Build","count":61},{"language":"default","tag":"API Reference","count":49},{"language":"default","tag":"Overview","count":29},{"language":"default","tag":"Glossary","count":25},{"language":"default","tag":"Risk Intelligence","count":21},{"language":"default","tag":"Learn","count":18},{"language":"default","tag":"Integrations","count":15},{"language":"default","tag":"Stablecoins","count":11},{"language":"default","tag":"Contract Security","count":9},{"language":"default","tag":"SDK","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".gb{display:inline-block;min-width:2.2em;padding:2px 9px;border-radius:6px;font-weight:700;font-size:0.85em;line-height:1.35;text-align:center;letter-spacing:0.02em;white-space:nowrap}.gb-a{background:#047857;color:#ffffff}.gb-b{background:#1d4ed8;color:#ffffff}.gb-c{background:#f59e0b;color:#1f2937}.gb-d{background:#c2410c;color:#ffffff}.gb-f{background:#b91c1c;color:#ffffff}"}],"page":{"pagePath":"api-reference/rwa-v3/get-rwa-risk-detail","slug":"/api-reference/rwa-v3/get-rwa-risk-detail","pageMetadata":{"title":"Get risk detail for a single RWA","openapi":"GET /v3/rwa/{address}","description":"Returns the v3 Webacy-native RWA / stablecoin decomposition: `composite` grade + per-category `contributors`, the dense `categories` criteria map, and `coverage` disclosure. No `risk` pass-through (the v2 RWA grade has none; `composite` carries the headline, floored by `upstream_risk`). POLARITY: scores 0–100, higher = worse.","href":"/api-reference/rwa-v3/get-rwa-risk-detail"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Returns the v3 Webacy-native RWA / stablecoin decomposition: \", _jsx(_components.code, {\n children: \"composite\"\n }), \" grade + per-category \", _jsx(_components.code, {\n children: \"contributors\"\n }), \", the dense \", _jsx(_components.code, {\n children: \"categories\"\n }), \" criteria map, and \", _jsx(_components.code, {\n children: \"coverage\"\n }), \" disclosure. No \", _jsx(_components.code, {\n children: \"risk\"\n }), \" pass-through (the v2 RWA grade has none; \", _jsx(_components.code, {\n children: \"composite\"\n }), \" carries the headline, floored by \", _jsx(_components.code, {\n children: \"upstream_risk\"\n }), \"). POLARITY: scores 0–100, higher = worse.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Higher score = more risk.`}),` `,_jsx(_components.code,{children:`composite.score`}),` and every `,_jsx(_components.code,{children:`categories.*.score`}),` run `,_jsx(_components.strong,{children:`0–100`}),`, where `,_jsx(_components.strong,{children:`0 = no structural risk`}),` and `,_jsx(_components.strong,{children:`100 = maximum risk`}),` (grade `,_jsx(_components.code,{children:`A+`}),` ≈ 0, `,_jsx(_components.code,{children:`F`}),` ≈ 100) — the opposite of yield or performance scores. See `,_jsx(_components.a,{href:`/api-reference/rwa-v3#score-polarity`,children:`Score Polarity`}),` for the full grade bands.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`assessing-freshness`,children:`Assessing freshness`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`This endpoint does `,_jsx(_components.strong,{children:`not`}),` return a response-level `,_jsx(_components.code,{children:`stale`}),` flag or `,_jsx(_components.code,{children:`generated_at`}),`. For a freshness signal, read the `,_jsx(_components.a,{href:`/api-reference/rwa-v3/get-rwa-grades`,children:`RWA grades list`}),` (`,_jsx(_components.code,{children:`GET /v3/rwa/grades`}),`), which carries `,_jsx(_components.code,{children:`generated_at`}),` and `,_jsx(_components.code,{children:`stale`}),`.`]}),_jsxs(_components.p,{children:[`Treat missing, stale, or errored data as `,_jsx(_components.strong,{children:`unknown — never as safe`}),`. See `,_jsx(_components.a,{href:`/api-reference/introduction#hard-gating-and-fail-behavior`,children:`Hard-gating and fail behavior`}),`.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`segment-and-classification`,children:`Segment and classification`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`metadata.segment`}),` carries the derived category — `,_jsx(_components.code,{children:`stablecoin`}),` or `,_jsx(_components.code,{children:`rwa`}),` — alongside the classification fields it comes from (`,_jsx(_components.code,{children:`metadata.asset_class`}),`, `,_jsx(_components.code,{children:`metadata.subclass`}),`). `,_jsx(_components.code,{children:`metadata.asset_type`}),` holds the same value as `,_jsx(_components.code,{children:`segment`}),` and predates the split; prefer `,_jsx(_components.code,{children:`segment`}),` in new integrations.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`metadata.asset_class = \"fiat\"`}),` means the token is denominated in a government currency, not that it is cash-backed.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`classification_available: false`}),` means the classification could not be loaded for this request. The response still succeeds, but the classification fields are not trustworthy — treat them as unknown.`]})}),`\n`,_jsxs(_components.p,{children:[`For a stablecoin-only route that answers `,_jsx(_components.code,{children:`404`}),` for an RWA, see `,_jsx(_components.a,{href:`/api-reference/stablecoins/get-stablecoin-detail`,children:_jsx(_components.code,{children:`GET /v3/stablecoins/{address}`})}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get risk detail for a single RWA","openapi":"GET /v3/rwa/{address}","description":"Returns the v3 Webacy-native RWA / stablecoin decomposition: `composite` grade + per-category `contributors`, the dense `categories` criteria map, and `coverage` disclosure. No `risk` pass-through (the v2 RWA grade has none; `composite` carries the headline, floored by `upstream_risk`). POLARITY: scores 0–100, higher = worse.","href":"/api-reference/rwa-v3/get-rwa-risk-detail"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Assessing freshness","slug":"assessing-freshness","depth":2,"children":[]},{"title":"Segment and classification","slug":"segment-and-classification","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get v3 RWA / stablecoin risk detail (Webacy-native)","description":"Returns the v3 Webacy-native RWA / stablecoin decomposition: `composite` grade + per-category `contributors`, the dense `categories` criteria map, and `coverage` disclosure. No `risk` pass-through (the v2 RWA grade has none; `composite` carries the headline, floored by `upstream_risk`). POLARITY: scores 0–100, higher = worse.","operationId":"getRwaRiskDetailV3","tags":["RWA Risk v3"],"security":["ce1fe0c5-f780-488d-aa54-9f5c1dbd855d"],"parameters":["a640bf23-a747-4190-849c-8de6c9b11e53","1d847f97-c971-4199-8090-6cd39391e46e","895e5fe8-c201-444d-bbe6-14533ddd96e8"],"responses":{"200":"0da0488d-5e20-4a12-a586-1e5cb1d9730f","400":"bbb31081-130d-4467-94e8-1eb8873e1ead","402":"b9ffa37c-e8fd-439a-970a-56d5b50b53f6","403":"5c10bbd7-8c2e-46f3-a4b4-6b03b9b0b473","404":"0fd18ab1-4f67-4a28-8564-d03bc237488f","503":"ab70c222-5009-4388-9b9a-88e1efecbfc2"},"method":"get","type":"path","servers":["383ee277-cc3e-4c5b-9060-26029d813c28","46e953d9-23d0-4ded-9dfe-145619c5b88e","1c0a4a80-cff4-4732-8bb4-c1d6ddfb5c04"],"path":"/v3/rwa/{address}","baseUrlOptions":["https://api.webacy.com","https://api-development.webacy.com","http://0.0.0.0:3030/api/v1/risk-score"],"title":"Get v3 RWA / stablecoin risk detail (Webacy-native)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a640bf23-a747-4190-849c-8de6c9b11e53":{"name":"address","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"Token contract address.","uniqueKey":"","typeLabel":"string"},"description":"Token contract address."},"1d847f97-c971-4199-8090-6cd39391e46e":{"name":"chain","in":"query","required":true,"schema":{"type":"string","enum":["eth","base","bsc","pol","opt","arb","avax","sol","stellar","hedera","tron","sui","sei","btc","gnosis"],"isRequired":true,"description":"Chain identifier (e.g. eth, base, pol). Required.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Chain identifier (e.g. eth, base, pol). Required."},"895e5fe8-c201-444d-bbe6-14533ddd96e8":{"name":"grading_scheme","in":"query","required":false,"schema":{"type":"string","enum":["v1","v2","peg"],"default":"v2","isRequired":false,"description":"Grading scheme to pin — selects the per-category weights and letter-grade band table. Default `v2` (alias of `v1`'s weights, standard 11-band grade scale). `peg` is the peg-loss-focused weighting. `v3`/`v4`/`peg-liquidity` are registered but withheld behind the `v3-grading-scheme` feature flag. Unknown values return 400 with the supported list.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Grading scheme to pin — selects the per-category weights and letter-grade band table. Default `v2` (alias of `v1`'s weights, standard 11-band grade scale). `peg` is the peg-loss-focused weighting. `v3`/`v4`/`peg-liquidity` are registered but withheld behind the `v3-grading-scheme` feature flag. Unknown values return 400 with the supported list."}},"responses":{"0da0488d-5e20-4a12-a586-1e5cb1d9730f":{"headers":{"x-credit-token":{"description":"Opaque bearer token for a prepaid x402 CU balance. Send it as `x-credit-token` to spend that balance. If the balance is insufficient and a payment for its verified payer settles, the same token is topped up and returned; otherwise the paid call returns a new independent token.","schema":{"type":"string"}},"x-credit-balance-cu":{"description":"CU remaining for the returned or presented credit token after this call.","schema":{"type":"integer","minimum":0,"example":480}},"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"description":"Webacy-native v3 RWA / stablecoin detail.","content":{"application/json":{"schema":{"type":"object","description":"Webacy-native v3 RWA / stablecoin detail. Same shape family as VaultV3Response, minus the `risk` pass-through (the v2 RWA grade has no risk envelope; the headline signal is `composite`, floored by `upstream_risk`).","properties":{"schema_version":{"type":"string","example":"3.5","isRequired":true,"uniqueKey":"schema_version","typeLabel":"string"},"metadata":{"type":"object","description":"Structural fact sheet for an RWA / stablecoin — identities only.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"metadata.address","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"metadata.chain","typeLabel":"string"},"symbol":{"type":"string","isRequired":true,"uniqueKey":"metadata.symbol","typeLabel":"string"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"metadata.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"metadata.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metadata.name","typeLabel":"string | null"},"asset_type":{"type":"string","enum":["stablecoin","rwa"],"isRequired":true,"uniqueKey":"metadata.asset_type","typeLabel":"enum\u003cstring>"},"market_cap_usd":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"metadata.market_cap_usd.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"metadata.market_cap_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metadata.market_cap_usd","typeLabel":"number | null"},"asset_class":{"oneOf":[{"type":"string","example":"fiat","description":"Asset class; null when unclassified.","uniqueKey":"metadata.asset_class.oneOf.0","typeLabel":"string"},{"type":"null","example":"fiat","description":"Asset class; null when unclassified.","uniqueKey":"metadata.asset_class.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.asset_class","typeLabel":"string | null"},"is_rwa":{"oneOf":[{"type":"boolean","description":"Real-world-asset flag; null when unclassified.","uniqueKey":"metadata.is_rwa.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Real-world-asset flag; null when unclassified.","uniqueKey":"metadata.is_rwa.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.is_rwa","typeLabel":"boolean | null"},"segment":{"type":"string","enum":["stablecoin","rwa"],"description":"The computed category the `segment` filter selects on, derived from `asset_class` / `is_rwa` (`rwa` = `is_rwa` true and not fiat, `stablecoin` = everything else). Returned so a client can see why a row matched without re-implementing the rule. It is a derived category, not a classification dimension value.","uniqueKey":"metadata.segment","typeLabel":"enum\u003cstring>"},"subclass":{"oneOf":[{"type":"string","example":"tbill","description":"Asset subclass; null when none.","uniqueKey":"metadata.subclass.oneOf.0","typeLabel":"string"},{"type":"null","example":"tbill","description":"Asset subclass; null when none.","uniqueKey":"metadata.subclass.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.subclass","typeLabel":"string | null"},"peg_behavior":{"oneOf":[{"type":"string","example":"fiat-stable","description":"Peg behavior (fiat-stable, nav-stable, floats-with-underlying, unpegged, stable-unspecified). Null when the token has not been classified yet.","uniqueKey":"metadata.peg_behavior.oneOf.0","typeLabel":"string"},{"type":"null","example":"fiat-stable","description":"Peg behavior (fiat-stable, nav-stable, floats-with-underlying, unpegged, stable-unspecified). Null when the token has not been classified yet.","uniqueKey":"metadata.peg_behavior.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.peg_behavior","typeLabel":"string | null"},"mechanics":{"oneOf":[{"type":"array","items":{"type":"string","example":"custodial-issuer","uniqueKey":"metadata.mechanics.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Structural mechanics of the token (custodial-issuer, controlled-mint, wrapper, bridged, liquid-staking, liquid-restaking, vault, pool, base-asset). Empty when none applies. Null when the token has not been classified yet.","uniqueKey":"metadata.mechanics.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","example":"custodial-issuer"},"description":"Structural mechanics of the token (custodial-issuer, controlled-mint, wrapper, bridged, liquid-staking, liquid-restaking, vault, pool, base-asset). Empty when none applies. Null when the token has not been classified yet.","uniqueKey":"metadata.mechanics.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.mechanics","typeLabel":"string[] | null"}},"required":["address","chain","symbol","name","asset_type","market_cap_usd"],"isRequired":true,"uniqueKey":"metadata","typeLabel":"object"},"composite":{"type":"object","description":"Headline grade block. POLARITY (load-bearing): `score` is 0–100, HIGHER = WORSE (A+ = 0, F = 100) — same direction as the v2 `risk.score` on the same response. `score = max(Σ contributors·weight, upstream_risk)`: floored from below by the upstream pipeline risk.","properties":{"grading_scheme":{"type":"string","example":"v1","isRequired":true,"uniqueKey":"composite.grading_scheme","typeLabel":"string"},"grade":{"oneOf":[{"type":"string","description":"Letter grade. `null` only for an unrated vault (`rated: false`).","enum":["A+","A","A-","B+","B","B-","C","C-","D","E","F"],"isRequired":true,"uniqueKey":"composite.grade.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Letter grade. `null` only for an unrated vault (`rated: false`).","enum":["A+","A","A-","B+","B","B-","C","C-","D","E","F"],"isRequired":true,"uniqueKey":"composite.grade.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"composite.grade","typeLabel":"enum\u003cstring> | null"},"stars":{"oneOf":[{"type":"integer","description":"1–5 stars. `null` only for an unrated vault (`rated: false`).","minimum":1,"maximum":5,"isRequired":true,"uniqueKey":"composite.stars.oneOf.0","typeLabel":"integer"},{"type":"null","description":"1–5 stars. `null` only for an unrated vault (`rated: false`).","minimum":1,"maximum":5,"isRequired":true,"uniqueKey":"composite.stars.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"composite.stars","typeLabel":"integer | null"},"score":{"oneOf":[{"type":"number","description":"0–100, higher = worse; rounded to one decimal. `null` only for an unrated vault (`rated: false`).","isRequired":true,"uniqueKey":"composite.score.oneOf.0","typeLabel":"number"},{"type":"null","description":"0–100, higher = worse; rounded to one decimal. `null` only for an unrated vault (`rated: false`).","isRequired":true,"uniqueKey":"composite.score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"composite.score","typeLabel":"number | null"},"contributors":{"type":"object","description":"Dense map: every WebacyCategory key is present.","additionalProperties":{"type":"object","description":"One row of `composite.contributors`: a category's resolved score and its weight under the current grading scheme.","properties":{"score":{"type":"number","description":"0–100, higher = worse. Integer.","isRequired":true,"uniqueKey":"composite.contributors.additionalProperties.score","typeLabel":"number"},"weight":{"type":"number","description":"Effective category weight. Sums to 1 across categories, except under a renormalising preview scheme when no positively weighted category is assessed, where every weight is 0. Under the default and other served grading schemes this is the scheme's declared weight. Under the preview schemes that renormalise, a category with `assessed: false` carries 0 and the remaining weights are rescaled proportionally.","isRequired":true,"uniqueKey":"composite.contributors.additionalProperties.weight","typeLabel":"number"},"weighted_contribution":{"type":"number","description":"Points this category adds to the framework composite — `score × weight`, rounded to one decimal. The rounded sum across contributors approximates the framework composite (each contribution is rounded independently).","uniqueKey":"composite.contributors.additionalProperties.weighted_contribution","typeLabel":"number"}},"required":["score","weight"],"uniqueKey":"composite.contributors.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"composite.contributors","typeLabel":"object"},"upstream_risk":{"oneOf":[{"type":"number","description":"Verbatim upstream pipeline risk (0–100, higher = worse). Acts as a lower bound on `score`. `null` when there is no upstream score (data-only vaults, e.g. Kamino on Solana awaiting native scoring) — in that case no upstream floor is applied. Guard against null before formatting.","isRequired":true,"uniqueKey":"composite.upstream_risk.oneOf.0","typeLabel":"number"},{"type":"null","description":"Verbatim upstream pipeline risk (0–100, higher = worse). Acts as a lower bound on `score`. `null` when there is no upstream score (data-only vaults, e.g. Kamino on Solana awaiting native scoring) — in that case no upstream floor is applied. Guard against null before formatting.","isRequired":true,"uniqueKey":"composite.upstream_risk.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"composite.upstream_risk","typeLabel":"number | null"},"clamped_by_upstream":{"type":"boolean","description":"true iff upstream_risk exceeded the framework composite and pulled `score` up.","isRequired":true,"uniqueKey":"composite.clamped_by_upstream","typeLabel":"boolean"},"score_source":{"type":"string","enum":["framework","upstream","floor","unrated"],"description":"What set the emitted `score`: `framework` when the v3 weighted composite won, `upstream` when the pipeline floor did (equivalent to `clamped_by_upstream`), `floor` when a hard guardrail floor did (a critical red flag such as a critical depeg, an exit recommendation or effectively-locked liquidity), or `unrated` for an unrated vault (`rated: false`), which has no score. When `upstream` or `floor`, `drivers` can be empty even on a bad grade.","uniqueKey":"composite.score_source","typeLabel":"enum\u003cstring>"},"rated":{"type":"boolean","description":"Vault composites only. `false` when the vault has not been assessed (no upstream risk score and no guardrail floor): `grade`, `score` and `stars` are `null` and `score_source` is `unrated`. Render it as Unrated, never as a grade. `true` for every graded vault. Not present on RWA or stablecoin composites.","uniqueKey":"composite.rated","typeLabel":"boolean"},"drivers":{"type":"array","description":"Ranked subcategory drivers of the grade (descending by `weighted_contribution`), each with the warn/fail criteria and evidence that drove it. Detail endpoints only (`GET /v3/vaults/{address}`, `GET /v3/rwa/{address}`); batch/list omit it. Read with `drivers_complete`: an empty `[]` is only a clean grade when `drivers_complete` is true.","items":{"type":"object","description":"One ranked subcategory driver of the grade (descending by `weighted_contribution`), with the warn/fail criteria that drove it. NOTE: for RWA, `criteria` are descriptive context, not a numeric decomposition of `score` (RWA category scores come from inverted v2 pillars, not criterion penalties).","properties":{"category":{"type":"string","example":"market_liquidity","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].category","typeLabel":"string"},"category_name":{"type":"string","example":"Market \u0026 liquidity","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].category_name","typeLabel":"string"},"score":{"type":"number","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].score","typeLabel":"number"},"weight":{"type":"number","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].weight","typeLabel":"number"},"weighted_contribution":{"type":"number","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].weighted_contribution","typeLabel":"number"},"criteria":{"type":"array","items":{"type":"object","description":"One non-pass criterion inside a composite driver — the specific warn/fail check that pulled a subcategory's score up, with the evidence behind it.","properties":{"key":{"type":"string","example":"large_holder_concentration","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","example":"Large-holder concentration bounded","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX].name","typeLabel":"string"},"status":{"type":"string","enum":["warn","fail"],"isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"assessed":{"type":"boolean","description":"`false` = an unverified missing-data `warn` listed for completeness, not a finding driving the grade.","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX].assessed","typeLabel":"boolean"},"evidence":{"type":"object","description":"Underlying values behind the verdict, when available.","additionalProperties":true,"example":{"hci_10":0.34},"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX].evidence","typeLabel":"object"}},"required":["key","name","status","assessed"],"uniqueKey":"composite.drivers.items.[INDEX].criteria.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].criteria","typeLabel":"object[]"},"reasons":{"type":"array","items":{"type":"object","description":"One plain-language reason behind a category score.","properties":{"key":{"type":"string","description":"The criterion key; or `baseline` when an RWA category's underlying risk-model pillar alone rates it medium risk or worse; or `credit` for an RWA audit or trusted-issuer credit that lowered a score that has other reasons.","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].key","typeLabel":"string"},"status":{"type":"string","enum":["pass","warn","fail"],"description":"The criterion's status. `pass` only on a `credit`. A `baseline` reads `warn` at medium (≥ 25) and `fail` at high (≥ 50).","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"Short, vendor-neutral, sentence-case reason, e.g. \"Owner is an EOA (not a multisig)\" or \"Very low utilisation (idle capital)\". Vault reasons are phrased for the risk flag that fired (schema 3.11; earlier versions served the flag name).","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].text","typeLabel":"string"},"points":{"oneOf":[{"type":"number","description":"What this reason adds to `score`. Vaults: exact, 25 per fail and 10 per warn, before the 100 cap. RWA: `null` for a failing criterion (failures fold in jointly), 0 for a measured warn, the pillar value for a `baseline` that set the score (0 when failures set it), negative for `credit`. Summing reasons reproduces the score for vaults only; an RWA score is max(baseline, failures) minus credits.","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].points.oneOf.0","typeLabel":"number"},{"type":"null","description":"What this reason adds to `score`. Vaults: exact, 25 per fail and 10 per warn, before the 100 cap. RWA: `null` for a failing criterion (failures fold in jointly), 0 for a measured warn, the pillar value for a `baseline` that set the score (0 when failures set it), negative for `credit`. Summing reasons reproduces the score for vaults only; an RWA score is max(baseline, failures) minus credits.","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].points.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].points","typeLabel":"number | null"},"assessed":{"type":"boolean","description":"Same as the criterion's `assessed`; always true for `baseline` and `credit`.","isRequired":true,"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX].assessed","typeLabel":"boolean"}},"required":["key","status","text","points","assessed"],"uniqueKey":"composite.drivers.items.[INDEX].reasons.items.[INDEX]","typeLabel":"object"},"description":"Detail responses only (schema 3.10). The same plain-language reasons as `categories[category].reasons` (the whole list, including an RWA `credit`), so a driver and its category give one explanation. Optional: absent where the categories carry no `reasons`; `[]` where the category has nothing to explain.","uniqueKey":"composite.drivers.items.[INDEX].reasons","typeLabel":"object[]"}},"required":["category","category_name","score","weight","weighted_contribution","criteria"],"uniqueKey":"composite.drivers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"composite.drivers","typeLabel":"object[]"},"drivers_complete":{"type":"boolean","description":"Whether `drivers` is the complete explanation of the grade. `true` (framework-sourced) ⇒ `drivers` fully attribute it and `[]` means a genuinely clean grade. `false` (upstream-clamped) ⇒ `drivers` reflect only the framework sub-signal and can be empty even on a bad grade — render `upstream_risk`, not \"no risk\". Detail endpoints only, alongside `drivers`.","uniqueKey":"composite.drivers_complete","typeLabel":"boolean"}},"required":["grading_scheme","grade","stars","score","contributors","upstream_risk","clamped_by_upstream"],"isRequired":true,"uniqueKey":"composite","typeLabel":"object"},"categories":{"type":"object","additionalProperties":{"type":"object","description":"A Webacy-native category. `score` is 0–100, HIGHER = WORSE (risk-magnitude; A+ = 0, F = 100). Categories with no live criteria emit `{ score: 0, assessed: false, criteria: {} }`.","properties":{"score":{"type":"number","description":"0–100, higher = worse. Integer in practice. Read with `assessed`: a not-assessed category serves 0, which then means \"not assessed\", not \"no risk\".","isRequired":true,"uniqueKey":"categories.additionalProperties.score","typeLabel":"number"},"assessed":{"type":"boolean","description":"`false` when nothing in the category was measured (no criterion with `assessed: true` and no upstream pillar behind the score). Under the default and other served grading schemes the composite still averages it in at its declared weight (grades unchanged). Under the preview schemes that renormalise, it is dropped from the weighted average and its contributor carries `weight: 0`.","isRequired":true,"uniqueKey":"categories.additionalProperties.assessed","typeLabel":"boolean"},"criteria":{"type":"object","additionalProperties":{"type":"object","description":"One graded criterion: pass/warn/fail verdict, human-readable label, provenance, and the underlying values behind the verdict.","properties":{"status":{"type":"string","enum":["pass","warn","fail"],"isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.status","typeLabel":"enum\u003cstring>"},"data_quality":{"type":"object","description":"Provenance envelope on every emitted v3 criterion. Vault criteria currently report vault-level freshness uniformly; RWA / stablecoin criteria report true per-source values.","properties":{"confidence":{"type":"number","description":"0–1 confidence in the underlying data point.","example":0.95,"isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.data_quality.confidence","typeLabel":"number"},"last_observed_at":{"type":"string","format":"date-time","description":"Upstream observation timestamp.","isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.data_quality.last_observed_at","typeLabel":"string\u003cdate-time>"},"source":{"type":"string","example":"rwa-grade-pipeline","isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.data_quality.source","typeLabel":"string"}},"required":["confidence","last_observed_at","source"],"isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.data_quality","typeLabel":"object"},"assessed":{"type":"boolean","description":"`false` when the verdict is a missing-data default, not a measurement: no source value was available, so nothing was measured and the criterion is not counted in `coverage.measured_criteria`. Such a criterion usually reads `warn` (\"unverified\"), but can read `pass` where the absence of a signal is the default verdict (e.g. a chain criterion with no current chain-risk data). `true` when a value drove `status`. Branch on this field, never on `status`.","isRequired":true,"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.assessed","typeLabel":"boolean"},"name":{"type":"string","description":"Human-readable criterion label, mirrored from the framework taxonomy.","example":"Large-holder concentration bounded","uniqueKey":"categories.additionalProperties.criteria.additionalProperties.name","typeLabel":"string"},"evidence":{"type":"object","description":"Underlying values behind the verdict — the actual risk numbers (e.g. `{ hci_10: 0.34 }`, `{ looping_rate: 0.82 }`, `{ audit_count: 1, auditor_tier: \"mid\" }`). For tag-driven vault criteria with no numeric field, a non-pass verdict carries `{ triggered_by_tag: \u003ctag> }`. Omitted when no value is available.","additionalProperties":true,"example":{"hci_10":0.34},"uniqueKey":"categories.additionalProperties.criteria.additionalProperties.evidence","typeLabel":"object"}},"required":["status","data_quality","assessed"],"uniqueKey":"categories.additionalProperties.criteria.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"categories.additionalProperties.criteria","typeLabel":"object"},"tier":{"type":"string","enum":["unknown","low","medium","high","critical"],"description":"Detail responses only. Risk band of `score` with inclusive bounds: ≥ 75 critical, ≥ 50 high, ≥ 25 medium, else low. `unknown` when `assessed` is false or the vault is unrated.","uniqueKey":"categories.additionalProperties.tier","typeLabel":"enum\u003cstring>"},"description":{"type":"string","description":"Detail responses only. What the category measures (the methodology copy, also served by `/api/v3/framework`).","uniqueKey":"categories.additionalProperties.description","typeLabel":"string"},"reasons":{"type":"array","items":{"type":"object","description":"One plain-language reason behind a category score.","properties":{"key":{"type":"string","description":"The criterion key; or `baseline` when an RWA category's underlying risk-model pillar alone rates it medium risk or worse; or `credit` for an RWA audit or trusted-issuer credit that lowered a score that has other reasons.","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].key","typeLabel":"string"},"status":{"type":"string","enum":["pass","warn","fail"],"description":"The criterion's status. `pass` only on a `credit`. A `baseline` reads `warn` at medium (≥ 25) and `fail` at high (≥ 50).","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"Short, vendor-neutral, sentence-case reason, e.g. \"Owner is an EOA (not a multisig)\" or \"Very low utilisation (idle capital)\". Vault reasons are phrased for the risk flag that fired (schema 3.11; earlier versions served the flag name).","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].text","typeLabel":"string"},"points":{"oneOf":[{"type":"number","description":"What this reason adds to `score`. Vaults: exact, 25 per fail and 10 per warn, before the 100 cap. RWA: `null` for a failing criterion (failures fold in jointly), 0 for a measured warn, the pillar value for a `baseline` that set the score (0 when failures set it), negative for `credit`. Summing reasons reproduces the score for vaults only; an RWA score is max(baseline, failures) minus credits.","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].points.oneOf.0","typeLabel":"number"},{"type":"null","description":"What this reason adds to `score`. Vaults: exact, 25 per fail and 10 per warn, before the 100 cap. RWA: `null` for a failing criterion (failures fold in jointly), 0 for a measured warn, the pillar value for a `baseline` that set the score (0 when failures set it), negative for `credit`. Summing reasons reproduces the score for vaults only; an RWA score is max(baseline, failures) minus credits.","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].points.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].points","typeLabel":"number | null"},"assessed":{"type":"boolean","description":"Same as the criterion's `assessed`; always true for `baseline` and `credit`.","isRequired":true,"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX].assessed","typeLabel":"boolean"}},"required":["key","status","text","points","assessed"],"uniqueKey":"categories.additionalProperties.reasons.items.[INDEX]","typeLabel":"object"},"description":"Detail responses only. Why the category scores what it does, biggest driver first. Empty for a clean or not-assessed category. Lists the non-pass criteria that were measured or that move the score; an unverified RWA criterion moves nothing and stays in `criteria` only.","uniqueKey":"categories.additionalProperties.reasons","typeLabel":"object[]"}},"required":["score","assessed","criteria"],"uniqueKey":"categories.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"categories","typeLabel":"object"},"coverage":{"type":"object","description":"How many criteria are live today vs defined by the framework — so what the grade reflects is on the wire, not just in docs. `live` / `total` describe the framework; on the RWA / stablecoin detail response `measured_criteria` / `per_category[*].measured` add the per-asset count of criteria that produced a measurement (`assessed: true`), excluding unverified ones.","properties":{"framework_version":{"type":"string","example":"v1","isRequired":true,"uniqueKey":"coverage.framework_version","typeLabel":"string"},"total_criteria":{"type":"integer","isRequired":true,"uniqueKey":"coverage.total_criteria","typeLabel":"integer"},"live_criteria":{"type":"integer","isRequired":true,"uniqueKey":"coverage.live_criteria","typeLabel":"integer"},"per_category":{"type":"object","additionalProperties":{"type":"object","properties":{"live":{"type":"integer","isRequired":true,"uniqueKey":"coverage.per_category.additionalProperties.live","typeLabel":"integer"},"total":{"type":"integer","isRequired":true,"uniqueKey":"coverage.per_category.additionalProperties.total","typeLabel":"integer"},"measured":{"type":"integer","description":"RWA / stablecoin detail only: how many of `live` produced a measurement for this asset (`assessed: true`); unverified criteria are excluded. Absent on taxonomy-only coverage.","uniqueKey":"coverage.per_category.additionalProperties.measured","typeLabel":"integer"}},"required":["live","total"],"uniqueKey":"coverage.per_category.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"coverage.per_category","typeLabel":"object"},"measured_criteria":{"type":"integer","description":"RWA / stablecoin detail only: Σ `per_category[*].measured` — live criteria measured for this asset.","uniqueKey":"coverage.measured_criteria","typeLabel":"integer"}},"required":["framework_version","total_criteria","live_criteria","per_category"],"isRequired":true,"uniqueKey":"coverage","typeLabel":"object"},"attributes":{"type":"object","description":"Curated, grouped passthrough of the RWA grade record's detail-only facts. Always present as a block; individual leaves are null when the underlying value is not available. The safety score/grade are intentionally excluded — `composite` remains the only grade.","properties":{"market":{"type":"object","properties":{"price_usd":{"oneOf":[{"type":"number","description":"Live monitor price (the overlaid value whose timestamp is metadata.price_as_of), not the 6-hourly snapshot.","isRequired":true,"uniqueKey":"attributes.market.price_usd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Live monitor price (the overlaid value whose timestamp is metadata.price_as_of), not the 6-hourly snapshot.","isRequired":true,"uniqueKey":"attributes.market.price_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.market.price_usd","typeLabel":"number | null"},"volume_24h_usd":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.market.volume_24h_usd.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.market.volume_24h_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.market.volume_24h_usd","typeLabel":"number | null"}},"required":["price_usd","volume_24h_usd"],"isRequired":true,"uniqueKey":"attributes.market","typeLabel":"object"},"liquidity":{"type":"object","properties":{"total_dex_liquidity_usd":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.liquidity.total_dex_liquidity_usd.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.liquidity.total_dex_liquidity_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.liquidity.total_dex_liquidity_usd","typeLabel":"number | null"},"liquidity_depth_tier":{"oneOf":[{"type":"string","enum":["deep","medium","shallow","very_low",null],"isRequired":true,"uniqueKey":"attributes.liquidity.liquidity_depth_tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["deep","medium","shallow","very_low",null],"isRequired":true,"uniqueKey":"attributes.liquidity.liquidity_depth_tier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.liquidity.liquidity_depth_tier","typeLabel":"enum\u003cstring> | null"}},"required":["total_dex_liquidity_usd","liquidity_depth_tier"],"isRequired":true,"uniqueKey":"attributes.liquidity","typeLabel":"object"},"classification":{"type":"object","properties":{"token_type":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.classification.token_type.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.classification.token_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.classification.token_type","typeLabel":"string | null"}},"required":["token_type"],"isRequired":true,"uniqueKey":"attributes.classification","typeLabel":"object"},"issuer":{"type":"object","properties":{"issuer":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.issuer.issuer.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.issuer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.issuer","typeLabel":"string | null"},"is_bridged":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.issuer.is_bridged.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.is_bridged.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.is_bridged","typeLabel":"boolean | null"},"bridged_fraction":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.issuer.bridged_fraction.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.bridged_fraction.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.bridged_fraction","typeLabel":"number | null"},"reserve_attestation_provider":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_provider.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_provider.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_provider","typeLabel":"string | null"},"reserve_attestation_type":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_type.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_type","typeLabel":"string | null"},"reserve_attestation_date":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_date.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_date","typeLabel":"string | null"},"reserve_attestation_lag_days":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_lag_days.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_lag_days.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.issuer.reserve_attestation_lag_days","typeLabel":"number | null"}},"required":["issuer","is_bridged","bridged_fraction","reserve_attestation_provider","reserve_attestation_type","reserve_attestation_date","reserve_attestation_lag_days"],"isRequired":true,"uniqueKey":"attributes.issuer","typeLabel":"object"},"audits":{"type":"object","properties":{"audit_count":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.audits.audit_count.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.audits.audit_count.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.audits.audit_count","typeLabel":"number | null"},"auditor_tier":{"oneOf":[{"type":"string","enum":["top","mid","low","basic",null],"isRequired":true,"uniqueKey":"attributes.audits.auditor_tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["top","mid","low","basic",null],"isRequired":true,"uniqueKey":"attributes.audits.auditor_tier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.audits.auditor_tier","typeLabel":"enum\u003cstring> | null"},"last_audit_date":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.audits.last_audit_date.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.audits.last_audit_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.audits.last_audit_date","typeLabel":"string | null"},"audit_firms":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"attributes.audits.audit_firms.oneOf.0.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"attributes.audits.audit_firms.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"isRequired":true,"uniqueKey":"attributes.audits.audit_firms.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.audits.audit_firms","typeLabel":"string[] | null"}},"required":["audit_count","auditor_tier","last_audit_date","audit_firms"],"isRequired":true,"uniqueKey":"attributes.audits","typeLabel":"object"},"governance":{"type":"object","properties":{"governance_tier":{"oneOf":[{"type":"string","enum":["strong","adequate","weak","critical",null],"isRequired":true,"uniqueKey":"attributes.governance.governance_tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["strong","adequate","weak","critical",null],"isRequired":true,"uniqueKey":"attributes.governance.governance_tier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.governance_tier","typeLabel":"enum\u003cstring> | null"},"owner_is_multisig":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.governance.owner_is_multisig.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.owner_is_multisig.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.owner_is_multisig","typeLabel":"boolean | null"},"multisig_threshold":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.multisig_threshold.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.multisig_threshold.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.multisig_threshold","typeLabel":"number | null"},"multisig_signer_count":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.multisig_signer_count.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.multisig_signer_count.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.multisig_signer_count","typeLabel":"number | null"},"owner_timelock_seconds":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.owner_timelock_seconds.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.owner_timelock_seconds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.owner_timelock_seconds","typeLabel":"number | null"},"upgrade_admin_address":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_address.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_address","typeLabel":"string | null"},"upgrade_admin_is_eoa":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_is_eoa.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_is_eoa.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.upgrade_admin_is_eoa","typeLabel":"boolean | null"},"currently_paused":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.governance.currently_paused.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.currently_paused.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.currently_paused","typeLabel":"boolean | null"},"governance_alert":{"oneOf":[{"type":"string","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.governance_alert.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.governance_alert.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.governance_alert","typeLabel":"enum\u003cstring> | null"},"governance_alert_detail":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.governance.governance_alert_detail.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.governance_alert_detail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.governance_alert_detail","typeLabel":"string | null"},"mint_role_is_single_eoa":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.governance.mint_role_is_single_eoa.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.mint_role_is_single_eoa.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_is_single_eoa","typeLabel":"boolean | null"},"mint_role_alert":{"oneOf":[{"type":"string","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_alert.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_alert.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_alert","typeLabel":"enum\u003cstring> | null"},"mint_authority":{"oneOf":[{"type":"object","description":"Structured mint-authority descriptor; shape omitted here.","isRequired":true,"uniqueKey":"attributes.governance.mint_authority.oneOf.0","typeLabel":"object"},{"type":"null","description":"Structured mint-authority descriptor; shape omitted here.","isRequired":true,"uniqueKey":"attributes.governance.mint_authority.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_authority","typeLabel":"object | null"},"mint_activity_total_minted_30d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.mint_activity_total_minted_30d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.mint_activity_total_minted_30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_activity_total_minted_30d","typeLabel":"number | null"},"mint_activity_tx_count_30d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.mint_activity_tx_count_30d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.mint_activity_tx_count_30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_activity_tx_count_30d","typeLabel":"number | null"},"mint_activity_alert":{"oneOf":[{"type":"string","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.mint_activity_alert.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["critical","warning",null],"isRequired":true,"uniqueKey":"attributes.governance.mint_activity_alert.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_activity_alert","typeLabel":"enum\u003cstring> | null"},"upgrades_30d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.upgrades_30d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.upgrades_30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.upgrades_30d","typeLabel":"number | null"},"pause_events_90d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.pause_events_90d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.pause_events_90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.pause_events_90d","typeLabel":"number | null"},"ownership_changes_90d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.ownership_changes_90d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.ownership_changes_90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.ownership_changes_90d","typeLabel":"number | null"},"mint_role_grants_90d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.mint_role_grants_90d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.mint_role_grants_90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_grants_90d","typeLabel":"number | null"},"mint_role_revocations_90d":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.governance.mint_role_revocations_90d.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.governance.mint_role_revocations_90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.governance.mint_role_revocations_90d","typeLabel":"number | null"}},"required":["governance_tier","owner_is_multisig","multisig_threshold","multisig_signer_count","owner_timelock_seconds","upgrade_admin_address","upgrade_admin_is_eoa","currently_paused","governance_alert","governance_alert_detail","mint_role_is_single_eoa","mint_role_alert","mint_authority","mint_activity_total_minted_30d","mint_activity_tx_count_30d","mint_activity_alert","upgrades_30d","pause_events_90d","ownership_changes_90d","mint_role_grants_90d","mint_role_revocations_90d"],"isRequired":true,"uniqueKey":"attributes.governance","typeLabel":"object"},"hacks":{"type":"object","properties":{"has_exploit_history":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"attributes.hacks.has_exploit_history.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"attributes.hacks.has_exploit_history.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.hacks.has_exploit_history","typeLabel":"boolean | null"},"exploit_total_usd":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"attributes.hacks.exploit_total_usd.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"attributes.hacks.exploit_total_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.hacks.exploit_total_usd","typeLabel":"number | null"},"hack_classification":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.hacks.hack_classification.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.hacks.hack_classification.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.hacks.hack_classification","typeLabel":"string | null"},"hack_technique":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"attributes.hacks.hack_technique.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"attributes.hacks.hack_technique.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.hacks.hack_technique","typeLabel":"string | null"}},"required":["has_exploit_history","exploit_total_usd","hack_classification","hack_technique"],"isRequired":true,"uniqueKey":"attributes.hacks","typeLabel":"object"},"sanctions":{"type":"object","properties":{"sanctions_status":{"oneOf":[{"type":"string","enum":["none","proposed","designated",null],"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["none","proposed","designated",null],"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_status","typeLabel":"enum\u003cstring> | null"},"sanctions_designations":{"oneOf":[{"type":"array","items":{"type":"object","uniqueKey":"attributes.sanctions.sanctions_designations.oneOf.0.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_designations.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object"},"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_designations.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attributes.sanctions.sanctions_designations","typeLabel":"object[] | null"}},"required":["sanctions_status","sanctions_designations"],"isRequired":true,"uniqueKey":"attributes.sanctions","typeLabel":"object"}},"required":["market","liquidity","classification","issuer","audits","governance","hacks","sanctions"],"isRequired":true,"uniqueKey":"attributes","typeLabel":"object"},"classification_available":{"type":"boolean","description":"false when the asset classification could not be loaded — `metadata.asset_type` falls back to `stablecoin` and `asset_class` / `subclass` are null. `GET /v3/stablecoins/{address}` fails closed (503) in that state.","uniqueKey":"classification_available","typeLabel":"boolean"}},"required":["schema_version","metadata","composite","categories","coverage","attributes"],"uniqueKey":"","typeLabel":"object"},"example":{"schema_version":"3.5","metadata":{"address":"0x100faa513ac917181eb29f73b64bf7a434a206fe","chain":"base","symbol":"usdb","name":"USDBridge","asset_type":"stablecoin","market_cap_usd":null},"composite":{"grading_scheme":"v1","grade":"A-","stars":5,"score":14.5,"contributors":{"smart_contract":{"score":41.5,"weight":0.2,"weighted_contribution":8.3},"operational_governance":{"score":41.5,"weight":0.15,"weighted_contribution":6.2},"asset_collateral":{"score":0,"weight":0.3,"weighted_contribution":0},"market_liquidity":{"score":0,"weight":0.2,"weighted_contribution":0},"counterparty":{"score":0,"weight":0,"weighted_contribution":0},"hack_exploit_history":{"score":0,"weight":0.15,"weighted_contribution":0},"chain_infrastructure":{"score":0,"weight":0,"weighted_contribution":0}},"upstream_risk":12,"clamped_by_upstream":false,"score_source":"framework","drivers_complete":true,"drivers":[{"category":"smart_contract","category_name":"Smart contract","score":41.5,"weight":0.2,"weighted_contribution":8.3,"criteria":[{"key":"audited","name":"Has third-party audits","status":"warn","evidence":{"audit_count":1,"auditor_tier":"mid"}},{"key":"mint_cap_present","name":"Minting is capped","status":"warn","evidence":{"mint_cap_status":"uncapped"}}]}]},"categories":{"asset_collateral":{"score":0,"criteria":{"share_price_stable":{"name":"Not depegged","status":"pass","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}},"mint_burn_anomaly":{"name":"No mint/burn anomalies","status":"pass","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}}}},"smart_contract":{"score":41.5,"criteria":{"audited":{"name":"Has third-party audits","status":"warn","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}},"mint_cap_present":{"name":"Minting is capped","status":"warn","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}}}}},"coverage":{"framework_version":"v1","total_criteria":12,"live_criteria":8,"per_category":{"smart_contract":{"live":2,"total":2},"operational_governance":{"live":2,"total":4},"asset_collateral":{"live":2,"total":3},"market_liquidity":{"live":1,"total":2},"counterparty":{"live":0,"total":0},"hack_exploit_history":{"live":1,"total":1},"chain_infrastructure":{"live":0,"total":0}}},"attributes":{"market":{"price_usd":1,"volume_24h_usd":45000000},"liquidity":{"total_dex_liquidity_usd":50000000,"liquidity_depth_tier":"deep"},"classification":{"token_type":"standard"},"issuer":{"issuer":"Example Labs","is_bridged":false,"bridged_fraction":0.04,"reserve_attestation_provider":"Deloitte","reserve_attestation_type":"monthly_attestation","reserve_attestation_date":"2026-06-30","reserve_attestation_lag_days":10},"audits":{"audit_count":5,"auditor_tier":"top","last_audit_date":"2026-02-15","audit_firms":["OpenZeppelin","Trail of Bits"]},"governance":{"governance_tier":"strong","owner_is_multisig":true,"multisig_threshold":4,"multisig_signer_count":8,"owner_timelock_seconds":86400,"upgrade_admin_address":"0xC0ffee0000000000000000000000000000000002","upgrade_admin_is_eoa":false,"currently_paused":false,"governance_alert":null,"governance_alert_detail":null,"mint_role_is_single_eoa":false,"mint_role_alert":null,"mint_authority":null,"mint_activity_total_minted_30d":null,"mint_activity_tx_count_30d":null,"mint_activity_alert":null,"upgrades_30d":0,"pause_events_90d":0,"ownership_changes_90d":1,"mint_role_grants_90d":2,"mint_role_revocations_90d":0},"hacks":{"has_exploit_history":false,"exploit_total_usd":null,"hack_classification":null,"hack_technique":null},"sanctions":{"sanctions_status":null,"sanctions_designations":null}}},"examples":{"Example":{"title":"Example","value":{"schema_version":"3.5","metadata":{"address":"0x100faa513ac917181eb29f73b64bf7a434a206fe","chain":"base","symbol":"usdb","name":"USDBridge","asset_type":"stablecoin","market_cap_usd":null},"composite":{"grading_scheme":"v1","grade":"A-","stars":5,"score":14.5,"contributors":{"smart_contract":{"score":41.5,"weight":0.2,"weighted_contribution":8.3},"operational_governance":{"score":41.5,"weight":0.15,"weighted_contribution":6.2},"asset_collateral":{"score":0,"weight":0.3,"weighted_contribution":0},"market_liquidity":{"score":0,"weight":0.2,"weighted_contribution":0},"counterparty":{"score":0,"weight":0,"weighted_contribution":0},"hack_exploit_history":{"score":0,"weight":0.15,"weighted_contribution":0},"chain_infrastructure":{"score":0,"weight":0,"weighted_contribution":0}},"upstream_risk":12,"clamped_by_upstream":false,"score_source":"framework","drivers_complete":true,"drivers":[{"category":"smart_contract","category_name":"Smart contract","score":41.5,"weight":0.2,"weighted_contribution":8.3,"criteria":[{"key":"audited","name":"Has third-party audits","status":"warn","evidence":{"audit_count":1,"auditor_tier":"mid"}},{"key":"mint_cap_present","name":"Minting is capped","status":"warn","evidence":{"mint_cap_status":"uncapped"}}]}]},"categories":{"asset_collateral":{"score":0,"criteria":{"share_price_stable":{"name":"Not depegged","status":"pass","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}},"mint_burn_anomaly":{"name":"No mint/burn anomalies","status":"pass","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}}}},"smart_contract":{"score":41.5,"criteria":{"audited":{"name":"Has third-party audits","status":"warn","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}},"mint_cap_present":{"name":"Minting is capped","status":"warn","data_quality":{"confidence":0.95,"last_observed_at":"2026-06-02T09:49:36Z","source":"rwa-grade-pipeline"}}}}},"coverage":{"framework_version":"v1","total_criteria":12,"live_criteria":8,"per_category":{"smart_contract":{"live":2,"total":2},"operational_governance":{"live":2,"total":4},"asset_collateral":{"live":2,"total":3},"market_liquidity":{"live":1,"total":2},"counterparty":{"live":0,"total":0},"hack_exploit_history":{"live":1,"total":1},"chain_infrastructure":{"live":0,"total":0}}},"attributes":{"market":{"price_usd":1,"volume_24h_usd":45000000},"liquidity":{"total_dex_liquidity_usd":50000000,"liquidity_depth_tier":"deep"},"classification":{"token_type":"standard"},"issuer":{"issuer":"Example Labs","is_bridged":false,"bridged_fraction":0.04,"reserve_attestation_provider":"Deloitte","reserve_attestation_type":"monthly_attestation","reserve_attestation_date":"2026-06-30","reserve_attestation_lag_days":10},"audits":{"audit_count":5,"auditor_tier":"top","last_audit_date":"2026-02-15","audit_firms":["OpenZeppelin","Trail of Bits"]},"governance":{"governance_tier":"strong","owner_is_multisig":true,"multisig_threshold":4,"multisig_signer_count":8,"owner_timelock_seconds":86400,"upgrade_admin_address":"0xC0ffee0000000000000000000000000000000002","upgrade_admin_is_eoa":false,"currently_paused":false,"governance_alert":null,"governance_alert_detail":null,"mint_role_is_single_eoa":false,"mint_role_alert":null,"mint_authority":null,"mint_activity_total_minted_30d":null,"mint_activity_tx_count_30d":null,"mint_activity_alert":null,"upgrades_30d":0,"pause_events_90d":0,"ownership_changes_90d":1,"mint_role_grants_90d":2,"mint_role_revocations_90d":0},"hacks":{"has_exploit_history":false,"exploit_total_usd":null,"hack_classification":null,"hack_technique":null},"sanctions":{"sanctions_status":null,"sanctions_designations":null}}}}},"exampleType":"examples"}},"exampleType":"examples"},"bbb31081-130d-4467-94e8-1eb8873e1ead":{"description":"Invalid address, chain, or grading_scheme.","headers":{"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"b9ffa37c-e8fd-439a-970a-56d5b50b53f6":{"description":"Keyless x402 payment required. Returned for a keyless caller (gateway entry `x-webacy-entry: x402`) with no prepaid CU balance or insufficient CU on the presented credit token. Identified by the base64 `PAYMENT-REQUIRED` response header; the body carries the x402 challenge (a USDC price on Base and a Stripe-minted deposit address). Pay it, then retry with the `PAYMENT-SIGNATURE` header to unlock the resource and receive a credit token. An authenticated api-key caller with a past_due/unpaid subscription may instead receive a different 402 (`Subscription payment required`, plain JSON, no `PAYMENT-REQUIRED` header).","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 challenge (network, asset, amount, payTo, resource.url). The edge rollout supplies the canonical public request path through a valid gateway claim; missing or invalid claims safely fall back to the public origin plus an internal path identifier. resource.url is not yet suitable for publishing to a public x402 discovery catalog (Coinbase's Bazaar): route-specific declarations and live paid validation are still pending.","schema":{"type":"string"}},"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"content":{"application/json":{"example":{"x402Version":1,"error":"payment required"},"examples":{"Example":{"title":"Example","value":{"x402Version":1,"error":"payment required"}}},"exampleType":"examples"}},"exampleType":"examples"},"5c10bbd7-8c2e-46f3-a4b4-6b03b9b0b473":{"description":"Missing or invalid x-api-key.","headers":{"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"0fd18ab1-4f67-4a28-8564-d03bc237488f":{"description":"Grade data not found.","headers":{"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"ab70c222-5009-4388-9b9a-88e1efecbfc2":{"description":"x402 paywall fails CLOSED: if payment configuration is incomplete or invalid, the x402 route unexpectedly has no payment requirement, or the facilitator, credit store, or settlement is unavailable, a gated keyless request returns 503 (`Payment service temporarily unavailable`) rather than serving the resource unpaid.","content":{"application/json":{"example":{"message":"Payment service temporarily unavailable"},"examples":{"Example":{"title":"Example","value":{"message":"Payment service temporarily unavailable"}}},"exampleType":"examples"}},"headers":{"X-Request-Id":{"description":"Server-issued id for this request, returned on every response, success or error. Quote it to Webacy support to find the request. On risk endpoints it equals the `check_id` body field.","schema":{"type":"string","format":"uuid","example":"3f1c2b9e-7a4d-4e1b-9c55-0d6a2f8e4b71"}}},"exampleType":"examples"}},"security":{"ce1fe0c5-f780-488d-aa54-9f5c1dbd855d":{"api_key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api_key"}}},"servers":{"383ee277-cc3e-4c5b-9060-26029d813c28":{"url":"https://api.webacy.com","description":"Webacy Risk Score API (Production)"},"46e953d9-23d0-4ded-9dfe-145619c5b88e":{"url":"https://api-development.webacy.com","description":"Webacy Risk Score API (Development)"},"1c0a4a80-cff4-4732-8bb4-c1d6ddfb5c04":{"url":"http://0.0.0.0:3030/api/v1/risk-score","description":"Webacy Risk Score API - Local"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api_key"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api_key","name":"x-api-key"}],"title":"api_key"}]},"originalFileLocation":"openapi.json"},"subdomain":"webacy","siteName":"Webacy Docs","title":"Get risk detail for a single RWA - Webacy Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T19:56:23.311Z","originalFileLocation":"api-reference/rwa-v3/get-rwa-risk-detail.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns the v3 Webacy-native RWA / stablecoin decomposition: composite grade + per-category contributors, the dense categories criteria map, and coverage disclosure. No risk pass-through (the v2 RWA grade has none; composite carries the headline, floored by upstream_risk). POLARITY: scores 0–100, higher = worse.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Webacy Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get risk detail for a single RWA - Webacy Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns the v3 Webacy-native RWA / stablecoin decomposition: composite grade + per-category contributors, the dense categories criteria map, and coverage disclosure. No risk pass-through (the v2 RWA grade has none; composite carries the headline, floored by upstream_risk). POLARITY: scores 0–100, higher = worse.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Webacy Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://webacy.mintlify.site/_mintlify/api/og/v2?division=RWA\u0026amp;title=Get+risk+detail+for+a+single+RWA\u0026amp;description=Returns+the+v3+Webacy-native+RWA+%2F+stablecoin+decomposition%3A+%60composite%60+grade+%2B+per-category+%60contributors%60%2C+the+dense+%60categories%60+criteria+map%2C+and+%60coverage\u0026amp;theme=256fd323fde43a5eeef07bf6\u0026amp;signature=d24a5f03dfa9f419e9c9ebf0599dd028c8d253024dd2e9891c603d935189041d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get risk detail for a single RWA - Webacy Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns the v3 Webacy-native RWA / stablecoin decomposition: composite grade + per-category contributors, the dense categories criteria map, and coverage disclosure. No risk pass-through (the v2 RWA grade has none; composite carries the headline, floored by upstream_risk). POLARITY: scores 0–100, higher = worse.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://webacy.mintlify.site/_mintlify/api/og/v2?division=RWA\u0026amp;title=Get+risk+detail+for+a+single+RWA\u0026amp;description=Returns+the+v3+Webacy-native+RWA+%2F+stablecoin+decomposition%3A+%60composite%60+grade+%2B+per-category+%60contributors%60%2C+the+dense+%60categories%60+criteria+map%2C+and+%60coverage\u0026amp;theme=256fd323fde43a5eeef07bf6\u0026amp;signature=d24a5f03dfa9f419e9c9ebf0599dd028c8d253024dd2e9891c603d935189041d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/webacy/BDwg8pUd_cx6RnJh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Webacy Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00d66f\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/rwa-v3/get-rwa-risk-detail.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.webacy.com/#organization\",\"name\":\"Webacy Docs\",\"url\":\"https://docs.webacy.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/webacy/PZHkbk8qJrPsQSaC/logo/light.png?fit=max\u0026auto=format\u0026n=PZHkbk8qJrPsQSaC\u0026q=85\u0026s=c1933879883f6b01ff46a6e51cfd687f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.webacy.com#website\",\"name\":\"Webacy Docs\",\"url\":\"https://docs.webacy.com\",\"publisher\":{\"@id\":\"https://docs.webacy.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail#webpage\",\"url\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail\",\"name\":\"Get risk detail for a single RWA\",\"description\":\"Returns the v3 Webacy-native RWA / stablecoin decomposition: composite grade + per-category contributors, the dense categories criteria map, and coverage disclosure. No risk pass-through (the v2 RWA grade has none; composite carries the headline, floored by upstream_risk). POLARITY: scores 0–100, higher = worse.\",\"dateModified\":\"2026-10-01T19:56:23.311Z\",\"isPartOf\":{\"@id\":\"https://docs.webacy.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"RWA\",\"item\":\"https://docs.webacy.com/api-reference/rwa-v3\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get risk detail for a single RWA\",\"item\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail#apireference\",\"headline\":\"Get risk detail for a single RWA\",\"name\":\"Get risk detail for a single RWA\",\"description\":\"Returns the v3 Webacy-native RWA / stablecoin decomposition: composite grade + per-category contributors, the dense categories criteria map, and coverage disclosure. No risk pass-through (the v2 RWA grade has none; composite carries the headline, floored by upstream_risk). POLARITY: scores 0–100, higher = worse.\",\"url\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail\",\"mainEntityOfPage\":{\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-risk-detail#webpage\"},\"dateModified\":\"2026-10-01T19:56:23.311Z\",\"publisher\":{\"@id\":\"https://docs.webacy.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.webacy.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Webacy Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Webacy Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/rwa-v3/get-rwa-risk-detail.md","siteName":"Webacy Docs","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/introduction"}]},{"tab":"Build","pages":[{"title":"Build","href":"/getting-started"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/use-cases-guides-walkthroughs"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"Authenticate with the Webacy API using API keys","href":"/api-reference/authentication"},{"title":"Get current API usage","openapi":"GET /usage/current","href":"/api-reference/api-usage/get-current-api-usage"},{"title":"Get API usage for specified dates","openapi":"GET /usage","href":"/api-reference/api-usage/get-api-usage-for-specified-dates"},{"title":"Get current CU usage","openapi":"GET /usage/cu","href":"/api-reference/api-usage/get-current-cu-usage"},{"title":"Get daily CU usage","openapi":"GET /usage/cu/daily","href":"/api-reference/api-usage/get-daily-cu-usage"}]},{"group":"Stablecoins","pages":[{"title":"Depeg Monitor","href":"/api-reference/depeg-monitor"},{"title":"List pegged tokens — stablecoins \u0026 RWAs","openapi":"GET /rwa","href":"/api-reference/depeg-monitor/list-pegged-tokens-with-depeg-risk"},{"title":"Get risk detail for a single stablecoin","openapi":"GET /rwa/{address}","href":"/api-reference/depeg-monitor/get-depeg-risk-detail-for-a-pegged-token"},{"title":"List Stablecoins","openapi":"GET /v3/stablecoins","href":"/api-reference/stablecoins/list-stablecoins"},{"title":"List Stablecoin Grades","openapi":"GET /v3/stablecoins/grades","href":"/api-reference/stablecoins/get-stablecoin-grades"},{"title":"Get Stablecoin Risk Detail","openapi":"GET /v3/stablecoins/{address}","href":"/api-reference/stablecoins/get-stablecoin-detail"},{"title":"Holder Concentration Index API","href":"/api-reference/holder-concentration"},{"title":"List all stablecoin and rwa holder data","openapi":"GET /rwa/hci","href":"/api-reference/holder-concentration/list-holder-concentration-index"},{"title":"Get holder concentration history for one token","openapi":"GET /rwa/hci/history","href":"/api-reference/holder-concentration/get-holder-concentration-index-history"},{"title":"List stablecoin supply flows","openapi":"GET /rwa/supply","href":"/api-reference/supply-flows/list-supply-flows"},{"title":"Get supply-flow detail for one token","openapi":"GET /rwa/supply/{symbol}","href":"/api-reference/supply-flows/get-supply-flow-detail"}]},{"group":"RWA","pages":[{"title":"RWA Risk (v3)","description":"Use the Webacy V3 RWA endpoints for structural risk on stablecoins and tokenized real-world assets — composite grades, category scores, and coverage.","href":"/api-reference/rwa-v3"},{"title":"Get risk detail for a single RWA","openapi":"GET /v3/rwa/{address}","href":"/api-reference/rwa-v3/get-rwa-risk-detail"},{"title":"List RWA \u0026 stablecoin grades","openapi":"GET /v3/rwa/grades","description":"Paginated list of every graded RWA / stablecoin token with its v3 risk-polarity `composite` grade (letter + 0–100 score + per-category contributors). Filterable by chain / grade / minimum score, sortable, and paginated — the bulk companion to `GET /v3/rwa/{address}`. `grade_counts` is a histogram over the full graded universe — before every filter (`segment`, `chain`, `grade`, `minScore`) and before pagination. POLARITY: scores 0–100, higher = worse.","href":"/api-reference/rwa-v3/get-rwa-grades"},{"title":"Batch structural risk data for RWAs","openapi":"POST /v3/rwa/batch/structural-health","href":"/api-reference/rwa-v3/post-batch-structural-health"}]},{"group":"Vault Risk V3","pages":[{"title":"V3 Vault Risk API Overview","href":"/api-reference/vault-risk-v3/v3-overview"},{"title":"V3 Framework Methodology","href":"/api-reference/vault-risk-v3/framework-methodology"},{"title":"Get risk data for a single vault","openapi":"GET /v3/vaults/{address}","href":"/api-reference/vault-risk-v3/get-vault-risk-detail-v3"},{"title":"Batch vault ratings","openapi":"POST /v3/vaults/batch/grades","href":"/api-reference/vault-risk-v3/get-vault-grades-batch"},{"title":"Get vault risk data framework and taxonomy","openapi":"GET /v3/framework","href":"/api-reference/vault-risk-v3/get-framework"}]},{"group":"Vault History","pages":[{"title":"Get Vault TVL History","openapi":"GET /vaults/{address}/tvl-history","href":"/api-reference/vault-risk/get-vault-tvl-history"},{"title":"Get Vault Share Price History","openapi":"GET /vaults/{address}/share-price-history","href":"/api-reference/vault-risk/get-vault-share-price-history"}]},{"group":"Risk Intelligence","pages":[{"title":"Risk Due Diligence","href":"/api-reference/riskdd"},{"title":"Trading Due Diligence","href":"/api-reference/tradingdd"},{"title":"Risk intelligence for an address","openapi":"GET /addresses/{address}","href":"/api-reference/threat-risks/threat-considerations-for-an-address"},{"group":"Wallet","pages":[{"title":"Check if a wallet address is sanctioned","openapi":"GET /addresses/sanctioned/{walletAddress}","href":"/api-reference/sanction-checks/check-if-wallet-address-is-sanctioned"},{"title":"Detect address poisoning on a wallet address","openapi":"GET /addresses/{address}/poisoning","href":"/api-reference/address-poisoning/detect-address-poisoning-for-a-specific-wallet-address"},{"title":"Get open approvals with risk data on a wallet address","openapi":"GET /addresses/{address}/approvals","href":"/api-reference/approval-risks/approvals-with-threat-risks"},{"title":"Get the risk profile and exposure of a wallet address","openapi":"GET /quick-profile/{walletAddress}","href":"/api-reference/exposure-risk/understand-the-risk-profile-risk-exposure-of-an-address"}]},{"group":"Transaction","pages":[{"title":"Get risk details for a transaction hash","openapi":"GET /transactions/{txHash}","href":"/api-reference/transaction-risks/risk-details-for-a-transaction"},{"title":"Simulate a raw EVM transaction for security risks","openapi":"POST /scan/{fromAddress}/transactions","href":"/api-reference/transaction-scanning/scan-raw-evm-transaction-for-security-risks"},{"title":"Simulate an EIP-712 signed message for security risks","openapi":"POST /scan/{fromAddress}/eip712","href":"/api-reference/transaction-scanning/scan-eip-712-signed-message-for-security-risks"}]},{"group":"Token","pages":[{"title":"Get economic history for a token","openapi":"GET /tokens/{tokenAddress}","href":"/api-reference/token-analysis/get-token-economic-history"},{"title":"Get pools with risk assessment for a token","openapi":"GET /tokens/{tokenAddress}/pools","href":"/api-reference/token-analysis/get-token-pools-with-risk-assessment"},{"title":"Get trending tokens with risk analysis","openapi":"GET /tokens/trending","href":"/api-reference/token-analysis/get-trending-cryptocurrencies-with-risk-analysis"},{"title":"Get Solana token risk with security indicators","openapi":"GET /trading-lite/{address}","href":"/api-reference/trading-lite/get-simplified-token-analysis-with-security-indicators"},{"title":"Get detailed early holder analysis for a token","openapi":"GET /holder-analysis/{address}","href":"/api-reference/holder-analysis/get-detailed-early-holder-analysis-for-a-token"},{"title":"Get trending liquidity pools with risk data","openapi":"GET /tokens/pools/trending","href":"/api-reference/pool-analysis/get-trending-pools-with-risk-analysis"},{"title":"Get OHLCV and risk data for a liquidity pool","openapi":"GET /tokens/pools/{poolAddress}","href":"/api-reference/pool-analysis/get-pool-ohlcv-data-with-risk-assessment"}]},{"group":"Smart Contract","pages":[{"title":"Get full risk analysis for a contract address","openapi":"GET /contracts/{contractAddress}","href":"/api-reference/contract-risk/get-a-real-time-analysis-for-a-given-contract-address"},{"title":"Get only the source-code findings for a contract address","openapi":"GET /contracts/{contractAddress}/code-analysis","href":"/api-reference/contract-risk/get-source-code-analysis-for-a-contract"},{"title":"Get verified source code for a contract address","openapi":"GET /source-code/{contractAddress}","href":"/api-reference/contract-risk/get-verified-source-code-for-a-contract"}]},{"group":"URL","pages":[{"title":"Get risk analysis of a URL","openapi":"POST /url","href":"/api-reference/url-risks/project-url-risk-analysis"}]}]}]}]},"basePath":"","title":"Get risk detail for a single RWA - Webacy Docs","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}