---
title: "Full wallet risk report (x402 exact scheme)"
method: GET
path: "/api/x402/report"
tags: ["Scoring"]
---

# Full wallet risk report (x402 exact scheme)

`GET /api/x402/report`

## Request

- Base URL: `https://www.xrplhub.io`
- URL: `https://www.xrplhub.io/api/x402/report`
- Auth: none declared

Everything the score endpoint returns plus machine-readable risk flags, ranked recommendations, and an on-chain snapshot (balance, spendable XRP, trust lines, tx count, DEX/AMM/NFT activity). $0.08 on either rail: RLUSD on XRPL (t54) or USDC on Base (CDP). Send ?wallet=<r-address>. No signup.

## Query parameters

- `wallet` string, required

## Response `200`

Full risk report.

- object
  - `wallet` string
  - `score` integer: XRPLScore, 300–850 absolute scale.
  - `grade` 'Building' | 'Fair' | 'Good' | 'Excellent' | 'Exceptional'
  - `percentile` number
  - `signals` object: The 8 component scores, 0–100 each.
    - `accountAge` number
    - `txActivity` number
    - `financialHealth` number
    - `tokenEngagement` number
    - `dexActivity` number
    - `ammActivity` number
    - `securityConfig` number
    - `nftActivity` number
  - `methodology` string
  - `disclaimer` string: Always present. XRPLScore is informational only — NOT a FICO score, consumer report, or NRSRO rating, and not permissible for FCRA- or ECOA-governed decisions.
  - `dataCompleteness` object: `complete` is always true on a 200. If any XRPL call cannot be read the endpoint returns 503 (error "xrpl_unavailable", with failedCalls) and NO score — a failed read is never folded into a signal.
    - `complete` boolean
    - `unread` string[]
    - `source` string
  - `computedAt` string, date-time
  - `riskFlags` string[]
  - `recommendations` object[]
    - `action` string
    - `points` string
    - `priority` 'high' | 'medium' | 'low'
  - `snapshot` object
    - `balanceXRP` number
    - `spendableXRP` number
    - `trustLines` integer
    - `txCount` integer
    - `hasMultiSig` boolean
    - `hasOffers` boolean
    - `hasAMM` boolean

## Other responses

- `402`: Payment Required — x402 challenge. Body is the PAYMENT-REQUIRED payload; pay in RLUSD and retry with the PAYMENT-SIGNATURE header.

---

[API](https://skmtc.dev/xrplhub/apis/xrplhub-xrplscore-and-prebuilt-xrpl-transactions.md) · [All operations](https://skmtc.dev/xrplhub/apis/xrplhub-xrplscore-and-prebuilt-xrpl-transactions/llms.txt) · [OpenAPI document](https://skmtc.dev/xrplhub/apis/xrplhub-xrplscore-and-prebuilt-xrpl-transactions/revisions/a5d4e13aff32?raw)
