Markets
Aggregated orderbook
Levels summed across every maker book the matching engine would fill against, best price first. Served from the in-memory state cache, so it reflects the same book the quote endpoints price against. Only the levels actually returned are converted to human units.
GET
/
v1
/
markets
/
{address}
/
orderbook
Aggregated orderbook
curl --request GET \
--url https://api.archer.exchange/v1/markets/{address}/orderbook \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/markets/{address}/orderbook"
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.archer.exchange/v1/markets/{address}/orderbook', 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.archer.exchange/v1/markets/{address}/orderbook",
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.archer.exchange/v1/markets/{address}/orderbook"
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.archer.exchange/v1/markets/{address}/orderbook")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/markets/{address}/orderbook")
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{
"asks": [
{
"makerCount": 123,
"price": "<string>",
"size": "<string>"
}
],
"bids": [
{
"makerCount": 123,
"price": "<string>",
"size": "<string>"
}
],
"market": "<string>",
"slot": 123,
"timestamp": 123
}{
"error": "INVALID_PARAMS",
"message": "Invalid market address: xyz"
}{
"error": "MARKET_NOT_FOUND",
"message": "Market not found: 5Ggx...abc"
}{
"error": "RATE_LIMITED",
"message": "Too many requests. Please slow down."
}{
"error": "INTERNAL_ERROR",
"message": "Internal error: ..."
}Authorizations
Path Parameters
Market address.
Query Parameters
Levels per side. Clamped to 200.
Response
The aggregated book.
Aggregated orderbook: levels summed across every eligible maker book, best price first (bids descending, asks ascending).
Ascending by price.
Show child attributes
Show child attributes
Descending by price.
Show child attributes
Show child attributes
Market address.
Slot the cached book state reflects.
Server time when the book was rendered (unix ms).
Aggregated orderbook
curl --request GET \
--url https://api.archer.exchange/v1/markets/{address}/orderbook \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/markets/{address}/orderbook"
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.archer.exchange/v1/markets/{address}/orderbook', 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.archer.exchange/v1/markets/{address}/orderbook",
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.archer.exchange/v1/markets/{address}/orderbook"
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.archer.exchange/v1/markets/{address}/orderbook")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/markets/{address}/orderbook")
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{
"asks": [
{
"makerCount": 123,
"price": "<string>",
"size": "<string>"
}
],
"bids": [
{
"makerCount": 123,
"price": "<string>",
"size": "<string>"
}
],
"market": "<string>",
"slot": 123,
"timestamp": 123
}{
"error": "INVALID_PARAMS",
"message": "Invalid market address: xyz"
}{
"error": "MARKET_NOT_FOUND",
"message": "Market not found: 5Ggx...abc"
}{
"error": "RATE_LIMITED",
"message": "Too many requests. Please slow down."
}{
"error": "INTERNAL_ERROR",
"message": "Internal error: ..."
}