eth_getStorageAt
curl --request POST \
--url https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_getStorageAt",
"id": 1,
"params": [
"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"0x0",
"latest"
]
}
'import requests
url = "https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc"
payload = {
"jsonrpc": "2.0",
"method": "eth_getStorageAt",
"id": 1,
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x0", "latest"]
}
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({
jsonrpc: '2.0',
method: 'eth_getStorageAt',
id: 1,
params: ['0x407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', 'latest']
})
};
fetch('https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc', 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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc",
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([
'jsonrpc' => '2.0',
'method' => 'eth_getStorageAt',
'id' => 1,
'params' => [
'0x407d73d8a49eeb85d32cf465507dd71d507100c1',
'0x0',
'latest'
]
]),
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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc")
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 \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}TRON node API
jsonrpc eth_getStorageAt | TRON
TRON API method that returns the value from a storage position at a given address. This method provides Ethereum-compatible interface for TRON blockchain.
POST
/
95e61622bf6a8af293978377718e3b77
/
jsonrpc
eth_getStorageAt
curl --request POST \
--url https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_getStorageAt",
"id": 1,
"params": [
"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"0x0",
"latest"
]
}
'import requests
url = "https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc"
payload = {
"jsonrpc": "2.0",
"method": "eth_getStorageAt",
"id": 1,
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x0", "latest"]
}
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({
jsonrpc: '2.0',
method: 'eth_getStorageAt',
id: 1,
params: ['0x407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', 'latest']
})
};
fetch('https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc', 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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc",
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([
'jsonrpc' => '2.0',
'method' => 'eth_getStorageAt',
'id' => 1,
'params' => [
'0x407d73d8a49eeb85d32cf465507dd71d507100c1',
'0x0',
'latest'
]
]),
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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\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://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/jsonrpc")
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 \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getStorageAt\",\n \"id\": 1,\n \"params\": [\n \"0x407d73d8a49eeb85d32cf465507dd71d507100c1\",\n \"0x0\",\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}TRON API method that returns the value stored at a specific storage position of a smart contract, providing an Ethereum-compatible interface for accessing TRON blockchain data.
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
jsonrpc— the JSON-RPC protocol version (always “2.0”)method— the method name (always “eth_getStorageAt”)params— array containing method parametersaddress— the contract address to read storage fromposition— the storage position (slot) as hex stringblockParameter— only"latest"is supported; TRON has no historical state queries, see Historical data availability
id— request identifier (number or string)
Response
jsonrpc— the JSON-RPC protocol version (“2.0”)id— the request identifier that matches the requestresult— the value at the storage position as a hex string
Use case
Thejsonrpc eth_getStorageAt method is used for:
- Reading smart contract state variables directly through Web3 interfaces
- Debugging and analyzing contract storage layout and values
- Building advanced dApp functionality that requires direct storage access
- Implementing contract monitoring tools that track state changes
Body
application/json
Last modified on June 22, 2026
Was this page helpful?