Skip to main content
GET
List v3 stablecoin grades
Stablecoin-only twin of GET /v3/rwa/grades. Identical response, with segment pinned to stablecoin; a caller-supplied segment is ignored.
Higher score = more risk. composite.score runs 0–100, where 0 = no structural risk and 100 = maximum risk (A+ ≈ 0, F ≈ 100). See Score Polarity.

The segment rule on this list

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.

When the classification is unavailable

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”.

Authorizations

x-api-key
string
header
required

Query Parameters

chain
string

Filter by chain slug (e.g. eth, base, pol).

grade
enum<string>

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.

Available options:
A+,
A,
A-,
B+,
B,
B-,
C+,
C,
C-,
D,
E,
F
minScore
number

Minimum composite (risk) score, 0–100.

Required range: 0 <= x <= 100
sort
enum<string>

Sort field.

Available options:
score,
symbol,
chain,
grade,
market_cap_usd
order
enum<string>
default:asc

Sort order. Default asc (best grade first).

Available options:
asc,
desc
page
integer
default:1

1-based page number.

Required range: x >= 1
pageSize
integer
default:50

Items per page (default 50).

grading_scheme
enum<string>
default:v2

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.

schema_version
string
required
Example:

"3.0"

items
object[]
required
pagination
object
required
grade_counts
object
required

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.

generated_at
string
required
stale
boolean
required
classification_available
boolean

false when the asset classification could not be loaded — rows are unstamped and any segment filter was not applied.