curl --request GET \
--url http://localhost:3003/v2/orders \
--header 'Authorization: <api-key>'import requests
url = "http://localhost:3003/v2/orders"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('http://localhost:3003/v2/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3003",
CURLOPT_URL => "http://localhost:3003/v2/orders",
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: <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 := "http://localhost:3003/v2/orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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("http://localhost:3003/v2/orders")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3003/v2/orders")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"orders": [
{
"created": "2026-09-28T02:44:44.178Z",
"houdiniId": "ao5tBEaAxkjJJdZnZeuXo6",
"receiverAddress": "8jZnXYnZB1MJQG6zBXyouzcycsaPTrZtPXPHDNifjYaC",
"status": 0,
"anonymous": false,
"expires": "2026-09-28T03:14:44.178Z",
"in": "se",
"inAmount": 0.05,
"inSymbol": "ETH",
"inStatus": 0,
"inCreated": "2026-09-28T02:44:44.178Z",
"outAmount": 1.09202632,
"outSymbol": "SOL",
"eta": 8,
"inAmountUsd": 132.6355,
"isDex": false,
"swapName": "StealthEx",
"depositAddress": "0x0000000000000000000000000000000000000000",
"id": "6ab9d49ca4f8db2c6ce6dfb2",
"hashUrl": "",
"statusLabel": "WAITING",
"inStatusLabel": "NEW",
"displayStatus": "WAITING_FOR_DEPOSIT"
}
],
"total": 1,
"totalPages": 1
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"fields": {},
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}Get orders
Returns a paginated list of orders created in the last 48 hours.
Older orders drop out of the API entirely — a from date earlier than that is clamped to the window, so keep your own record of anything you need long-term.
curl --request GET \
--url http://localhost:3003/v2/orders \
--header 'Authorization: <api-key>'import requests
url = "http://localhost:3003/v2/orders"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('http://localhost:3003/v2/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3003",
CURLOPT_URL => "http://localhost:3003/v2/orders",
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: <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 := "http://localhost:3003/v2/orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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("http://localhost:3003/v2/orders")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3003/v2/orders")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"orders": [
{
"created": "2026-09-28T02:44:44.178Z",
"houdiniId": "ao5tBEaAxkjJJdZnZeuXo6",
"receiverAddress": "8jZnXYnZB1MJQG6zBXyouzcycsaPTrZtPXPHDNifjYaC",
"status": 0,
"anonymous": false,
"expires": "2026-09-28T03:14:44.178Z",
"in": "se",
"inAmount": 0.05,
"inSymbol": "ETH",
"inStatus": 0,
"inCreated": "2026-09-28T02:44:44.178Z",
"outAmount": 1.09202632,
"outSymbol": "SOL",
"eta": 8,
"inAmountUsd": 132.6355,
"isDex": false,
"swapName": "StealthEx",
"depositAddress": "0x0000000000000000000000000000000000000000",
"id": "6ab9d49ca4f8db2c6ce6dfb2",
"hashUrl": "",
"statusLabel": "WAITING",
"inStatusLabel": "NEW",
"displayStatus": "WAITING_FOR_DEPOSIT"
}
],
"total": 1,
"totalPages": 1
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"fields": {},
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}Authorizations
Send Authorization: <ApiKey>:<ApiSecret> — joined by a colon, raw. No Bearer prefix, no base64.
Query Parameters
Page number
1 <= x <= 10000Page size
1 <= x <= 100Get all orders from a multi swap
64Order status
- -2 Order is being initialized (label: INITIALIZING)
- -1 Order initialized (label: NEW)
- 0 Waiting for deposit confirmation (label: WAITING)
- 1 Deposit is being confirmed (label: CONFIRMING)
- 2 Exchange is in progress (label: EXCHANGING)
- 3 Order is going through anonymization (label: ANONYMIZING)
- 4 Order completed successfully (label: FINISHED)
- 5 Order has expired (label: EXPIRED)
- 6 Order failed (label: FAILED)
- 7 Order was refunded (label: REFUNDED)
- 8 Order was deleted (label: DELETED)
-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8 Created from date ISO 8601 format
Created until date ISO 8601 format
Field to sort by: created sorts by created, updated by modified, and amount by inAmountUsd, the USD value of the deposit at order creation, so orders in different tokens compare.
created, updated, amount Sort order direction
asc, desc Filter by order privacy: true for private (anonymous) orders, false for standard orders
Filter by the token being sent, using an id from Get tokens
^[a-fA-F0-9]{24}$Filter by the token being received, using an id from Get tokens
^[a-fA-F0-9]{24}$