curl --request GET \
--url https://api.gm.ondo.finance/v1/assets/all/prices/latest \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gm.ondo.finance/v1/assets/all/prices/latest"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gm.ondo.finance/v1/assets/all/prices/latest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gm.ondo.finance/v1/assets/all/prices/latest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gm.ondo.finance/v1/assets/all/prices/latest"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gm.ondo.finance/v1/assets/all/prices/latest")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gm.ondo.finance/v1/assets/all/prices/latest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"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
},
"..."
]{
"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"
}{
"code": "MISSING_API_KEY",
"message": "missing API key",
"documentation": "https://docs.ondo.finance/api-reference/error-codes#missing_api_key"
}{
"code": "RATE_LIMITED",
"message": "rate limit exceeded",
"documentation": "https://docs.ondo.finance/api-reference/error-codes#rate_limited"
}{
"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"
}Get Current Prices for All Supported Assets
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 endpoint.
Prices are intended for display only. For real-time trading prices, use the 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.
For caching details on this endpoint, please see: Endpoint Caching.
curl --request GET \
--url https://api.gm.ondo.finance/v1/assets/all/prices/latest \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gm.ondo.finance/v1/assets/all/prices/latest"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gm.ondo.finance/v1/assets/all/prices/latest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gm.ondo.finance/v1/assets/all/prices/latest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gm.ondo.finance/v1/assets/all/prices/latest"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gm.ondo.finance/v1/assets/all/prices/latest")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gm.ondo.finance/v1/assets/all/prices/latest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"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
},
"..."
]{
"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"
}{
"code": "MISSING_API_KEY",
"message": "missing API key",
"documentation": "https://docs.ondo.finance/api-reference/error-codes#missing_api_key"
}{
"code": "RATE_LIMITED",
"message": "rate limit exceeded",
"documentation": "https://docs.ondo.finance/api-reference/error-codes#rate_limited"
}{
"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"
}Authorizations
Query Parameters
The sort direction for prices.
desc, asc 
