---
title: "TradFi reference catalog with latest consensus prices"
method: GET
path: "/api/market/references"
tags: ["public-market-data"]
---

# TradFi reference catalog with latest consensus prices

`GET /api/market/references`

## Request

- Base URL: `https://api.coinrithm.com`
- URL: `https://api.coinrithm.com/api/market/references`
- Auth: none required

Keyless catalog of every approved TradFi reference instrument
(equities, ETFs, metals, commodities and FX) with its latest
validated consensus, derived 24h/7d change, 24h range, a 7-day
sparkline and the optional near-real-time `live` overlay.

A reference price is the median of 2-3 derivatives-venue index
prices (Binance, Bybit, Gate) that agree within 5%, recorded every
15 minutes. It is a venue index in the contract's quote asset
(USDT), not an exchange last trade, and the instrument `unit` is
deliberately unverified. `latest` and the derived fields come from
recorded snapshots; `live` republishes the same median about every
10 seconds and is null when the overlay is off, unavailable,
invalid, or older than `methodology.liveMaxAgeSeconds`. Freshness
is collection time, not a venue quote time. Change and range
values are null when no validated reference snapshot exists for
the comparison time. Query parameters return 400.

## Response `200`

Methodology and one item per reference instrument

- PublicTradfiReferenceCatalog
  - `version` integer, required
  - `generatedAt` string, date-time, required: Original payload creation time, retained on a cache hit.
  - `methodology` PublicTradfiReferenceMethodology, required
    - `basis` string, required
    - `aggregation` string, required
    - `minimumVenueCount` integer, required
    - `maxVenueSpreadPct` number, required
    - `collectionIntervalSeconds` integer, required
    - `freshnessThresholdSeconds` integer, required
    - `retentionDays` integer, required
    - `liveMaxAgeSeconds` integer, required: A `live` value older than this is not served.
  - `count` integer, required
  - `items` PublicTradfiReferenceCatalogItem[], required
    - `instrument` PublicTradfiReferenceInstrument, required
      - `ticker` string, required
      - `name` string, required
      - `assetClass` string, required: Currently equity, etf, metal, commodity or fx.
      - `unit` PublicTradfiReferenceUnit, required: The index denomination is deliberately not inferred; `status` is `unverified`.
        - `status` string, required
        - `currency` string, nullable, required
        - `per` string, nullable, required
      - `venueQuoteAsset` string, required: Contract quote asset (`USDT`).
      - `issuer` string, nullable, required: Fund issuer, set for leveraged or inverse ETFs.
      - `leverage` PublicTradfiReferenceLeverage, required
        - `factor` number, required: Daily target multiple of the underlying's return; negative means inverse.
        - `underlying` string, required
      - `homeListing` PublicTradfiReferenceHomeListing, required: Home-market listing of an instrument quoted outside the US.
        - `exchange` string, required: `KRX` or `HKEX`.
        - `currency` string, required: `KRW` or `HKD`.
        - `code` string, required: Home-market code without the exchange suffix.
    - `availability` string, required: `available` or `unavailable`.
    - `freshness` PublicTradfiReferenceFreshness, required
      - `status` 'fresh' | 'stale' | 'unavailable', required: Freshness of an upstream dataset CoinRithm re-reads on a schedule. `stale` data is still served inside its documented maximum age; `unavailable` means no usable copy, never zero or empty truth.
      - `basis` string, required: `collection`: CoinRithm's batch collection time, not a venue quote time.
      - `asOf` string, date-time, nullable, required
      - `ageSeconds` integer, nullable, required
      - `staleAt` string, date-time, nullable, required
    - `latest` PublicTradfiReferenceSnapshotSummary, required
      - `bucketStart` string, date-time, required: Start of the 15-minute collection bucket.
      - `fetchedAt` string, date-time, required: Batch collection completion, not a venue quote time.
      - `consensusPrice` number, required: Median of the venue index prices, in USDT.
      - `minPrice` number, required
      - `maxPrice` number, required
      - `venueSpreadPct` number, required: Difference between venue index prices in percent, not a bid/ask spread.
      - `venueCount` integer, required
    - `change24h` PublicTradfiReferenceChange, required: Change against a validated recorded snapshot at the comparison time (within 30 minutes); never interpolated.
      - `pct` number, required
      - `referencePrice` number, required
      - `referenceBucketStart` string, date-time, required
    - `change7d` PublicTradfiReferenceChange, required: Change against a validated recorded snapshot at the comparison time (within 30 minutes); never interpolated.
      - `pct` number, required
      - `referencePrice` number, required
      - `referenceBucketStart` string, date-time, required
    - `range24h` PublicTradfiReferenceRange, required: Low and high of validated recorded medians in the 24 hours ending at `latest`.
      - `low` number, required
      - `high` number, required
      - `observations` integer, required
    - `spark7d` number[], required: Last validated median of each 3-hour UTC block over the 7 days ending at `latest`, oldest first, rounded to 5 significant digits; blocks without a validated row are skipped.
    - `latestVenues` string[], required: Venues that contributed to `latest`.
    - `live` PublicTradfiReferenceLive, required: Near-real-time consensus with the same method as `latest`, republished about every 10 seconds. Null when the overlay is off or unavailable, fails validation, or is older than `liveMaxAgeSeconds`; `latest` and every derived field are unaffected by it.
      - `price` number, required
      - `minPrice` number, required
      - `maxPrice` number, required
      - `venueSpreadPct` number, required
      - `venueCount` integer, required
      - `venues` PublicTradfiReferenceLiveVenue[], required
        - `venue` string, required
        - `indexPrice` number, required
      - `sourceAt` string, date-time, required: Oldest venue read inside this consensus, the honest age of the price.
      - `ageSeconds` integer, required
      - `change24hPct` number, nullable, required: Live price against the same reference as `change24h`.
    - `fundamentals` PublicTradfiReferenceFundamentals: Company-reported SEC XBRL data. Each value is null when SEC data cannot give it without guessing. Market cap, dividend yield and P/E use the CoinRithm reference price (USDT perp index median, treated as USD), not an exchange quote.
      - `marketCapUsd` number, nullable, required: sharesOutstanding x referencePrice.
      - `marketCapBasis` 'shares x reference price', required
      - `referencePrice` number, nullable, required: The live consensus when present, else the latest stored consensus.
      - `sharesOutstanding` number, nullable, required
      - `sharesAsOf` string, date, nullable, required
      - `sharesSource` 'dei_cover' | 'balance_sheet', nullable, required: `dei_cover`: filing cover page; `balance_sheet`: all classes at quarter end.
      - `dividendPerShareTtm` number, nullable, required: Dividends declared per share over the trailing twelve months, USD.
      - `dividendTtmBasis` 'quarters' | 'annual', required
      - `dividendTtmPeriodEnd` string, date, nullable, required
      - `dividendYieldPct` number, nullable, required: dividendPerShareTtm / referencePrice x 100.
      - `lastDividendPerShare` number, nullable, required: Declared in the latest reported quarter.
      - `lastDividendPeriodEnd` string, date, nullable, required
      - `revenueTtmUsd` number, nullable, required
      - `netIncomeTtmUsd` number, nullable, required
      - `epsDilutedTtm` number, nullable, required
      - `peRatio` number, nullable, required: referencePrice / epsDilutedTtm; null when EPS <= 0.
      - `ttmBasis` 'quarters' | 'annual', required
      - `ttmPeriodEnd` string, date, nullable, required: End of the twelve months behind revenue, net income and EPS.
      - `sector` string, nullable, required: SEC SIC industry description, e.g. Electronic Computers.
      - `fiscalYearEnd` string, nullable, required: MM-DD, e.g. 09-26.
      - `latestFiling` object, nullable, required
        - `form` string, required
        - `date` string, date, required
      - `fetchedAt` string, date-time, required: When the aggregator last read SEC.
      - `source` object, required
        - `name` 'SEC EDGAR', required
        - `publisher` string, required
        - `url` string, required: EDGAR filing list of the issuer.
        - `dataUrl` string, required: The XBRL companyfacts JSON the values were derived from.
        - `note` string, required

## Other responses

- `400`: Query parameters are not accepted
- `429`: Public request rate limit exceeded; honor `Retry-After`.
- `500`: Reference data temporarily unavailable

---

[API](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api.md) · [All operations](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/llms.txt) · [OpenAPI document](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/revisions/28fb59f285fe?raw)
