openapi: 3.0.4
info:
title: GM Backend Account Assets API
description: An API spec for the Ondo GM Backend API.
version: 1.0.0
servers:
- url: https://api.gm.ondo.finance
description: GM Backend API
tags:
- name: Assets
description: Get Asset Price Information
paths:
/v1/assets/all/prices/latest:
get:
tags:
- Assets
summary: Get Current Prices for All Supported Assets
description: 'This endpoint retrieves the latest prices for all supported assets. Note that the `primaryMarket` represents the on-chain token while the `underlyingMarket`
represents the off-chain collateralized stock. Assets can be sorted by price in either ascending or descending order.
For real-time price updates as they occur, rather than repeatedly polling this endpoint, use the [Price Streaming](https://docs.ondo.finance/api-reference/price-streaming) endpoint.
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
operationId: getAllPrices
parameters:
- name: sort
in: query
description: The sort direction for prices.
required: false
schema:
type: string
enum:
- desc
- asc
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AssetPrice'
example:
- primaryMarket:
symbol: TSLAon
price: '48.516937826065743784'
underlyingMarket:
ticker: TSLA
price: '338.88'
timestamp: 1755888858907
- primaryMarket:
symbol: AAPLon
price: '171.383708297189751178'
underlyingMarket:
ticker: AAPL
price: '228.330909'
timestamp: 1755888858893
- '...'
'400':
description: One of the request parameters is invalid. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INVALID_SYMBOL
message: invalid symbol; must be at least 3 characters long and end with 'on'
documentation: https://docs.ondo.finance/api-reference/error-codes#invalid_symbol
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/{symbol}/prices/latest:
get:
tags:
- Assets
summary: Get Current Price for an Asset
description: 'This endpoint retrieves the latest price for a specific asset. Note that the `primaryMarket` represents the on-chain token while the `underlyingMarket`
represents the off-chain collateralized stock.
For real-time price updates as they occur, rather than repeatedly polling this endpoint, use the [Price Streaming](https://docs.ondo.finance/api-reference/price-streaming) endpoint.
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
operationId: getPrice
parameters:
- name: symbol
in: path
description: The GM token symbol
example: AAPLon
required: true
schema:
type: string
responses:
'200':
description: Price fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPrice'
'400':
description: One of the request parameters is invalid. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INVALID_SYMBOL
message: invalid symbol; must be at least 3 characters long and end with 'on'
documentation: https://docs.ondo.finance/api-reference/error-codes#invalid_symbol
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'404':
description: The provided asset symbol does not exist and cannot be found. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: ASSET_NOT_FOUND
message: The provided asset symbol does not exist and cannot be found.
documentation: https://docs.ondo.finance/api-reference/error-codes#asset_not_found
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/all/prices/latest/enhanced:
get:
tags:
- Assets
summary: Get Enhanced Prices for All Supported Assets
description: 'This endpoint retrieves the latest prices along with the price change and percentage change in the last 24 hours of open market for all supported assets. Assets can be sorted by price in either ascending or descending order.
For real-time price updates as they occur, rather than repeatedly polling this endpoint, use the [Price Streaming](https://docs.ondo.finance/api-reference/price-streaming) endpoint.
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
operationId: getAllAssetEnhancedPrices
parameters:
- name: sort
in: query
description: The sort direction for prices.
required: false
schema:
type: string
enum:
- desc
- asc
default: desc
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AssetEnhancedPrice'
example:
- symbol: NFLXon
price: '860.66471'
priceChange24h: '26.80883'
priceChangePct24h: '3.215043587628116264'
timestamp: 1769190970623
- symbol: QQQon
price: '533.707886795396811068'
priceChange24h: '0.175407218134272389'
priceChangePct24h: '0.032876577312266724'
timestamp: 1769190970623
- '...'
'400':
description: One of the request parameters is invalid. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INVALID_SYMBOL
message: invalid symbol; must be at least 3 characters long and end with 'on'
documentation: https://docs.ondo.finance/api-reference/error-codes#invalid_symbol
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/{symbol}/prices/ohlc:
get:
tags:
- Assets
summary: Get OHLC (Open, High, Low, Close) Data for an Asset
operationId: getOHLCPrices
description: 'This endpoint retrieves historical Open, High, Low, Close (OHLC) price data for both the primary market (on-chain token) and underlying market (off-chain stock) for a specified asset.
This endpoint returns historical candles. To receive live, minute-bucketed OHLC updates as they occur, use the [OHLC Streaming](https://docs.ondo.finance/api-reference/ohlc-streaming) endpoint.
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
The `interval` parameter determines the bucket size for data points, while the `range` parameter determines how far back historically to look for price data. See below for valid interval/range pairs.
Valid `interval`/`range` pairs:
- 1min/1day *(rolling 24-hour period of open market data)*
- 5min/1day
- 15min/1day
- 1hour/1month
- 4hour/1month
- 12hour/3month
- 1day/3month
- 1day/6month
- 1day/1year
- 1day/all *(all historical data)*
**Note on `range=1day` and off-hours-tradable assets:** For assets that are tradable during the off-hours session, the `1day` range returns a plain rolling 24-hour calendar window so weekend and off-hours candles are included. For all other assets, the `1day` range returns a market-hours-aware rolling 24-hour window over open market data.
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
parameters:
- name: symbol
in: path
description: The GM token symbol
required: true
example: AAPLon
schema:
type: string
- name: interval
in: query
description: The time interval between data points.
required: true
schema:
$ref: '#/components/schemas/IntervalEnum'
- name: range
in: query
description: The lookback range for historical data.
required: true
schema:
$ref: '#/components/schemas/RangeEnum'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OHLCResponse'
example:
interval: 1day
range: 3month
primaryMarket:
symbol: BABAon
data:
- timestamp: 1750723200000
open: '117.0544'
high: '117.3426'
low: '117.0544'
close: '117.3426'
- timestamp: 1750809600000
open: '117.87'
high: '117.87'
low: '114.3677'
close: '114.8076'
- '...'
underlyingMarket:
ticker: BABA
data:
- timestamp: 1750723200000
open: '117.0544'
high: '117.3426'
low: '117.0544'
close: '117.3426'
- timestamp: 1750809600000
open: '117.87'
high: '117.87'
low: '114.3677'
close: '114.8076'
- '...'
'400':
description: One of the request parameters is invalid. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INVALID_SYMBOL
message: One of the request parameters is invalid.
documentation: https://docs.ondo.finance/api-reference/error-codes#invalid_symbol
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'404':
description: The provided asset symbol does not exist and cannot be found. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: ASSET_NOT_FOUND
message: The provided asset symbol does not exist and cannot be found.
documentation: https://docs.ondo.finance/api-reference/error-codes#asset_not_found
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/all/market:
get:
tags:
- Assets
summary: Get Market Data for All Supported Assets
description: 'This endpoint retrieves comprehensive market data for all supported assets. Each asset includes both primary market (on-chain token) and underlying market (off-chain stock) information.
Primary market data includes current price, 24-hour price changes, 24-hour historical chart data, and total token holders. Underlying market data provides stock fundamentals like company name, 52-week highs/lows, trading volume, shares outstanding, and market capitalization.
This endpoint is useful for dashboard overviews and market analysis across the entire asset portfolio.
The "Tradable Sessions" parameter indicates the tradability for the asset; for example, some assets are available in the regular and extended stock sessions, but not overnight. Learn more about sessions at [Get Current Market Status](https://docs.ondo.finance/api-reference/status/get-current-market-status).
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
operationId: getAllMarkets
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Market'
example:
- primaryMarket:
symbol: ADBEon
price: '361.986667'
priceChange24h: '8.76'
priceChangePct24h: '2.479993958100564361'
priceHistory24h:
- timestamp: 1755802800000
price: '353.226667'
- timestamp: 1755803700000
price: '353.216667'
- '...'
totalHolders: 7
sharesMultiplier: '1'
underlyingMarket:
ticker: ADBE
name: Adobe Inc.
price: '361.986667'
priceHigh52w: '587.75'
priceLow52w: '330.04'
volume: '1851321'
averageVolume: '3610882'
sharesOutstanding: '424200000'
marketCap: '149925006000'
constituentTokens: []
timestamp: 1755890061815
- primaryMarket:
symbol: APPon
price: '440.094'
priceChange24h: '20.824'
priceChangePct24h: '4.966727884179645574'
priceHistory24h:
- timestamp: 1755802800000
price: '419.27'
- timestamp: 1755803700000
price: '418.55'
- '...'
totalHolders: 7
sharesMultiplier: '1'
tradableSessions:
- premarket
- regular
- postmarket
- overnight
underlyingMarket:
ticker: APP
name: Applovin Corporation Class A Common Stock
price: '440.094'
priceHigh52w: '525.15'
priceLow52w: '82.51'
volume: '5220144'
averageVolume: '6480111'
sharesOutstanding: '307636373'
marketCap: '139487499535'
constituentTokens: []
timestamp: 1755890062869
- '...'
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/{symbol}/market:
get:
tags:
- Assets
summary: Get Market Data for an Asset
description: 'This endpoint retrieves comprehensive market data for a specific asset, containing both primary market (on-chain token) and underlying market (off-chain stock) information.
Primary market data includes current price, 24-hour price changes, 24-hour historical chart data, and total token holders. Underlying market data provides stock fundamentals like company name, 52-week highs/lows, trading volume, shares outstanding, and market capitalization.
This endpoint is useful for dashboard overviews and market analysis across the entire asset portfolio.
The "Tradable Sessions" parameter indicates the tradability for the asset; for example, some assets are available in the regular and extended stock sessions, but not overnight. Learn more about sessions at [Get Current Market Status](https://docs.ondo.finance/api-reference/status/get-current-market-status).
Prices are intended for display only. For real-time trading prices, use the [Soft Attestation Quote](https://docs.ondo.finance/api-reference/attestations/request-a-soft-attestation-quote) API. We do not recommend using the price feeds as an oracle for these assets. An official oracle is in development and will be documented when available. For questions, contact [support@ondo.finance](mailto:support@ondo.finance).
For caching details on this endpoint, please see: [Endpoint Caching](https://docs.ondo.finance/api-reference/endpoint-caching).
'
operationId: getMarket
parameters:
- name: symbol
in: path
required: true
description: The GM token symbol
example: AAPLon
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Market'
example:
primaryMarket:
symbol: ADBEon
price: '361.986667'
priceChange24h: '8.76'
priceChangePct24h: '2.479993958100564361'
priceHistory24h:
- timestamp: 1755802800000
price: '353.226667'
- timestamp: 1755803700000
price: '353.216667'
- '...'
totalHolders: 7
sharesMultiplier: '1'
tradableSessions:
- premarket
- regular
- postmarket
- overnight
underlyingMarket:
ticker: ADBE
name: Adobe Inc.
price: '361.986667'
priceHigh52w: '587.75'
priceLow52w: '330.04'
volume: '1851321'
averageVolume: '3610882'
sharesOutstanding: '424200000'
marketCap: '149925006000'
constituentTokens: []
timestamp: 1755890061815
'400':
description: One of the request parameters is invalid. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INVALID_SYMBOL
message: invalid symbol; must be at least 3 characters long and end with 'on'
documentation: https://docs.ondo.finance/api-reference/error-codes#invalid_symbol
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: MISSING_API_KEY
message: missing API key
documentation: https://docs.ondo.finance/api-reference/error-codes#missing_api_key
'404':
description: The provided asset symbol does not exist and cannot be found. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: ASSET_NOT_FOUND
message: The provided asset symbol does not exist and cannot be found.
documentation: https://docs.ondo.finance/api-reference/error-codes#asset_not_found
'429':
description: The account has exceeded its rate limits. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: RATE_LIMITED
message: rate limit exceeded
documentation: https://docs.ondo.finance/api-reference/error-codes#rate_limited
'500':
description: An internal server error occurred. Please see the returned message and documentation for details.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
value:
code: INTERNAL_ERROR
message: An internal server error occurred. Please see the returned message and documentation for details.
documentation: https://docs.ondo.finance/api-reference/error-codes#internal_error
security:
- apiKey: []
/v1/assets/{symbol}/dividends:
get:
tags:
- Assets
summary: Get Dividend Information for an Asset
description: 'This endpoint retrieves the latest dividend information for a specific asset, including dividend yield, payment history, and upcoming payment dates.
**Dividend Yield**
The dividend yield is calculated based on the past year''s worth of dividend payments and the current stock price.
**Payout Frequencies**
Below outline the day ranges for each payout frequency:
| Frequency | Average Days Between Dividends |
|-------------------|:------------------------------:|
| **none** | N/A |
| **monthly** | 25-35 days |
| **quarterly** | 80-100 days |
| **semi-annually** | 160-200 days |
| **ye
# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ondo-finance/refs/heads/main/openapi/ondo-finance-assets-api-openapi.yml