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.
GET
/
v3
/
rwa
/
grades
List v3 RWA / stablecoin grades
curl --request GET \ --url https://api.webacy.com/v3/rwa/grades \ --header 'x-api-key: <api-key>'
Returns every graded RWA / stablecoin token with its headline composite grade (letter + 0–100 risk score + per-category contributors), filterable, sortable, and paginated. This is the bulk list companion to the per-token detail endpoint GET /v3/rwa/{address}.
grade_counts is a histogram over the full graded universe — before every filter (segment, chain, grade, minScore) and before pagination. Grades are emitted in the resolved grading_scheme’s letters (default v2).
The response carries two top-level freshness fields: generated_at (when this snapshot was produced) and stale (true when the snapshot is older than the expected refresh cadence). Unlike the RWA detail endpoint, this list gives you a stale flag you can hard-gate on. See Hard-gating and fail behavior.
segment scopes the list to stablecoin or rwa. The two are exclusive and total, so their counts add up to the unfiltered total.The grades universe is our grading snapshot rather than the set of classified tokens, and many tokens in it are not classified yet. Those fall to the stablecoin arm, so on this endpoint stablecoin means “pegged and not a classified RWA, including not-yet-classified”. Read each row’s asset_class to tell a confirmed fiat token ("fiat") from an unclassified one (null).pegType is not accepted on this route: grade rows carry no denomination. Use GET /rwa for that filter.For a stablecoin-only route that pins the segment server-side, see GET /v3/stablecoins/grades.
Filter by segment. A segment is a derived category over the classification dimensions, not a dimension value — do NOT pass an asset_class such as fiat or fixed-income here; each item carries both its computed segment and the dimensions it was derived from. rwa = is_rwa true and asset_class not fiat (tokenized treasuries/funds, gold); stablecoin = everything else — asset_class fiat (USDC, USDT, DAI, USDe) plus graded tokens that have not been classified yet, which fall back to stablecoin exactly as the detail asset_type does. Both values resolve through that single rule, so they are mutually exclusive and partition the graded universe: the stablecoin and rwa totals sum to the unfiltered total. grade_counts is a histogram over the full graded universe — before every filter (segment, chain, grade, minScore) and before pagination. When the classification cannot be loaded, an unfiltered request degrades to unstamped rows with classification_available: false, while an explicit segment answers 503. Unknown values are ignored.
Filter to a single grade letter. Accepts any letter from either scheme (the enum is the union); a letter the resolved grading_scheme never emits — e.g. E under v2 or C+ under v1 — simply matches no tokens.
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. Independent of the API version (v3) and of framework_version.
Available options:
v1,
v2,
peg
Response
Paginated list of graded tokens. grade_counts covers the full graded universe (pre-filter), not the filtered result or the returned page.
Grade-letter histogram over the FULL graded universe, computed before every filter (segment, chain, grade, minScore) — not the filtered or paged subset. In the resolved scheme's letters.
false when the asset classification could not be loaded — rows are unstamped and any segment filter was not applied.
{"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":""},"chroma":{"liveDeploymentHistoryId":"6ae4e694c45a43d6f052ece2","collectionId":"50172f2e-c251-42e3-a524-c0a0c3326606","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4e694c45a43d6f052ece2"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4e694c45a43d6f052ece2","clientVersion":"0.0.4044","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":"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":"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":"llms-txt-v2","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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","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:.85em;line-height:1.35;text-align:center;letter-spacing:.02em;white-space:nowrap}.gb-a{background:#047857;color:#fff}.gb-b{background:#1d4ed8;color:#fff}.gb-c{background:#f59e0b;color:#1f2937}.gb-d{background:#c2410c;color:#fff}.gb-f{background:#b91c1c;color:#fff}"}],"page":{"pagePath":"api-reference/rwa-v3/get-rwa-grades","slug":"/api-reference/rwa-v3/get-rwa-grades","pageMetadata":{"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"},"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: [\"Paginated list of every graded RWA / stablecoin token with its v3 risk-polarity \", _jsx(_components.code, {\n children: \"composite\"\n }), \" grade (letter + 0–100 score + per-category contributors). Filterable by chain / grade / minimum score, sortable, and paginated — the bulk companion to \", _jsx(_components.code, {\n children: \"GET /v3/rwa/{address}\"\n }), \". \", _jsx(_components.code, {\n children: \"grade_counts\"\n }), \" is a histogram over the full graded universe — before every filter (\", _jsx(_components.code, {\n children: \"segment\"\n }), \", \", _jsx(_components.code, {\n children: \"chain\"\n }), \", \", _jsx(_components.code, {\n children: \"grade\"\n }), \", \", _jsx(_components.code, {\n children: \"minScore\"\n }), \") and before pagination. 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`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Returns every graded RWA / stablecoin token with its headline composite grade (letter + 0–100 risk score + per-category contributors), filterable, sortable, and paginated. This is the bulk list companion to the per-token detail endpoint `,_jsx(_components.a,{href:`/api-reference/rwa-v3/get-rwa-risk-detail`,children:_jsx(_components.code,{children:`GET /v3/rwa/{address}`})}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`grade_counts`}),` is a histogram over the `,_jsx(_components.strong,{children:`full graded universe`}),` — before every filter (`,_jsx(_components.code,{children:`segment`}),`, `,_jsx(_components.code,{children:`chain`}),`, `,_jsx(_components.code,{children:`grade`}),`, `,_jsx(_components.code,{children:`minScore`}),`) and before pagination. Grades are emitted in the resolved `,_jsx(_components.code,{children:`grading_scheme`}),`’s letters (default `,_jsx(_components.code,{children:`v2`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`freshness`,children:`Freshness`}),`\n`,_jsxs(_components.p,{children:[`The response carries two top-level freshness fields: `,_jsx(_components.code,{children:`generated_at`}),` (when this snapshot was produced) and `,_jsx(_components.code,{children:`stale`}),` (`,_jsx(_components.code,{children:`true`}),` when the snapshot is older than the expected refresh cadence). Unlike the `,_jsx(_components.a,{href:`/api-reference/rwa-v3/get-rwa-risk-detail`,children:`RWA detail endpoint`}),`, this list gives you a `,_jsx(_components.code,{children:`stale`}),` flag you can hard-gate on. 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:`filtering-by-segment`,children:`Filtering by segment`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`segment`}),` scopes the list to `,_jsx(_components.code,{children:`stablecoin`}),` or `,_jsx(_components.code,{children:`rwa`}),`. The two are exclusive and total, so their counts add up to the unfiltered total.`]}),`\n`,_jsxs(_components.p,{children:[`The grades universe is our grading snapshot rather than the set of classified tokens, and many tokens in it are not classified yet. Those fall to the `,_jsx(_components.code,{children:`stablecoin`}),` arm, so on this endpoint `,_jsx(_components.code,{children:`stablecoin`}),` means `,_jsx(_components.strong,{children:`“pegged and not a classified RWA, including not-yet-classified”`}),`. Read each row’s `,_jsx(_components.code,{children:`asset_class`}),` to tell a confirmed fiat token (`,_jsx(_components.code,{children:`\"fiat\"`}),`) from an unclassified one (`,_jsx(_components.code,{children:`null`}),`).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`pegType`}),` is `,_jsx(_components.strong,{children:`not`}),` accepted on this route: grade rows carry no denomination. Use `,_jsx(_components.a,{href:`/api-reference/depeg-monitor/list-pegged-tokens-with-depeg-risk`,children:_jsx(_components.code,{children:`GET /rwa`})}),` for that filter.`]}),`\n`,_jsxs(_components.p,{children:[`For a stablecoin-only route that pins the segment server-side, see `,_jsx(_components.a,{href:`/api-reference/stablecoins/get-stablecoin-grades`,children:_jsx(_components.code,{children:`GET /v3/stablecoins/grades`})}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-the-classification-is-unavailable`,children:`When the classification is unavailable`}),`\n`,_jsx(_components.p,{children:`Degradation is split by risk:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Request`}),_jsx(_components.th,{children:`Behaviour`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`No `,_jsx(_components.code,{children:`segment`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`200`}),` with the classification fields omitted from each row and `,_jsx(_components.code,{children:`classification_available: false`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Explicit `,_jsx(_components.code,{children:`segment`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`503`}),` — the filter cannot be honoured, and a superset would be a wrong answer presented as a correct one`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Treat `,_jsx(_components.code,{children:`classification_available: false`}),` as `,_jsx(_components.strong,{children:`unknown`}),`, never as “not a stablecoin”.`]})]})}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":"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"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Freshness","slug":"freshness","depth":2,"children":[]},{"title":"Filtering by segment","slug":"filtering-by-segment","depth":2,"children":[]},{"title":"When the classification is unavailable","slug":"when-the-classification-is-unavailable","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"List v3 RWA / stablecoin 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.","operationId":"getRwaGradesV3","tags":["RWA Risk v3"],"security":["e70aa7c2-ef2f-4aa0-8b65-d4b1c498f9b0"],"parameters":["8caedee0-adb7-45d6-a2df-ac0573773f34","d3822001-2a92-44ea-b321-0311f5e40bfb","8a68688d-8f6a-4619-9b8c-9efe923e298f","1342875e-9d0b-48e9-8d45-fc57ef236dd4","6f52b946-a9cf-4300-9841-8b4efff26001","e0d3ac6b-67a4-4d28-8900-f2f52324df22","3a8c6be2-e870-4d95-b2bc-872256646362","e0ec4a15-86c3-496c-a4b5-c3d7ead13e04","d0294f84-2f92-445f-b23e-53e4c18ae5d7"],"responses":{"200":"10767b2e-5c86-47e0-a8b7-2afbe1e965e6","400":"f6b8b958-9f21-48dd-8197-1c0cf33f96ad","402":"d75908b9-5cc8-4c7e-b485-dd40f3801f03","403":"a308e771-cd9b-49b3-b973-181beebd0598","503":"0c81e5a3-b9c9-4d40-86ff-b93465b28cbb"},"method":"get","type":"path","servers":["fc0b7da1-74c5-4274-8588-fe57c6e13f7a","da385d44-e63f-43f6-8880-a921d943fe71","8076712c-258a-4a8a-a8c8-798d8227b259"],"path":"/v3/rwa/grades","baseUrlOptions":["https://api.webacy.com","https://api-development.webacy.com","http://0.0.0.0:3030/api/v1/risk-score"],"title":"List v3 RWA / stablecoin grades","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8caedee0-adb7-45d6-a2df-ac0573773f34":{"name":"chain","in":"query","required":false,"schema":{"type":"string","isRequired":false,"description":"Filter by chain slug (e.g. eth, base, pol).","uniqueKey":"","typeLabel":"string"},"description":"Filter by chain slug (e.g. eth, base, pol)."},"d3822001-2a92-44ea-b321-0311f5e40bfb":{"name":"segment","in":"query","required":false,"schema":{"type":"string","enum":["stablecoin","rwa"],"isRequired":false,"description":"Filter by segment. A segment is a **derived category** over the classification dimensions, not a dimension value — do NOT pass an `asset_class` such as `fiat` or `fixed-income` here; each item carries both its computed `segment` and the dimensions it was derived from. `rwa` = `is_rwa` true and `asset_class` not fiat (tokenized treasuries/funds, gold); `stablecoin` = everything else — `asset_class` fiat (USDC, USDT, DAI, USDe) plus graded tokens that have not been classified yet, which fall back to `stablecoin` exactly as the detail `asset_type` does. Both values resolve through that single rule, so they are mutually exclusive and partition the graded universe: the `stablecoin` and `rwa` totals sum to the unfiltered total. `grade_counts` is a histogram over the full graded universe — before every filter (`segment`, `chain`, `grade`, `minScore`) and before pagination. When the classification cannot be loaded, an unfiltered request degrades to unstamped rows with `classification_available: false`, while an explicit `segment` answers **503**. Unknown values are ignored.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Filter by segment. A segment is a **derived category** over the classification dimensions, not a dimension value — do NOT pass an `asset_class` such as `fiat` or `fixed-income` here; each item carries both its computed `segment` and the dimensions it was derived from. `rwa` = `is_rwa` true and `asset_class` not fiat (tokenized treasuries/funds, gold); `stablecoin` = everything else — `asset_class` fiat (USDC, USDT, DAI, USDe) plus graded tokens that have not been classified yet, which fall back to `stablecoin` exactly as the detail `asset_type` does. Both values resolve through that single rule, so they are mutually exclusive and partition the graded universe: the `stablecoin` and `rwa` totals sum to the unfiltered total. `grade_counts` is a histogram over the full graded universe — before every filter (`segment`, `chain`, `grade`, `minScore`) and before pagination. When the classification cannot be loaded, an unfiltered request degrades to unstamped rows with `classification_available: false`, while an explicit `segment` answers **503**. Unknown values are ignored."},"8a68688d-8f6a-4619-9b8c-9efe923e298f":{"name":"grade","in":"query","required":false,"schema":{"type":"string","enum":["A+","A","A-","B+","B","B-","C+","C","C-","D","E","F"],"isRequired":false,"description":"Filter to a single grade letter. Accepts any letter from either scheme (the enum is the union); a letter the resolved `grading_scheme` never emits — e.g. `E` under `v2` or `C+` under `v1` — simply matches no tokens.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Filter to a single grade letter. Accepts any letter from either scheme (the enum is the union); a letter the resolved `grading_scheme` never emits — e.g. `E` under `v2` or `C+` under `v1` — simply matches no tokens."},"1342875e-9d0b-48e9-8d45-fc57ef236dd4":{"name":"minScore","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":100,"isRequired":false,"description":"Minimum composite (risk) score, 0–100.","uniqueKey":"","typeLabel":"number"},"description":"Minimum composite (risk) score, 0–100."},"6f52b946-a9cf-4300-9841-8b4efff26001":{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["score","symbol","chain","grade","market_cap_usd"],"isRequired":false,"description":"Sort field.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Sort field."},"e0d3ac6b-67a4-4d28-8900-f2f52324df22":{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc","isRequired":false,"description":"Sort order. Default asc (best grade first).","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Sort order. Default asc (best grade first)."},"3a8c6be2-e870-4d95-b2bc-872256646362":{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"isRequired":false,"description":"1-based page number.","uniqueKey":"","typeLabel":"integer"},"description":"1-based page number."},"e0ec4a15-86c3-496c-a4b5-c3d7ead13e04":{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":50,"isRequired":false,"description":"Items per page (default 50).","uniqueKey":"","typeLabel":"integer"},"description":"Items per page (default 50)."},"d0294f84-2f92-445f-b23e-53e4c18ae5d7":{"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. Independent of the API version (`v3`) and of `framework_version`.","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. Independent of the API version (`v3`) and of `framework_version`."}},"responses":{"10767b2e-5c86-47e0-a8b7-2afbe1e965e6":{"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}}},"description":"Paginated list of graded tokens. `grade_counts` covers the full graded universe (pre-filter), not the filtered result or the returned page.","content":{"application/json":{"schema":{"type":"object","required":["schema_version","items","pagination","grade_counts","generated_at","stale"],"properties":{"schema_version":{"type":"string","example":"3.0","isRequired":true,"uniqueKey":"schema_version","typeLabel":"string"},"items":{"type":"array","items":{"type":"object","required":["symbol","name","chain","address","market_cap_usd","tier","composite"],"properties":{"symbol":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].symbol","typeLabel":"string"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string | null"},"chain":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].chain","typeLabel":"string"},"address":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].address","typeLabel":"string"},"market_cap_usd":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].market_cap_usd.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"\\items.items.[INDEX].market_cap_usd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].market_cap_usd","typeLabel":"number | null"},"tier":{"oneOf":[{"type":"string","enum":["critical","warning","watch","ok"],"description":"Risk tier from the depeg pipeline.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["critical","warning","watch","ok"],"description":"Risk tier from the depeg pipeline.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].tier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].tier","typeLabel":"enum\u003cstring> | null"},"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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.grade.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.stars.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.contributors.additionalProperties.score","typeLabel":"number"},"weight":{"type":"number","description":"Category weight under the grading scheme (sums to 1 across categories).","isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.contributors.additionalProperties.weighted_contribution","typeLabel":"number"}},"required":["score","weight"],"uniqueKey":"\\items.items.[INDEX].composite.contributors.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.upstream_risk.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].category","typeLabel":"string"},"category_name":{"type":"string","example":"Market \u0026 liquidity","isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].category_name","typeLabel":"string"},"score":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].score","typeLabel":"number"},"weight":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].weight","typeLabel":"number"},"weighted_contribution":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","example":"Large-holder concentration bounded","isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX].name","typeLabel":"string"},"status":{"type":"string","enum":["warn","fail"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"evidence":{"type":"object","description":"Underlying values behind the verdict, when available.","additionalProperties":true,"example":{"hci_10":0.34},"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX].evidence","typeLabel":"object"}},"required":["key","name","status"],"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria","typeLabel":"object[]"}},"required":["category","category_name","score","weight","weighted_contribution","criteria"],"uniqueKey":"\\items.items.[INDEX].composite.drivers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers_complete","typeLabel":"boolean"}},"required":["grading_scheme","grade","stars","score","contributors","upstream_risk","clamped_by_upstream"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].composite","typeLabel":"object"},"asset_class":{"oneOf":[{"type":"string","example":"fiat","description":"Asset class; null when the graded token has not been classified yet.","uniqueKey":"\\items.items.[INDEX].asset_class.oneOf.0","typeLabel":"string"},{"type":"null","example":"fiat","description":"Asset class; null when the graded token has not been classified yet.","uniqueKey":"\\items.items.[INDEX].asset_class.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].asset_class","typeLabel":"string | 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, which on this universe also absorbs the not-yet-classified rows). Absent when `classification_available` is false. It is a derived category, not a classification dimension value.","uniqueKey":"\\items.items.[INDEX].segment","typeLabel":"enum\u003cstring>"},"is_rwa":{"oneOf":[{"type":"boolean","uniqueKey":"\\items.items.[INDEX].is_rwa.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"\\items.items.[INDEX].is_rwa.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].is_rwa","typeLabel":"boolean | null"},"subclass":{"oneOf":[{"type":"string","example":"tbill","uniqueKey":"\\items.items.[INDEX].subclass.oneOf.0","typeLabel":"string"},{"type":"null","example":"tbill","uniqueKey":"\\items.items.[INDEX].subclass.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].peg_behavior.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].peg_behavior","typeLabel":"string | null"},"mechanics":{"oneOf":[{"type":"array","items":{"type":"string","example":"custodial-issuer","uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].mechanics.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].mechanics","typeLabel":"string[] | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"},"pagination":{"type":"object","required":["total","page","pageSize","totalPages"],"properties":{"total":{"type":"integer","isRequired":true,"uniqueKey":"pagination.total","typeLabel":"integer"},"page":{"type":"integer","isRequired":true,"uniqueKey":"pagination.page","typeLabel":"integer"},"pageSize":{"type":"integer","isRequired":true,"uniqueKey":"pagination.pageSize","typeLabel":"integer"},"totalPages":{"type":"integer","isRequired":true,"uniqueKey":"pagination.totalPages","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"pagination","typeLabel":"object"},"grade_counts":{"type":"object","additionalProperties":{"type":"integer","uniqueKey":"grade_counts.additionalProperties","typeLabel":"integer"},"description":"Grade-letter histogram over the FULL graded universe, computed before every filter (`segment`, `chain`, `grade`, `minScore`) — not the filtered or paged subset. In the resolved scheme's letters.","isRequired":true,"uniqueKey":"grade_counts","typeLabel":"object"},"generated_at":{"type":"string","isRequired":true,"uniqueKey":"generated_at","typeLabel":"string"},"stale":{"type":"boolean","isRequired":true,"uniqueKey":"stale","typeLabel":"boolean"},"classification_available":{"type":"boolean","description":"false when the asset classification could not be loaded — rows are unstamped and any segment filter was not applied.","uniqueKey":"classification_available","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"example":{"schema_version":"3.0","items":[{"symbol":"usdb","name":"USDBridge","chain":"base","address":"0x100faa513ac917181eb29f73b64bf7a434a206fe","market_cap_usd":null,"tier":"ok","composite":{"grading_scheme":"v2","grade":"A-","stars":5,"score":14.5,"contributors":{"smart_contract":{"score":41.5,"weight":0.2},"operational_governance":{"score":41.5,"weight":0.15},"asset_collateral":{"score":0,"weight":0.3},"market_liquidity":{"score":0,"weight":0.2},"counterparty":{"score":0,"weight":0},"hack_exploit_history":{"score":0,"weight":0.15},"chain_infrastructure":{"score":0,"weight":0}},"upstream_risk":12,"clamped_by_upstream":false}}],"pagination":{"total":1,"page":1,"pageSize":50,"totalPages":1},"grade_counts":{"A-":1},"generated_at":"2026-06-02T09:49:36Z","stale":false},"examples":{"Example":{"title":"Example","value":{"schema_version":"3.0","items":[{"symbol":"usdb","name":"USDBridge","chain":"base","address":"0x100faa513ac917181eb29f73b64bf7a434a206fe","market_cap_usd":null,"tier":"ok","composite":{"grading_scheme":"v2","grade":"A-","stars":5,"score":14.5,"contributors":{"smart_contract":{"score":41.5,"weight":0.2},"operational_governance":{"score":41.5,"weight":0.15},"asset_collateral":{"score":0,"weight":0.3},"market_liquidity":{"score":0,"weight":0.2},"counterparty":{"score":0,"weight":0},"hack_exploit_history":{"score":0,"weight":0.15},"chain_infrastructure":{"score":0,"weight":0}},"upstream_risk":12,"clamped_by_upstream":false}}],"pagination":{"total":1,"page":1,"pageSize":50,"totalPages":1},"grade_counts":{"A-":1},"generated_at":"2026-06-02T09:49:36Z","stale":false}}},"exampleType":"examples"}},"exampleType":"examples"},"f6b8b958-9f21-48dd-8197-1c0cf33f96ad":{"description":"Invalid chain or grading_scheme.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"d75908b9-5cc8-4c7e-b485-dd40f3801f03":{"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"}}},"content":{"application/json":{"example":{"x402Version":1,"error":"payment required"},"examples":{"Example":{"title":"Example","value":{"x402Version":1,"error":"payment required"}}},"exampleType":"examples"}},"exampleType":"examples"},"a308e771-cd9b-49b3-b973-181beebd0598":{"description":"Missing or invalid x-api-key.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"0c81e5a3-b9c9-4d40-86ff-b93465b28cbb":{"description":"Fails CLOSED for one of two causes.\n\n**Asset classification unavailable** — the asset classification could not be loaded while an asset-class filter was in force (an explicit `segment`, or `/v3/stablecoins/grades` and `/v3/stablecoins/{address}`, which pin one). NOTE: the `/v3/stablecoins` LIST route is NOT in this set — it is served from a cached token set, so a classification outage yields a stale or empty list with 200, never a 503. The request fails rather than return an unfiltered superset presented as the filtered answer. Retry, or call the `/v3/rwa` equivalent without `segment` to get unstamped rows with `classification_available: false`.\n\n**x402 payment service unavailable** — 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 rather than serving the resource unpaid.\n\nThe `message` field distinguishes them.","content":{"application/json":{"examples":{"assetClassificationUnavailable":{"title":"assetClassificationUnavailable","value":{"message":"segment=rwa cannot be applied: the asset classification is temporarily unavailable"}},"paymentServiceUnavailable":{"title":"paymentServiceUnavailable","value":{"message":"Payment service temporarily unavailable"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e70aa7c2-ef2f-4aa0-8b65-d4b1c498f9b0":{"api_key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api_key"}}},"servers":{"fc0b7da1-74c5-4274-8588-fe57c6e13f7a":{"url":"https://api.webacy.com","description":"Webacy Risk Score API (Production)"},"da385d44-e63f-43f6-8880-a921d943fe71":{"url":"https://api-development.webacy.com","description":"Webacy Risk Score API (Development)"},"8076712c-258a-4a8a-a8c8-798d8227b259":{"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":"List RWA \u0026 stablecoin grades - Webacy Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T19:56:23.298Z","originalFileLocation":"api-reference/rwa-v3/get-rwa-grades.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=\"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.\">\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=\"List RWA \u0026amp; stablecoin grades - Webacy Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"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.\">\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-grades\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://webacy.mintlify.app/_mintlify/api/og/v2?division=RWA\u0026amp;title=List+RWA+%26+stablecoin+grades\u0026amp;description=Paginated+list+of+every+graded+RWA+%2F+stablecoin+token+with+its+v3+risk-polarity+%60composite%60+grade+%28letter+%2B+0%E2%80%93100+score+%2B+per-category+contributors%29.+Filterable\u0026amp;theme=13dc342d05893d147dc93219\u0026amp;signature=50b7ed0c09ec93ee3b37fea5d37886acf0f74e50302eec992392065abae9e996\">\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=\"List RWA \u0026amp; stablecoin grades - Webacy Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://webacy.mintlify.app/_mintlify/api/og/v2?division=RWA\u0026amp;title=List+RWA+%26+stablecoin+grades\u0026amp;description=Paginated+list+of+every+graded+RWA+%2F+stablecoin+token+with+its+v3+risk-polarity+%60composite%60+grade+%28letter+%2B+0%E2%80%93100+score+%2B+per-category+contributors%29.+Filterable\u0026amp;theme=13dc342d05893d147dc93219\u0026amp;signature=50b7ed0c09ec93ee3b37fea5d37886acf0f74e50302eec992392065abae9e996\">\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-grades\">\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-grades.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-grades#webpage\",\"url\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades\",\"name\":\"List RWA \u0026 stablecoin 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.\",\"dateModified\":\"2026-10-01T19:56:23.298Z\",\"isPartOf\":{\"@id\":\"https://docs.webacy.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"RWA\",\"item\":\"https://docs.webacy.com/api-reference/rwa-v3\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List RWA \u0026 stablecoin grades\",\"item\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades#apireference\",\"headline\":\"List RWA \u0026 stablecoin grades\",\"name\":\"List RWA \u0026 stablecoin 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.\",\"url\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades\",\"mainEntityOfPage\":{\"@id\":\"https://docs.webacy.com/api-reference/rwa-v3/get-rwa-grades#webpage\"},\"dateModified\":\"2026-10-01T19:56:23.298Z\",\"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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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)","href":"/api-reference/rwa-v3"},{"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"},{"title":"List RWA \u0026 stablecoin grades","openapi":"GET /v3/rwa/grades","href":"/api-reference/rwa-v3/get-rwa-grades"},{"title":"Batch structural risk data for RWAs","openapi":"POST /v3/rwa/batch/structural-health","description":"Returns the live structural-health criteria (`mint_burn_anomaly`, `large_holder_concentration`) plus the v3 composite letter grade (`composite.grade`, identical derivation to the detail endpoint's) for up to 100 `{ address, chain }` tuples. Per-token failures are reported in-band as `{ ok: false, error_code }` so a single bad address never fails the whole batch (HTTP 200). Addresses travel in the POST body (privacy + non-EVM encoding).","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":"List RWA \u0026 stablecoin grades - Webacy Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}