API Documentation: Get Scored Assets

Endpoint

GET /api/scores/assets

Description

Retrieves a list of scored assets with optional filtering. This endpoint requires user entitlement verification.

Authentication

Requires a valid walletAddress query parameter for entitlement checking. Users must have an active subscription to access this endpoint.

Query Parameters

ParameterTypeRequiredDescription
walletAddressstringYesUser`s wallet address for entitlement verification
categorystringNoFilter by category: `real_estate`, `credit`, `commodities`, `other`
minScorenumberNoMinimum total score filter
minTVLnumberNoMinimum TVL (Total Value Locked) in USD
chainstringNoFilter by blockchain chain (case-insensitive partial match)
issuerstringNoFilter by issuer (case-insensitive partial match)
urlstringNoFilter by exact URL match

Response

Success Response (200)

{
  "items": [
    {
      "id": 1,
      "token_symbol": "USDT",
      "issuer": "Tether",
      "category": "credit",
      "chain": "Ethereum",
      "total_score": 85.5,
      "liquidity_tvl_usd": 1000000,
      "risk_flags": ["low_volatility"],
      "description": "Tether USD stablecoin",
      "full_text": "Full description...",
      "url": "https://example.com"
    }
  ],
  "total": 1
}

Error Response (402)

{
  "error": "Payment Required"
}

Returned when user doesn`t have an active subscription.

Error Response (500)

{
  "error": "Internal server error"
}

Example Request

GET /api/scores/assets?walletAddress=0x123...&category=credit&minScore=70&minTVL=500000

Data Types

CategoryType

'real_estate' | 'credit' | 'commodities' | 'other'

ScoredAsset

{
  id: number;
  token_symbol: string;
  issuer: string;
  category: CategoryType;
  chain: string;
  total_score: number;
  liquidity_tvl_usd: number;
  risk_flags: string[];
  description?: string;
  full_text?: string;
  url?: string;
}

ScoredAssetsResponse

{
  items: ScoredAsset[];
  total: number;
}