Get an order by ID
curl --request GET \
--url https://api.sx.bet/orders-v3/{orderId} \
--header 'x-sx-api-key: <api-key>'import requests
url = "https://api.sx.bet/orders-v3/{orderId}"
headers = {"x-sx-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-sx-api-key': '<api-key>'}};
fetch('https://api.sx.bet/orders-v3/{orderId}', 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.sx.bet/orders-v3/{orderId}",
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-sx-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.sx.bet/orders-v3/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-sx-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.sx.bet/orders-v3/{orderId}")
.header("x-sx-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sx.bet/orders-v3/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-sx-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"order": {
"id": "0xd9b693a1075ab77c0638fe98fcd3144dbb8f91d0f7ee454d442bf25ca7cbcb66",
"marketHash": "0x81cfc23d0a02403f32d29b5a7c5686acd5eaedcdaa461cf253a1488e4cac0fcf",
"userAddress": "0xbcc6D643e4159A75ED1dB4e13330230B82F2AEe5",
"wallet": "0x4361123dbdc1D812fdf7D27045aF358C9C8AA70A",
"isBettingOutcomeOne": true,
"percentageOdds": "40000000000000000000",
"totalBetSize": "2000000",
"remainingSize": "0",
"expiry": "2026-07-31T19:45:07.000Z",
"status": "INACTIVE",
"inactiveReason": "FILLED",
"eventId": "L12952568",
"createdAt": "2026-07-31T18:45:07.437Z",
"updatedAt": "2026-07-31T18:46:12.100Z"
}
}
}{
"message": "Order not found",
"error": "Not Found",
"statusCode": 404
}{
"message": "INVALID_USER",
"error": "Unauthorized",
"statusCode": 401
}Orders
Get an order by ID
Look up one of your orders by its signed order ID — any status.
GET
/
orders-v3
/
{orderId}
Get an order by ID
curl --request GET \
--url https://api.sx.bet/orders-v3/{orderId} \
--header 'x-sx-api-key: <api-key>'import requests
url = "https://api.sx.bet/orders-v3/{orderId}"
headers = {"x-sx-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-sx-api-key': '<api-key>'}};
fetch('https://api.sx.bet/orders-v3/{orderId}', 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.sx.bet/orders-v3/{orderId}",
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-sx-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.sx.bet/orders-v3/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-sx-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.sx.bet/orders-v3/{orderId}")
.header("x-sx-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sx.bet/orders-v3/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-sx-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"order": {
"id": "0xd9b693a1075ab77c0638fe98fcd3144dbb8f91d0f7ee454d442bf25ca7cbcb66",
"marketHash": "0x81cfc23d0a02403f32d29b5a7c5686acd5eaedcdaa461cf253a1488e4cac0fcf",
"userAddress": "0xbcc6D643e4159A75ED1dB4e13330230B82F2AEe5",
"wallet": "0x4361123dbdc1D812fdf7D27045aF358C9C8AA70A",
"isBettingOutcomeOne": true,
"percentageOdds": "40000000000000000000",
"totalBetSize": "2000000",
"remainingSize": "0",
"expiry": "2026-07-31T19:45:07.000Z",
"status": "INACTIVE",
"inactiveReason": "FILLED",
"eventId": "L12952568",
"createdAt": "2026-07-31T18:45:07.437Z",
"updatedAt": "2026-07-31T18:46:12.100Z"
}
}
}{
"message": "Order not found",
"error": "Not Found",
"statusCode": 404
}{
"message": "INVALID_USER",
"error": "Unauthorized",
"statusCode": 401
}GET /orders-v3/{orderId} returns one order belonging to the authenticated account.
Unlike GET /orders-v3, this is not limited to orders
resting on the book — filled, cancelled, and expired orders are returned with status: "INACTIVE".
Pass the signed order ID: the same value as id on order rows and orderId from
POST /orders-v3.
An order stays retrievable for about 10–20 minutes after it becomes
INACTIVE. After that, it
returns 404, the same as an id that never existed or belongs to another account. To keep an
order’s final state, record it from the orders channel when it
arrives.Path Parameters
Last modified on October 27, 2026