getEpochInfo
curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getEpochInfo"
}
'import requests
url = "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "getEpochInfo"
}
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: 'getEpochInfo'})
};
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' => 'getEpochInfo'
]),
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\": \"getEpochInfo\"\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\": \"getEpochInfo\"\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\": \"getEpochInfo\"\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {
"absoluteSlot": 123,
"blockHeight": 123,
"epoch": 123,
"slotIndex": 123,
"slotsInEpoch": 123
}
}Solana node API
getEpochInfo | Solana
The Solana getEpochInfo method returns information about the current epoch. This method provides detailed information about the current epoch.
POST
/
9de47db917d4f69168e3fed02217d15b
getEpochInfo
curl --request POST \
--url https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "getEpochInfo"
}
'import requests
url = "https://nd-326-444-187.p2pify.com/9de47db917d4f69168e3fed02217d15b"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "getEpochInfo"
}
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: 'getEpochInfo'})
};
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' => 'getEpochInfo'
]),
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\": \"getEpochInfo\"\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\": \"getEpochInfo\"\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\": \"getEpochInfo\"\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {
"absoluteSlot": 123,
"blockHeight": 123,
"epoch": 123,
"slotIndex": 123,
"slotsInEpoch": 123
}
}The Solana
getEpochInfo method returns information about the current epoch.
This method provides detailed information about the current epoch, including the epoch number, the number of slots in the epoch, the current slot, and more. It is useful for tracking the progress of the network over time.
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
commitment— (optional) the level of commitment desired:processed— the node has processed the block and the block may be on a fork.confirmed— the block is confirmed by the cluster as not being on a fork.finalized— the block is finalized by the cluster.
Response
value— the epoch information:epoch— the current epoch.slotIndex— the current slot index.slotsInEpoch— the total number of slots in the current epoch.absoluteSlot— the current slot.blockHeight— the current block height.transactionCount— the total number of transactions processed so far.
Use case
A practical use case forgetEpochInfo is to track the progress of the network over time. This can be useful for network monitoring tools or other applications that need to display or make use of this information.Last modified on June 22, 2026
Was this page helpful?