Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.
GET
/
v3
/
stablecoins
/
grades
List v3 stablecoin grades
curl --request GET \ --url https://api.webacy.com/v3/stablecoins/grades \ --header 'x-api-key: <api-key>'
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 here stablecoin means “pegged and not a classified RWA, including not-yet-classified” — it is not the same as asset_class = fiat.Read each row’s asset_class to tell a confirmed fiat token ("fiat") from one carrying none (null). A null has two causes: the token has not been classified yet, or it is confirmed stable without a confirmed backing type. The two segments are exclusive and total, so the stablecoin and rwa counts add up to the unfiltered total.
grade_counts describes the full graded universe — before every filter and before pagination, so pinning the segment does not narrow it. That is deliberate, for parity with GET /v3/rwa/grades.
The classification is resolved on every request. If it cannot be resolved, this route fails closed with 503 rather than returning every graded token as though it were a stablecoin.pegType is not accepted on either grades route — grade rows carry no denomination. Use GET /rwa for that filter.The unfiltered GET /v3/rwa/grades degrades differently: it still answers 200, omits the classification fields on each row, and sets classification_available: false. Treat that flag as “unknown”, never as “not a stablecoin”.
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. Unknown values return 400 with the supported list.
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":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3a52cec4b4d55a356760a","clientVersion":"0.0.4102","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":"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":"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}],"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/stablecoins/get-stablecoin-grades","slug":"/api-reference/stablecoins/get-stablecoin-grades","pageMetadata":{"title":"List Stablecoin Grades","openapi":"GET /v3/stablecoins/grades","description":"Stablecoin-only twin of `GET /v3/rwa/grades`: identical response, with `segment` fixed to `stablecoin` — `asset_class` fiat plus graded tokens that have not been classified yet, i.e. everything the `segment` rule does not resolve to `rwa`. `grade_counts` still covers the full graded set. A caller-supplied `segment` is ignored.","href":"/api-reference/stablecoins/get-stablecoin-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: [\"Stablecoin-only twin of \", _jsx(_components.code, {\n children: \"GET /v3/rwa/grades\"\n }), \": identical response, with \", _jsx(_components.code, {\n children: \"segment\"\n }), \" fixed to \", _jsx(_components.code, {\n children: \"stablecoin\"\n }), \" — \", _jsx(_components.code, {\n children: \"asset_class\"\n }), \" fiat plus graded tokens that have not been classified yet, i.e. everything the \", _jsx(_components.code, {\n children: \"segment\"\n }), \" rule does not resolve to \", _jsx(_components.code, {\n children: \"rwa\"\n }), \". \", _jsx(_components.code, {\n children: \"grade_counts\"\n }), \" still covers the full graded set. A caller-supplied \", _jsx(_components.code, {\n children: \"segment\"\n }), \" is ignored.\"]\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:[_jsxs(_components.p,{children:[`Stablecoin-only twin of `,_jsx(_components.a,{href:`/api-reference/rwa-v3/get-rwa-grades`,children:_jsx(_components.code,{children:`GET /v3/rwa/grades`})}),`. Identical response, with `,_jsx(_components.code,{children:`segment`}),` pinned to `,_jsx(_components.code,{children:`stablecoin`}),`; a caller-supplied `,_jsx(_components.code,{children:`segment`}),` is ignored.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Higher score = more risk.`}),` `,_jsx(_components.code,{children:`composite.score`}),` runs `,_jsx(_components.strong,{children:`0–100`}),`, where `,_jsx(_components.strong,{children:`0 = no structural risk`}),` and `,_jsx(_components.strong,{children:`100 = maximum risk`}),` (`,_jsx(_components.code,{children:`A+`}),` ≈ 0, `,_jsx(_components.code,{children:`F`}),` ≈ 100). See `,_jsx(_components.a,{href:`/api-reference/rwa-v3#score-polarity`,children:`Score Polarity`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`the-segment-rule-on-this-list`,children:`The segment rule on this list`}),`\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 here `,_jsx(_components.code,{children:`stablecoin`}),` means `,_jsx(_components.strong,{children:`“pegged and not a classified RWA, including not-yet-classified”`}),` — it is not the same as `,_jsx(_components.code,{children:`asset_class = fiat`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Read each row’s `,_jsx(_components.code,{children:`asset_class`}),` to tell a confirmed fiat token (`,_jsx(_components.code,{children:`\"fiat\"`}),`) from one carrying none (`,_jsx(_components.code,{children:`null`}),`). A `,_jsx(_components.code,{children:`null`}),` has two causes: the token has not been classified yet, or it is confirmed stable without a confirmed backing type. The two segments are exclusive and total, so the `,_jsx(_components.code,{children:`stablecoin`}),` and `,_jsx(_components.code,{children:`rwa`}),` counts add up to the unfiltered total.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`grade_counts`}),` describes the `,_jsx(_components.strong,{children:`full graded universe`}),` — before every filter and before pagination, so pinning the segment does not narrow it. That is deliberate, for parity with `,_jsx(_components.code,{children:`GET /v3/rwa/grades`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`when-the-classification-is-unavailable`,children:`When the classification is unavailable`}),`\n`,_jsxs(_components.p,{children:[`The classification is resolved on every request. If it cannot be resolved, this route `,_jsxs(_components.strong,{children:[`fails closed with `,_jsx(_components.code,{children:`503`})]}),` rather than returning every graded token as though it were a stablecoin.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`pegType`}),` is not accepted on either grades 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:[`The unfiltered `,_jsx(_components.a,{href:`/api-reference/rwa-v3/get-rwa-grades`,children:_jsx(_components.code,{children:`GET /v3/rwa/grades`})}),` degrades differently: it still answers `,_jsx(_components.code,{children:`200`}),`, omits the classification fields on each row, and sets `,_jsx(_components.code,{children:`classification_available: false`}),`. Treat that flag as “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 Stablecoin Grades","openapi":"GET /v3/stablecoins/grades","description":"Stablecoin-only twin of `GET /v3/rwa/grades`: identical response, with `segment` fixed to `stablecoin` — `asset_class` fiat plus graded tokens that have not been classified yet, i.e. everything the `segment` rule does not resolve to `rwa`. `grade_counts` still covers the full graded set. A caller-supplied `segment` is ignored.","href":"/api-reference/stablecoins/get-stablecoin-grades"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The segment rule on this list","slug":"the-segment-rule-on-this-list","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 stablecoin grades","description":"Stablecoin-only twin of `GET /v3/rwa/grades`: identical response, with `segment` fixed to `stablecoin` — `asset_class` fiat plus graded tokens that have not been classified yet, i.e. everything the `segment` rule does not resolve to `rwa`. `grade_counts` still covers the full graded set. A caller-supplied `segment` is ignored.","operationId":"getStablecoinGradesV3","tags":["Stablecoins v3"],"security":["b4f0ae1f-eb53-4714-b8e5-2163aee6035f"],"parameters":["8ac24fc0-e0fc-4d98-9c0e-32ec959a97b7","92250a03-c0ff-4070-81ca-ae2901eb47d0","8f106e53-eeae-4e91-a5ae-9710276ec0a8","42763c92-fd90-4df3-9873-580d1e09903c","c486d7f2-776a-4e6e-bcfd-d4305f98fdc7","66bddcd0-0912-421e-8383-855f425c2c1d","d922f264-ac46-4824-a0f8-cbbdeefcb557","d5128a16-1548-4e2e-9ed6-a7e73ee13307"],"responses":{"200":"7e1ac253-87af-42cd-88b2-3995d4a8c674","400":"513ba83d-c152-473b-88b9-5daac84c2383","402":"a40057c7-55b0-4677-9760-7cc1fd8c163f","403":"d2280eb6-66a0-4bf5-bf73-9c9b04b2f000","503":"b2cb6620-b5e8-4e35-8ef1-f8c9da44cfb3"},"method":"get","type":"path","servers":["c5a517c3-fc09-4c20-b482-4cd1bf61c717","2beb6b2f-4ec3-43b7-b1b1-ee13520757e0","ac016a2f-99f2-4303-92c0-4f30a6b8edb2"],"path":"/v3/stablecoins/grades","baseUrlOptions":["https://api.webacy.com","https://api-development.webacy.com","http://0.0.0.0:3030/api/v1/risk-score"],"title":"List v3 stablecoin grades","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8ac24fc0-e0fc-4d98-9c0e-32ec959a97b7":{"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)."},"92250a03-c0ff-4070-81ca-ae2901eb47d0":{"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."},"8f106e53-eeae-4e91-a5ae-9710276ec0a8":{"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."},"42763c92-fd90-4df3-9873-580d1e09903c":{"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."},"c486d7f2-776a-4e6e-bcfd-d4305f98fdc7":{"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)."},"66bddcd0-0912-421e-8383-855f425c2c1d":{"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."},"d922f264-ac46-4824-a0f8-cbbdeefcb557":{"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)."},"d5128a16-1548-4e2e-9ed6-a7e73ee13307":{"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":{"7e1ac253-87af-42cd-88b2-3995d4a8c674":{"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":"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":"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":"\\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>"},"assessed":{"type":"boolean","description":"`false` = an unverified missing-data `warn` listed for completeness, not a finding driving the grade.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].criteria.items.[INDEX].evidence","typeLabel":"object"}},"required":["key","name","status","assessed"],"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[]"},"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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].reasons.items.[INDEX].points.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].reasons.items.[INDEX].assessed","typeLabel":"boolean"}},"required":["key","status","text","points","assessed"],"uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].composite.drivers.items.[INDEX].reasons","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"},"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"},"513ba83d-c152-473b-88b9-5daac84c2383":{"description":"Invalid 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":""}}}},"a40057c7-55b0-4677-9760-7cc1fd8c163f":{"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"},"d2280eb6-66a0-4bf5-bf73-9c9b04b2f000":{"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":""}}}},"b2cb6620-b5e8-4e35-8ef1-f8c9da44cfb3":{"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"}},"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":{"b4f0ae1f-eb53-4714-b8e5-2163aee6035f":{"api_key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api_key"}}},"servers":{"c5a517c3-fc09-4c20-b482-4cd1bf61c717":{"url":"https://api.webacy.com","description":"Webacy Risk Score API (Production)"},"2beb6b2f-4ec3-43b7-b1b1-ee13520757e0":{"url":"https://api-development.webacy.com","description":"Webacy Risk Score API (Development)"},"ac016a2f-99f2-4303-92c0-4f30a6b8edb2":{"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 Stablecoin Grades - Webacy Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-01T19:56:23.296Z","originalFileLocation":"api-reference/stablecoins/get-stablecoin-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=\"Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.\">\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 Stablecoin Grades - Webacy Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.\">\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/stablecoins/get-stablecoin-grades\">\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=Stablecoins\u0026amp;title=List+Stablecoin+Grades\u0026amp;description=Stablecoin-only+twin+of+%60GET+%2Fv3%2Frwa%2Fgrades%60%3A+identical+response%2C+with+%60segment%60+fixed+to+%60stablecoin%60+%E2%80%94+%60asset_class%60+fiat+plus+graded+tokens+that+have+not+bee\u0026amp;theme=256fd323fde43a5eeef07bf6\u0026amp;signature=8de6575b2068ccfe10c00b43eac1131fbf896ac0d039dafc8bb0bb66af188fa5\">\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 Stablecoin Grades - Webacy Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://webacy.mintlify.site/_mintlify/api/og/v2?division=Stablecoins\u0026amp;title=List+Stablecoin+Grades\u0026amp;description=Stablecoin-only+twin+of+%60GET+%2Fv3%2Frwa%2Fgrades%60%3A+identical+response%2C+with+%60segment%60+fixed+to+%60stablecoin%60+%E2%80%94+%60asset_class%60+fiat+plus+graded+tokens+that+have+not+bee\u0026amp;theme=256fd323fde43a5eeef07bf6\u0026amp;signature=8de6575b2068ccfe10c00b43eac1131fbf896ac0d039dafc8bb0bb66af188fa5\">\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/stablecoins/get-stablecoin-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/stablecoins/get-stablecoin-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/stablecoins/get-stablecoin-grades#webpage\",\"url\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades\",\"name\":\"List Stablecoin Grades\",\"description\":\"Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.\",\"dateModified\":\"2026-10-01T19:56:23.296Z\",\"isPartOf\":{\"@id\":\"https://docs.webacy.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Stablecoins\",\"item\":\"https://docs.webacy.com/api-reference/depeg-monitor\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List Stablecoin Grades\",\"item\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades#apireference\",\"headline\":\"List Stablecoin Grades\",\"name\":\"List Stablecoin Grades\",\"description\":\"Stablecoin-only twin of GET /v3/rwa/grades: identical response, with segment fixed to stablecoin — asset_class fiat plus graded tokens that have not been classified yet, i.e. everything the segment rule does not resolve to rwa. grade_counts still covers the full graded set. A caller-supplied segment is ignored.\",\"url\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades\",\"mainEntityOfPage\":{\"@id\":\"https://docs.webacy.com/api-reference/stablecoins/get-stablecoin-grades#webpage\"},\"dateModified\":\"2026-10-01T19:56:23.296Z\",\"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/stablecoins/get-stablecoin-grades.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","description":"Stablecoin-only twin of `GET /v3/rwa`: the depeg list with `segment` fixed to `stablecoin`. `stablecoin` here is the derived segment, not `asset_class` fiat: membership also admits tokens for their stable peg behaviour, and those rows carry no `asset_class`. Read each row's `asset_class` to separate confirmed fiat from null. Each row is enriched with the v3 composite letter grade (`grade`, null when ungraded) plus top-level `schema_version` and `grades_available`. Accepts every `GET /rwa` filter except `segment`; `pegType` narrows by peg mechanism; note `direct` is also the fallback for a token with no recorded denomination, so it means \"cash-backed OR not yet classified\", and `yield-bearing` cuts across the other four rather than being a fifth peer. Requires the v3 API usage plan. `aggregates` (including `aggregates.tier_counts`) covers the segment-selected universe: the segment and the default enrollment gate (see `includeUnenrolled`) are applied before aggregation, every other filter after it. The TOP-LEVEL `tier_counts` is different — it counts the filtered result set, before pagination. `pegType` and the other filters are post-aggregate view filters. Unless `includeUnenrolled=true`, `pagination.total` counts the served rows, not the whole classified catalog.","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}","description":"Stablecoin-only twin of `GET /v3/rwa/{address}`: identical response for a stablecoin; answers **404** when the token resolves to an RWA (`metadata.asset_type = rwa`) and names `GET /v3/rwa/{address}` as the route to use. The class is derived, not asserted: `stablecoin` means \"pegged and not a classified RWA\", so a token that is graded but not yet classified takes the stablecoin arm and answers **200**. Read `metadata.asset_class` to tell a confirmed fiat token (`fiat`) from a not-yet-classified one (`null`); classification coverage is still expanding, so that second set is shrinking over time.","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}","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","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 Stablecoin Grades - Webacy Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}