curl --request GET \
--url https://api.routeme.sh/pricing/rpcimport requests
url = "https://api.routeme.sh/pricing/rpc"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.routeme.sh/pricing/rpc', 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.routeme.sh/pricing/rpc",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.routeme.sh/pricing/rpc"
req, _ := http.NewRequest("GET", url, nil)
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.routeme.sh/pricing/rpc")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.routeme.sh/pricing/rpc")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"vm": "evm",
"chain_id": "1",
"method": "eth_blockNumber",
"routing_strategy": "economy",
"price_per_million": 3
}
]List RPC route prices
Public endpoint returning current RPC route prices for each vm, chain ID, method, and routing strategy combination. No authentication required by default; without a key the response is the public catalog price, rate-limited per IP (default 30 requests per 60 seconds). Optionally pass an RPC service key in the X-Api-Key header to receive the caller’s effective prices with their active pricing overrides applied (each row then also reports base_price_per_million and price_override_applied); such requests skip the per-IP rate limit. An unknown, inactive, or malformed key returns 401. Empty results return an empty JSON array.
curl --request GET \
--url https://api.routeme.sh/pricing/rpcimport requests
url = "https://api.routeme.sh/pricing/rpc"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.routeme.sh/pricing/rpc', 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.routeme.sh/pricing/rpc",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.routeme.sh/pricing/rpc"
req, _ := http.NewRequest("GET", url, nil)
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.routeme.sh/pricing/rpc")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.routeme.sh/pricing/rpc")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"vm": "evm",
"chain_id": "1",
"method": "eth_blockNumber",
"routing_strategy": "economy",
"price_per_million": 3
}
]Headers
Optional RPC service key. When provided, the response returns the caller's effective prices with their active pricing overrides applied (each row also reports base_price_per_million and price_override_applied) and skips the per-IP rate limit. Without it the endpoint returns the public catalog price. An unknown, inactive, or malformed key returns 401.
Query Parameters
Filter by virtual machine type (e.g. evm).
Filter by chain ID (e.g. 1, 137, 8453).
Filter by JSON-RPC method (e.g. eth_blockNumber).
Filter by routing strategy.
economy, performance Response
Current route prices
Virtual machine type (e.g. "evm").
Numeric chain ID (e.g. "1", "137", "8453").
JSON-RPC method name (e.g. eth_blockNumber).
Routing strategy the price applies to.
economy, performance Price per one million requests. For keyless requests this is the public catalog price; with an X-Api-Key it is the caller's effective price after any active pricing overrides.
Catalog price before any override. Present only on responses requested with an X-Api-Key.
Whether an active pricing override supplied price_per_million. Present only on responses requested with an X-Api-Key.

