> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alterscope.org/llms.txt
> Use this file to discover all available pages before exploring further.

# RWA risk grades

> Alterscope risk grades for tokenized real-world assets — the AAA–D grade, its nine-factor decomposition, and how to consume it over the API or an MCP agent.

Alterscope publishes a **risk grade** for tokenized real-world assets (tokenized
Treasuries, money-market funds, stablecoins, and other RWAs). The grade is an
AAA–D letter plus a 0–100 score, decomposed into nine factors. It is a risk
grade, not a credit rating.

A defining property: **insufficient data is disclosed, never guessed.** When a
factor lacks signal it is marked `not_scored` with a reason, the grade
renormalizes over the factors that *did* score, and an instrument with zero
scored factors carries the grade `NR` ("not rated"). Every response tells you
how many of the nine factors actually carried signal.

## Endpoints

The risk-grade surface is three authenticated `GET` routes (see the
[API reference](/api-reference) for full schemas):

| Endpoint                                      | Returns                                                                                                            |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `GET /v1/rwa/ratings`                         | Sortable, paged list of graded instruments.                                                                        |
| `GET /v1/rwa/ratings/{instrument_id}`         | One grade + its nine-factor breakdown (`scored_factors` / `total_factors`, per-factor `not_scored` + `na_reason`). |
| `GET /v1/rwa/ratings/{instrument_id}/history` | Bi-temporal grade time-series (default 30 days) with per-factor deltas.                                            |

All three require a bearer token and are rate-limited by tier, the same as the
rest of the API.

<Note>
  API-key access to `/v1/rwa/*` requires the **[Enterprise plan](/pricing)** (or
  Custom). Keys on a lower tier receive `403 Forbidden` with error code
  `ENTERPRISE_PLAN_REQUIRED` and an upgrade link. Browsing ratings while signed
  in to the [Alterscope app](https://app.alterscope.org) is not plan-gated. The
  full methodology is published at
  [RWA Credit Ratings](/trust/methodology/rwa-credit-ratings).
</Note>

## Fetch a grade

<CodeGroup>
  ```bash curl theme={null}
  curl -s https://api.alterscope.org/v1/rwa/ratings/ondo-USDY \
    -H "Authorization: Bearer $ALTERSCOPE_API_KEY"
  ```

  ```ts TypeScript theme={null}
  const res = await fetch(
    "https://api.alterscope.org/v1/rwa/ratings/ondo-USDY",
    { headers: { Authorization: `Bearer ${process.env.ALTERSCOPE_API_KEY}` } },
  );
  const rating = await res.json();
  // rating.grade → "BBB+"; rating.scored_factors / rating.total_factors → 7 / 9
  ```

  ```python Python theme={null}
  import os, httpx

  r = httpx.get(
      "https://api.alterscope.org/v1/rwa/ratings/ondo-USDY",
      headers={"Authorization": f"Bearer {os.environ['ALTERSCOPE_API_KEY']}"},
  )
  rating = r.json()
  # rating["grade"] -> "BBB+"; scored vs total factors expose NA transparency
  ```
</CodeGroup>

A trimmed response:

```json theme={null}
{
  "instrument_id": "ondo-USDY",
  "issuer_id": "ondo",
  "grade": "BBB+",
  "score_0_100": 72,
  "investment_grade": true,
  "scored_factors": 7,
  "total_factors": 9,
  "factors": [
    { "factor_name": "reserve_quality", "score_0_100": 80, "weight": 0.2, "contribution": 16 },
    { "factor_name": "liquidity_depth", "not_scored": true, "na_reason": "no holder HHI observed for this instrument" }
  ]
}
```

<Note>
  Never average a `not_scored` factor in as a `0` — it has no score. The grade is
  computed over the scored set only; the `scored_factors` / `total_factors` pair
  is there so you can disclose data completeness alongside the grade.
</Note>

## Consume it from an AI agent (MCP)

The [Alterscope MCP server](/develop/ai-and-mcp/mcp-server) exposes the same
risk grade as two agent tools, so an allocator's agent can read and explain a
grade inline without leaving the conversation:

* **`get_rwa_rating`** — the headline grade, score, scored/total factor counts,
  30-day grade history, and provenance. Accepts a rating instrument id
  (`ondo-USDY`) or a manifest asset id (`ondo-usdy`).
* **`explain_rwa_rating`** — the full nine-factor breakdown, the top
  contributing factors as plain-language drivers, and a `data_status` summary
  (scored / total / not-rated counts).

See cookbook recipe *"Check a tokenized asset's risk grade before allocating"*
for the end-to-end agent flow.

## Methodology

Factor definitions, weights, and peer-group banding are documented in the
[risk methodology](https://app.alterscope.org/yield-radar/methodology#tokenized-asset-risk).
