EVM readiness
curl --request GET \
--url https://router.raze.bot/evm/ready \
--header 'x-api-key: <api-key>'import requests
url = "https://router.raze.bot/evm/ready"
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://router.raze.bot/evm/ready', 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://router.raze.bot/evm/ready",
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://router.raze.bot/evm/ready"
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://router.raze.bot/evm/ready")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://router.raze.bot/evm/ready")
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{
"ready": true,
"reasons": [],
"chains": [
{
"chain": "eth",
"chainId": 1,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "26157737",
"ageMs": 74
}
},
{
"chain": "bsc",
"chainId": 56,
"ready": true,
"venues": [
"PancakeSwap V2",
"PancakeSwap V3"
],
"head": {
"source": "stream",
"number": "126712994",
"ageMs": 724
}
},
{
"chain": "base",
"chainId": 8453,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "52397143",
"ageMs": 349
}
},
{
"chain": "robinhood",
"chainId": 4663,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "84496381",
"ageMs": 539
}
}
]
}{
"ready": false,
"reasons": [
"eth: no RPC configured",
"bsc: no RPC configured",
"base: no RPC configured",
"robinhood: no RPC configured"
],
"chains": [
{
"chain": "eth",
"chainId": 1,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "bsc",
"chainId": 56,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "base",
"chainId": 8453,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "robinhood",
"chainId": 4663,
"ready": false,
"venues": [],
"head": null
}
]
}EVM
EVM readiness
200 when at least one chain can trade: an RPC configured, a venue verified and a fresh
block head, from the router’s stream or read over HTTP. Otherwise 503 with every reason
in reasons. A chain that cannot trade while another can is a warnings entry and the
answer stays 200: chains are independent. chains lists every chain with its own
ready, the dex labels of its verified venues and its newest block (head). No key.
The body is the Solana GET /ready’s (ready, reasons, warnings) plus chains. The
reasons are sentences (eth: no RPC configured, eth: no venue verified yet,
eth: no fresh block head): show them, do not parse them.
GET
/
evm
/
ready
EVM readiness
curl --request GET \
--url https://router.raze.bot/evm/ready \
--header 'x-api-key: <api-key>'import requests
url = "https://router.raze.bot/evm/ready"
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://router.raze.bot/evm/ready', 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://router.raze.bot/evm/ready",
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://router.raze.bot/evm/ready"
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://router.raze.bot/evm/ready")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://router.raze.bot/evm/ready")
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{
"ready": true,
"reasons": [],
"chains": [
{
"chain": "eth",
"chainId": 1,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "26157737",
"ageMs": 74
}
},
{
"chain": "bsc",
"chainId": 56,
"ready": true,
"venues": [
"PancakeSwap V2",
"PancakeSwap V3"
],
"head": {
"source": "stream",
"number": "126712994",
"ageMs": 724
}
},
{
"chain": "base",
"chainId": 8453,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "52397143",
"ageMs": 349
}
},
{
"chain": "robinhood",
"chainId": 4663,
"ready": true,
"venues": [
"Uniswap V2",
"Uniswap V3"
],
"head": {
"source": "stream",
"number": "84496381",
"ageMs": 539
}
}
]
}{
"ready": false,
"reasons": [
"eth: no RPC configured",
"bsc: no RPC configured",
"base: no RPC configured",
"robinhood: no RPC configured"
],
"chains": [
{
"chain": "eth",
"chainId": 1,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "bsc",
"chainId": 56,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "base",
"chainId": 8453,
"ready": false,
"venues": [],
"head": null
},
{
"chain": "robinhood",
"chainId": 4663,
"ready": false,
"venues": [],
"head": null
}
]
}Point your load balancer here for the EVM routes. How to read the answer: Readiness.
Authorizations
⌘I