List order trades
curl --request GET \
--url https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades', 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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"trades": [
{
"transactionId": "3f6c2a9e-8b1d-4e7f-a2c5-9d0e1b4a7c36",
"quantity": "0.5",
"price": "61919.14",
"notional": "30959.57",
"createdAt": "2026-10-12T10:31:05.104Z"
}
],
"pagination": {
"first": "https://api.enterprise.uphold.com/trading/orders/0192f3a1-7c2e-7d4b-9a1f-3e5c8b2d4f60/trades?page=1&perPage=10"
}
}Orders
List order trades
List the trades that executed an order, oldest first.
GET
/
trading
/
orders
/
{orderId}
/
trades
List order trades
curl --request GET \
--url https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades', 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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/trading/orders/{orderId}/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"trades": [
{
"transactionId": "3f6c2a9e-8b1d-4e7f-a2c5-9d0e1b4a7c36",
"quantity": "0.5",
"price": "61919.14",
"notional": "30959.57",
"createdAt": "2026-10-12T10:31:05.104Z"
}
],
"pagination": {
"first": "https://api.enterprise.uphold.com/trading/orders/0192f3a1-7c2e-7d4b-9a1f-3e5c8b2d4f60/trades?page=1&perPage=10"
}
}This endpoint is currently available in Sandbox only. It is not yet available in Production.
In Sandbox the orders you create are not stored, so only the sample orders returned by List orders have trades to read. Any other id replies with
404.transactionId that booked it. Read more about execution and trades.Authorizations
OAuth 2.0
Path Parameters
The order id.
Query Parameters
The number of items per page.
Required range:
1 <= x <= 100Was this page helpful?