{
  "@context": {
    "@vocab": "https://cabalspy.xyz/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "cabalspy": "https://cabalspy.xyz/schema#",
    "Body_change_password_change_password_post": "cabalspy:Body_change_password_change_password_post",
    "current_password": {
      "@id": "cabalspy:current_password",
      "@type": "xsd:string"
    },
    "new_password": {
      "@id": "cabalspy:new_password",
      "@type": "xsd:string"
    },
    "confirm_password": {
      "@id": "cabalspy:confirm_password",
      "@type": "xsd:string"
    },
    "csrf_token": {
      "@id": "cabalspy:csrf_token",
      "@type": "xsd:string"
    },
    "Body_change_username_change_username_post": "cabalspy:Body_change_username_change_username_post",
    "new_username": {
      "@id": "cabalspy:new_username",
      "@type": "xsd:string"
    },
    "password": {
      "@id": "cabalspy:password",
      "@type": "xsd:string"
    },
    "Body_csid_logo_csid_apps__app_id__logo_post": "cabalspy:Body_csid_logo_csid_apps__app_id__logo_post",
    "logo": {
      "@id": "cabalspy:logo",
      "@type": "xsd:string"
    },
    "Body_forgot_password_submit_forgot_password_post": "cabalspy:Body_forgot_password_submit_forgot_password_post",
    "email": {
      "@id": "cabalspy:email",
      "@type": "xsd:string"
    },
    "Body_generate_api_key_generate_api_key_post": "cabalspy:Body_generate_api_key_generate_api_key_post",
    "Body_login_token_post": "cabalspy:Body_login_token_post",
    "grant_type": {
      "@id": "cabalspy:grant_type"
    },
    "username": {
      "@id": "cabalspy:username",
      "@type": "xsd:string"
    },
    "scope": {
      "@id": "cabalspy:scope",
      "@type": "xsd:string"
    },
    "client_id": {
      "@id": "cabalspy:client_id"
    },
    "client_secret": {
      "@id": "cabalspy:client_secret"
    },
    "Body_register_register_post": "cabalspy:Body_register_register_post",
    "fingerprint": {
      "@id": "cabalspy:fingerprint",
      "@type": "xsd:string"
    },
    "website": {
      "@id": "cabalspy:website",
      "@type": "xsd:string"
    },
    "form_token": {
      "@id": "cabalspy:form_token",
      "@type": "xsd:string"
    },
    "webdriver": {
      "@id": "cabalspy:webdriver",
      "@type": "xsd:string"
    },
    "cf_turnstile_response": {
      "@id": "cabalspy:cf_turnstile_response",
      "@type": "xsd:string"
    },
    "Body_reset_password_submit_reset_password_post": "cabalspy:Body_reset_password_submit_reset_password_post",
    "token": {
      "@id": "cabalspy:token",
      "@type": "xsd:string"
    },
    "password2": {
      "@id": "cabalspy:password2",
      "@type": "xsd:string"
    },
    "HTTPValidationError": "cabalspy:HTTPValidationError",
    "detail": {
      "@id": "cabalspy:detail",
      "@container": "@list"
    },
    "ValidationError": "cabalspy:ValidationError",
    "loc": {
      "@id": "cabalspy:loc",
      "@container": "@list"
    },
    "msg": {
      "@id": "cabalspy:msg",
      "@type": "xsd:string"
    },
    "type": {
      "@id": "cabalspy:type",
      "@type": "xsd:string"
    },
    "Meta": "cabalspy:Meta",
    "request_id": {
      "@id": "cabalspy:request_id",
      "@type": "xsd:string"
    },
    "cached": {
      "@id": "cabalspy:cached",
      "@type": "xsd:boolean"
    },
    "cache_age_seconds": {
      "@id": "cabalspy:cache_age_seconds",
      "@type": "xsd:integer"
    },
    "version": {
      "@id": "cabalspy:version",
      "@type": "xsd:string"
    },
    "timestamp": {
      "@id": "cabalspy:timestamp",
      "@type": "xsd:string"
    },
    "Pagination": "cabalspy:Pagination",
    "limit": {
      "@id": "cabalspy:limit",
      "@type": "xsd:integer"
    },
    "total": {
      "@id": "cabalspy:total",
      "@type": "xsd:integer"
    },
    "has_more": {
      "@id": "cabalspy:has_more",
      "@type": "xsd:boolean"
    },
    "next_cursor": {
      "@id": "cabalspy:next_cursor",
      "@type": "xsd:string"
    },
    "Profile": "cabalspy:Profile",
    "name": {
      "@id": "cabalspy:name",
      "@type": "xsd:string"
    },
    "image_url": {
      "@id": "cabalspy:image_url",
      "@type": "xsd:string"
    },
    "twitter": {
      "@id": "cabalspy:twitter",
      "@type": "xsd:string"
    },
    "telegram": {
      "@id": "cabalspy:telegram",
      "@type": "xsd:string"
    },
    "blockchain": {
      "@id": "cabalspy:blockchain",
      "@type": "xsd:string"
    },
    "currency": {
      "@id": "cabalspy:currency",
      "@type": "xsd:string"
    },
    "Token": "cabalspy:Token",
    "mint": {
      "@id": "cabalspy:mint",
      "@type": "xsd:string"
    },
    "token_name": {
      "@id": "cabalspy:token_name",
      "@type": "xsd:string"
    },
    "token_supply": {
      "@id": "cabalspy:token_supply",
      "@type": "xsd:decimal"
    },
    "token_decimals": {
      "@id": "cabalspy:token_decimals",
      "@type": "xsd:integer"
    },
    "market_cap": {
      "@id": "cabalspy:market_cap",
      "@type": "xsd:decimal"
    },
    "market_cap_usd": {
      "@id": "cabalspy:market_cap_usd",
      "@type": "xsd:decimal"
    },
    "market_cap_currency": {
      "@id": "cabalspy:market_cap_currency",
      "@type": "xsd:string"
    },
    "price": {
      "@id": "cabalspy:price",
      "@type": "xsd:decimal"
    },
    "price_usd": {
      "@id": "cabalspy:price_usd",
      "@type": "xsd:decimal"
    },
    "sol_price_usd": {
      "@id": "cabalspy:sol_price_usd",
      "@type": "xsd:decimal"
    },
    "TotalHolders": "cabalspy:TotalHolders",
    "kol_count": {
      "@id": "cabalspy:kol_count",
      "@type": "xsd:integer"
    },
    "smart_count": {
      "@id": "cabalspy:smart_count",
      "@type": "xsd:integer"
    },
    "whale_count": {
      "@id": "cabalspy:whale_count",
      "@type": "xsd:integer"
    },
    "still_holding_count": {
      "@id": "cabalspy:still_holding_count",
      "@type": "xsd:integer"
    },
    "HoldingsAfter": "cabalspy:HoldingsAfter",
    "token_amount": {
      "@id": "cabalspy:token_amount",
      "@type": "xsd:decimal"
    },
    "token_amount_peak": {
      "@id": "cabalspy:token_amount_peak",
      "@type": "xsd:decimal"
    },
    "supply_pct": {
      "@id": "cabalspy:supply_pct",
      "@type": "xsd:decimal"
    },
    "supply_pct_peak": {
      "@id": "cabalspy:supply_pct_peak",
      "@type": "xsd:decimal"
    },
    "bag_pct": {
      "@id": "cabalspy:bag_pct",
      "@type": "xsd:decimal"
    },
    "still_holding": {
      "@id": "cabalspy:still_holding",
      "@type": "xsd:boolean"
    },
    "Position": "cabalspy:Position",
    "unrealized_pnl_sol": {
      "@id": "cabalspy:unrealized_pnl_sol",
      "@type": "xsd:decimal"
    },
    "unrealized_pnl_usd": {
      "@id": "cabalspy:unrealized_pnl_usd",
      "@type": "xsd:decimal"
    },
    "unrealized_pnl_pct": {
      "@id": "cabalspy:unrealized_pnl_pct",
      "@type": "xsd:decimal"
    },
    "remaining_sol": {
      "@id": "cabalspy:remaining_sol",
      "@type": "xsd:decimal"
    },
    "remaining_usd": {
      "@id": "cabalspy:remaining_usd",
      "@type": "xsd:decimal"
    },
    "entry_market_cap": {
      "@id": "cabalspy:entry_market_cap",
      "@type": "xsd:decimal"
    },
    "entry_market_cap_usd": {
      "@id": "cabalspy:entry_market_cap_usd",
      "@type": "xsd:decimal"
    },
    "FeedTransaction": "cabalspy:FeedTransaction",
    "tx_signature": {
      "@id": "cabalspy:tx_signature",
      "@type": "xsd:string"
    },
    "transaction_type": {
      "@id": "cabalspy:transaction_type",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "cabalspy:value",
      "@type": "xsd:decimal"
    },
    "value_usd": {
      "@id": "cabalspy:value_usd",
      "@type": "xsd:decimal"
    },
    "price_per_token": {
      "@id": "cabalspy:price_per_token",
      "@type": "xsd:decimal"
    },
    "price_per_token_usd": {
      "@id": "cabalspy:price_per_token_usd",
      "@type": "xsd:decimal"
    },
    "created_at": {
      "@id": "cabalspy:created_at",
      "@type": "xsd:string"
    },
    "profile": {
      "@id": "cabalspy:profile",
      "@type": "@id"
    },
    "holdings_after": {
      "@id": "cabalspy:holdings_after",
      "@type": "@id"
    },
    "WinRateBuckets": "cabalspy:WinRateBuckets",
    "above_500": {
      "@id": "cabalspy:above_500",
      "@type": "xsd:integer"
    },
    "above_100_to_500": {
      "@id": "cabalspy:above_100_to_500",
      "@type": "xsd:integer"
    },
    "above_zero_to_100": {
      "@id": "cabalspy:above_zero_to_100",
      "@type": "xsd:integer"
    },
    "below_zero": {
      "@id": "cabalspy:below_zero",
      "@type": "xsd:integer"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "cabalspy-xyz API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects cabalspy-xyz's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-30) from openapi/apidashboard-cabalspy-xyz-openapi.json, openapi/cabalspy-xyz-openapi.json.",
  "dcterms:created": "2026-10-30",
  "dcterms:source": [
    "openapi/apidashboard-cabalspy-xyz-openapi.json",
    "openapi/cabalspy-xyz-openapi.json"
  ]
}