Stats
Service health
Liveness and readiness for the API process. Public: no API key required.
GET
/
v1
/
health
Service health
curl --request GET \
--url https://api.archer.exchange/v1/health \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/health"
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/health', 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/health",
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/health"
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/health")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/health")
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{
"geyserConnected": true,
"klineLastUpdate": 123,
"lastSlotProcessed": 123,
"marketsActive": 123,
"marketsStale": 123,
"rpcLatency": 123,
"status": "ok",
"uptime": 123,
"version": "<string>"
}Authorizations
Response
200 - application/json
Health snapshot.
Service health snapshot. status is degraded unless the Geyser stream is connected and no market is stale.
Whether the account/transaction stream is live.
When the candle aggregator last wrote (unix ms).
Highest slot the cache has applied.
Markets with fresh state.
Markets that are not active on chain (paused or closed). Informational; does not affect status.
Last observed Solana RPC round-trip, milliseconds.
ok while the Geyser stream is connected, degraded otherwise. Markets that are inactive on chain do not affect it.
Available options:
ok, degraded Seconds since process start.
Build version of the running binary.
Service health
curl --request GET \
--url https://api.archer.exchange/v1/health \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.archer.exchange/v1/health"
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/health', 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/health",
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/health"
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/health")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archer.exchange/v1/health")
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{
"geyserConnected": true,
"klineLastUpdate": 123,
"lastSlotProcessed": 123,
"marketsActive": 123,
"marketsStale": 123,
"rpcLatency": 123,
"status": "ok",
"uptime": 123,
"version": "<string>"
}