Skip to main content
Your users see a vault or tokenized asset in your app. They have no way to tell a well-run vault from a risky one, and building your own scoring model is a project you don’t want to own. This guide shows you how to surface Webacy’s graded A+ to F rating instead: call one v3 endpoint, pull a handful of fields, and render a badge your users can trust.

Why Surface a Graded Rating

Ship a Rating, Not a Model

Render Webacy’s graded A+ to F composite instead of building and maintaining your own scoring model

Always Current

Poll on a cadence and the grade reflects live governance, liquidity, and code risk, not a one-time score

Explainable

A per-category breakdown shows users exactly what is driving the grade
Why teams choose Webacy for ratings:
  • Graded output: an A+-F composite grade, a star rating, and a 0-100 score in one response
  • Category breakdown: per-category scores so you can show what is driving the grade
  • Same shape for vaults and RWAs: one integration renders both /v3/vaults and /v3/rwa
  • Fail-closed: a freshness timestamp so you can hide stale grades instead of showing them

Prerequisites

Before implementing a rating, ensure you have:
  • A Webacy API key (sign up here)
  • Basic familiarity with REST APIs or the Webacy SDK
  • A vault or RWA contract address and its chain, plus the UI surface you want to render into

Step 1: Call the v3 Endpoint

Both /v3/vaults/{address} and /v3/rwa/{address} return the same graded shape. Call /v3/vaults for an ERC-4626 vault, and /v3/rwa for a tokenized real-world asset or a stablecoin (the RWA endpoint covers both). chain is required.
composite.score and every categories.*.score run 0-100 where higher means more risk: A+ maps to a score near 0, F maps to a score near 100. This is the opposite of a health or safety score. When you color, sort, or threshold by this number, higher must render as worse.
To rate an RWA or a stablecoin instead, swap the path segment. Everything else is identical:

Step 2: Pull the Fields That Matter

Read the response into a small view model. These are the fields worth rendering:

Step 3: Render the Badge

The badge is the small pill your users see next to the asset: the letter grade tinted by risk (green for the A band through red for F), with the numeric score in the tooltip. This component takes the view model from Step 2 and renders that pill, showing a neutral “Rating unavailable” state when the rating could not be loaded.
Plain-HTML equivalent, if you’re not on React:
Rendered in a dark UI, the badge and its sub-scores look like this:
Example vault rating card with an A grade, a 6.1 out of 100 risk score, and sub-score risk bars
Example stablecoin rating card with an A+ grade, a 3.2 out of 100 risk score, and risk-driver bars

Step 4: Show What’s Driving the Grade

Use categories.* for an expandable breakdown, sorted worst-first (higher score = more risk):
For a fuller view, the same rating powers a detailed breakdown: framework categories, risk flags, and curator terms.
Example detailed vault rating card with a framework categories table, risk flags, and curator and protocol terms

Handle Freshness and Failures

A rating you can’t vouch for is worse than no rating. The v3 detail endpoints do not return a top-level stale flag, use metadata.last_scored_at to decide whether the grade is current enough to show.
Render an explicit “rating unavailable” state, not a stale grade, whenever the call fails or metadata.last_scored_at is older than your freshness policy. Treat missing or stale data as unknown risk, never as a pass. See hard-gating and fail behavior.

Complete Example


API Quick Reference

Authentication:

Next Steps

Ongoing Risk Monitoring

Poll the rating on a cadence and alert when the grade or tier changes

New Asset Due Diligence

Run the full pre-allocation workflow before you surface an asset

Vault Risk (V3) API

Full endpoint reference for the graded vault rating

RWA Risk (V3) API

Full endpoint reference for the graded RWA rating