Get orders by ID
curl --request GET \
--url https://api.sx.bet/orders-v3/batch \
--header 'x-sx-api-key: <api-key>'import requests
url = "https://api.sx.bet/orders-v3/batch"
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/batch', 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/batch",
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/batch"
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/batch")
.header("x-sx-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sx.bet/orders-v3/batch")
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": {
"orders": [
{
"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"
},
{
"id": "0x5e0f2a8c7d9b41e3a6c2f18b0d47e9a3c51b6f2d8e04a7c93b1f6d2e8a40c7b5",
"marketHash": "0x81cfc23d0a02403f32d29b5a7c5686acd5eaedcdaa461cf253a1488e4cac0fcf",
"userAddress": "0xbcc6D643e4159A75ED1dB4e13330230B82F2AEe5",
"wallet": "0x4361123dbdc1D812fdf7D27045aF358C9C8AA70A",
"isBettingOutcomeOne": false,
"percentageOdds": "55000000000000000000",
"totalBetSize": "5000000",
"remainingSize": "5000000",
"expiry": "2026-07-31T20:00:00.000Z",
"status": "ACTIVE",
"inactiveReason": null,
"eventId": "L12952568",
"createdAt": "2026-07-31T18:50:31.902Z",
"updatedAt": "2026-07-31T18:50:31.902Z"
}
]
}
}{
"message": [
"orderIds must be an array of valid hex strings of length 32 bytes"
],
"error": "Bad Request",
"statusCode": 400
}{
"message": "BAD_AUTH",
"error": "Unauthorized",
"statusCode": 401
}{
"message": "INVALID_USER",
"error": "Unauthorized",
"statusCode": 401
}Orders
Get orders by ID
Look up to 100 of your orders by signed order ID — any status.
GET
/
orders-v3
/
batch
Get orders by ID
curl --request GET \
--url https://api.sx.bet/orders-v3/batch \
--header 'x-sx-api-key: <api-key>'import requests
url = "https://api.sx.bet/orders-v3/batch"
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/batch', 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/batch",
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/batch"
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/batch")
.header("x-sx-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sx.bet/orders-v3/batch")
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": {
"orders": [
{
"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"
},
{
"id": "0x5e0f2a8c7d9b41e3a6c2f18b0d47e9a3c51b6f2d8e04a7c93b1f6d2e8a40c7b5",
"marketHash": "0x81cfc23d0a02403f32d29b5a7c5686acd5eaedcdaa461cf253a1488e4cac0fcf",
"userAddress": "0xbcc6D643e4159A75ED1dB4e13330230B82F2AEe5",
"wallet": "0x4361123dbdc1D812fdf7D27045aF358C9C8AA70A",
"isBettingOutcomeOne": false,
"percentageOdds": "55000000000000000000",
"totalBetSize": "5000000",
"remainingSize": "5000000",
"expiry": "2026-07-31T20:00:00.000Z",
"status": "ACTIVE",
"inactiveReason": null,
"eventId": "L12952568",
"createdAt": "2026-07-31T18:50:31.902Z",
"updatedAt": "2026-07-31T18:50:31.902Z"
}
]
}
}{
"message": [
"orderIds must be an array of valid hex strings of length 32 bytes"
],
"error": "Bad Request",
"statusCode": 400
}{
"message": "BAD_AUTH",
"error": "Unauthorized",
"statusCode": 401
}{
"message": "INVALID_USER",
"error": "Unauthorized",
"statusCode": 401
}GET /orders-v3/batch is the batch form of GET /orders-v3/{orderId}:
up to 100 orders in any status, passed as one comma-separated orderIds value.
IDs that do not match one of your orders are omitted from
orders, not returned as errors. That
includes inactive orders, which stay retrievable for about 10–20 minutes. To keep an order’s final
state, record it from the orders channel.Authorizations
API key, sent as the x-sx-api-key header.
Query Parameters
Comma-separated signed order IDs, 1–100. Send the key once; repeating it is a 400.
Last modified on November 9, 2026