List a wallet's maker books
Every maker book user owns, one per market, sorted by market address. Empty when the wallet has none. Balances are total deposits (free + locked) in human units; levels are the active ones, best price first.
curl --request GET \
--url https://api.archer.exchange/v1/makerbook \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/makerbook"
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/makerbook', 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/makerbook",
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/makerbook"
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/makerbook")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/makerbook")
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": [
{
"price": "150.050000",
"size": "10.000000000"
}
],
"baseMint": "So11111111111111111111111111111111111111112",
"baseQty": "125.000000000",
"bids": [
{
"price": "149.950000",
"size": "10.000000000"
},
{
"price": "149.500000",
"size": "25.000000000"
}
],
"makerBook": "DC9gaZyxgJtGyhH8V6nPDd71VB7aE3E7puCZRNqC3iWj",
"market": "u8tnfCb1JSSghuNFquQ2beStYgAN1kmd1f1Lhxbaec4",
"quoteMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"quoteQty": "18750.000000",
"user": "GLKCuotKSjPtQhxHmf6q8GUkw6tUZnzs8W5vEbxdaBdK"
}
]{
"error": "INVALID_PARAMS",
"message": "Invalid market address: xyz"
}{
"error": "RATE_LIMITED",
"message": "Too many requests. Please slow down."
}{
"error": "INTERNAL_ERROR",
"message": "Internal error: ..."
}Authorizations
Query Parameters
Maker wallet. For a book owned by an ArcherAccount, pass the account's address here — the book is keyed by its maker of record. Passing a wallet whose ArcherAccount owns books, instead of the account address, returns 400 INVALID_PARAMS naming the account address to use, rather than an empty result.
Response
The wallet's maker books.
Resting asks, lowest price first.
Show child attributes
Show child attributes
"So11111111111111111111111111111111111111112"
Base tokens deposited, free + locked (decimal string).
"125.000000000"
Resting bids, highest price first.
Show child attributes
Show child attributes
The maker book account (PDA).
"u8tnfCb1JSSghuNFquQ2beStYgAN1kmd1f1Lhxbaec4"
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
Quote tokens deposited, free + locked (decimal string).
"18750.000000"
The maker wallet that owns it.
curl --request GET \
--url https://api.archer.exchange/v1/makerbook \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/makerbook"
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/makerbook', 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/makerbook",
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/makerbook"
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/makerbook")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/makerbook")
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": [
{
"price": "150.050000",
"size": "10.000000000"
}
],
"baseMint": "So11111111111111111111111111111111111111112",
"baseQty": "125.000000000",
"bids": [
{
"price": "149.950000",
"size": "10.000000000"
},
{
"price": "149.500000",
"size": "25.000000000"
}
],
"makerBook": "DC9gaZyxgJtGyhH8V6nPDd71VB7aE3E7puCZRNqC3iWj",
"market": "u8tnfCb1JSSghuNFquQ2beStYgAN1kmd1f1Lhxbaec4",
"quoteMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"quoteQty": "18750.000000",
"user": "GLKCuotKSjPtQhxHmf6q8GUkw6tUZnzs8W5vEbxdaBdK"
}
]{
"error": "INVALID_PARAMS",
"message": "Invalid market address: xyz"
}{
"error": "RATE_LIMITED",
"message": "Too many requests. Please slow down."
}{
"error": "INTERNAL_ERROR",
"message": "Internal error: ..."
}