Skip to main content
GET
List v3 RWA / stablecoin grades
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).

Freshness

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.

Filtering by segment

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.

When the classification is unavailable

Degradation is split by risk: Treat classification_available: false 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).

segment
enum<string>

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.

Available options:
stablecoin,
rwa
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. 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.

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.