Skip to main content
POST
/
eth_getTransactionCount
curl --request POST \
  --url https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/ \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "eth_getTransactionCount",
  "params": [
    "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
    "latest"
  ],
  "id": 1
}
'
import requests

url = "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"

payload = {
"jsonrpc": "2.0",
"method": "eth_getTransactionCount",
"params": ["0x9729187D9E8Bbefa8295F39f5634cA454dd9d294", "latest"],
"id": 1
}
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_getTransactionCount',
params: ['0x9729187D9E8Bbefa8295F39f5634cA454dd9d294', 'latest'],
id: 1
})
};

fetch('https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/', 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://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/",
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_getTransactionCount',
'params' => [
'0x9729187D9E8Bbefa8295F39f5634cA454dd9d294',
'latest'
],
'id' => 1
]),
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://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"

payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionCount\",\n \"params\": [\n \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"latest\"\n ],\n \"id\": 1\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://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionCount\",\n \"params\": [\n \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"latest\"\n ],\n \"id\": 1\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")

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_getTransactionCount\",\n \"params\": [\n \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"latest\"\n ],\n \"id\": 1\n}"

response = http.request(request)
puts response.read_body
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": "<string>"
}
Tempo API method that returns the number of transactions sent from an address (the nonce). This is used to set the correct nonce when sending transactions.
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

  • address — the address to get the transaction count for
  • blockParameter — the block number (hex) or tag (latest, earliest, pending)

Response

  • result — the number of transactions sent from the address encoded as hexadecimal

eth_getTransactionCount code examples

const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const getNonce = async () => {
    const nonce = await provider.getTransactionCount("0x9729187D9E8Bbefa8295F39f5634cA454dd9d294");
    console.log(`Nonce: ${nonce}`);
  };

getNonce();
from web3 import Web3

node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
nonce = web3.eth.get_transaction_count("0x9729187D9E8Bbefa8295F39f5634cA454dd9d294")
print(f"Nonce: {nonce}")
curl -X POST "CHAINSTACK_NODE_URL" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "eth_getTransactionCount", "params": ["0x9729187D9E8Bbefa8295F39f5634cA454dd9d294", "latest"], "id": 1}'

Body

application/json
jsonrpc
string
default:2.0
method
string
default:eth_getTransactionCount
params
any[]

Address and block parameter

id
integer
default:1

Response

200 - application/json

The transaction count (nonce)

jsonrpc
string
id
integer
result
string

The number of transactions sent from the address encoded as hexadecimal

Last modified on June 25, 2026