getBlockTime
curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getBlockTime",
"params": [
166974442
]
}
'import requests
url = "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "getBlockTime",
"params": [166974442]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'getBlockTime', params: [166974442]})
};
fetch('https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b', 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://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'getBlockTime',
'params' => [
166974442
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": 123
}Solana node API
getBlockTime | Solana
The Solana getBlockTime method returns the estimated production time of a block. Available on Solana via Chainstack JSON-RPC nodes.
POST
/
9de47db917d4f69168e3fed02217d15b
getBlockTime
curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getBlockTime",
"params": [
166974442
]
}
'import requests
url = "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "getBlockTime",
"params": [166974442]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'getBlockTime', params: [166974442]})
};
fetch('https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b', 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://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'getBlockTime',
'params' => [
166974442
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"getBlockTime\",\n \"params\": [\n 166974442\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": 123
}Per-method rate limit: 500 RPS across all regions. Archive data: this method supports fetching historical data on Global Nodes. See Solana method limits.
getBlockTime method returns the estimated production time of a block.
Note that you need to use the slot number as a parameter here, not the block number. See also Understanding the difference between blocks and slots on Solana.
This method provides the Unix timestamp at which the block was produced. It is useful for tracking the timing of transactions and events on the blockchain.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
block— the height of the slot to retrieve the block production time for.
Response
value— the estimated Unix timestamp at which the block was produced.
Use case
A practical use case forgetBlockTime is to track the timing of transactions and events on the blockchain. This can be useful for block explorers, wallets, or other applications that need to display or make use of this information.Last modified on June 22, 2026
Was this page helpful?