Denim activated on Base Sepolia on October 21, 2026, replacing Flashblocks with canonical 200ms blocks. Flashblocks subscriptions and the "pending" block tag no longer provide preconfirmation data on Sepolia. Use canonical blocks and state instead. Base Mainnet continues to use Flashblocks until its own Denim activation, which is targeting November 2026.
See the Denim migration steps.
Parameters
- addressstringREQUIRED
The address from which the transaction count to be checked
- blockNumberstringREQUIRED
The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators
Returns
- result
The integer of the number of transactions sent from an address encoded as hexadecimal
1curl -X POST "https://docs-demo.base-mainnet.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "eth_getTransactionCount",6"params": [7"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",8"latest"9],10"id": 111}'
1curl -X POST "https://docs-demo.base-mainnet.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "eth_getTransactionCount",6"params": [7"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",8"latest"9],10"id": 111}'
1import { ethers } from "ethers";23async function main() {4const provider = new ethers.JsonRpcProvider("https://docs-demo.base-mainnet.quiknode.pro/");5const response = await provider.send("eth_getTransactionCount", [6"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",7"latest"8]);9console.log(response);10}1112main();
1import { ethers } from "ethers";23async function main() {4const provider = new ethers.JsonRpcProvider("https://docs-demo.base-mainnet.quiknode.pro/");5const response = await provider.send("eth_getTransactionCount", [6"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",7"latest"8]);9console.log(response);10}1112main();
1from web3 import Web3, HTTPProvider2w3 = Web3(HTTPProvider('https://docs-demo.base-mainnet.quiknode.pro/'))3response = w3.provider.make_request("eth_getTransactionCount", ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"])4print(response)
1from web3 import Web3, HTTPProvider2w3 = Web3(HTTPProvider('https://docs-demo.base-mainnet.quiknode.pro/'))3response = w3.provider.make_request("eth_getTransactionCount", ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"])4print(response)
1import { createPublicClient, http } from 'viem'23async function main() {4const client = createPublicClient({5transport: http('https://docs-demo.base-mainnet.quiknode.pro/')6})78const result = await client.request({9method: 'eth_getTransactionCount',10params: [11"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",12"latest"13]14})1516console.log(result)17}1819main()
1import { createPublicClient, http } from 'viem'23async function main() {4const client = createPublicClient({5transport: http('https://docs-demo.base-mainnet.quiknode.pro/')6})78const result = await client.request({9method: 'eth_getTransactionCount',10params: [11"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",12"latest"13]14})1516console.log(result)17}1819main()
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'eth_getTransactionCount',7[8"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",9"latest"10],11undefined,12'https://docs-demo.base-mainnet.quiknode.pro/'13)1415console.log(result)
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'eth_getTransactionCount',7[8"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",9"latest"10],11undefined,12'https://docs-demo.base-mainnet.quiknode.pro/'13)1415console.log(result)
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"eth_getTransactionCount",8[9"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",10"latest"11],12endpoint_url="https://docs-demo.base-mainnet.quiknode.pro/",13)14print(result)1516asyncio.run(main())
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"eth_getTransactionCount",8[9"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",10"latest"11],12endpoint_url="https://docs-demo.base-mainnet.quiknode.pro/",13)14print(result)1516asyncio.run(main())
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "eth_getTransactionCount",7params: [8"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",9"latest"10],11endpoint_url: "https://docs-demo.base-mainnet.quiknode.pro/"12)1314puts result
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "eth_getTransactionCount",7params: [8"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",9"latest"10],11endpoint_url: "https://docs-demo.base-mainnet.quiknode.pro/"12)1314puts result
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"eth_getTransactionCount",10Some(serde_json::json!([11"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",12"latest"13])),14None,15Some("https://docs-demo.base-mainnet.quiknode.pro/".into()),16)17.await?;1819println!("{result}");20Ok(())21}
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"eth_getTransactionCount",10Some(serde_json::json!([11"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",12"latest"13])),14None,15Some("https://docs-demo.base-mainnet.quiknode.pro/".into()),16)17.await?;1819println!("{result}");20Ok(())21}
1const body = {2jsonrpc: '2.0',3method: 'eth_getTransactionCount',4params: ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"],5id: 16}78async function main() {9const response = await fetch('https://docs-demo.base-mainnet.quiknode.pro/', {10method: 'POST',11headers: {'Content-Type': 'application/json'},12body: JSON.stringify(body)13})14const data = await response.json()15console.log(data)16}1718main()
1const body = {2jsonrpc: '2.0',3method: 'eth_getTransactionCount',4params: ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"],5id: 16}78async function main() {9const response = await fetch('https://docs-demo.base-mainnet.quiknode.pro/', {10method: 'POST',11headers: {'Content-Type': 'application/json'},12body: JSON.stringify(body)13})14const data = await response.json()15console.log(data)16}1718main()
1import requests2import json34url = "https://docs-demo.base-mainnet.quiknode.pro/"56payload = json.dumps({7"jsonrpc": "2.0",8"method": "eth_getTransactionCount",9"params": [10"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",11"latest"12],13"id": 114})15headers = {16'Content-Type': 'application/json'17}1819response = requests.request("POST", url, headers=headers, data=payload)2021print(response.text)
1import requests2import json34url = "https://docs-demo.base-mainnet.quiknode.pro/"56payload = json.dumps({7"jsonrpc": "2.0",8"method": "eth_getTransactionCount",9"params": [10"0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001",11"latest"12],13"id": 114})15headers = {16'Content-Type': 'application/json'17}1819response = requests.request("POST", url, headers=headers, data=payload)2021print(response.text)
1require "uri"2require "json"3require "net/http"45uri = URI("https://docs-demo.base-mainnet.quiknode.pro/")67payload = {8jsonrpc: "2.0",9id: 1,10method: "eth_getTransactionCount",11params: ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"]12}1314request = Net::HTTP::Post.new(uri)15request["Content-Type"] = "application/json"16request.body = JSON.generate(payload)1718response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|19http.request(request)20end2122puts response.body
1require "uri"2require "json"3require "net/http"45uri = URI("https://docs-demo.base-mainnet.quiknode.pro/")67payload = {8jsonrpc: "2.0",9id: 1,10method: "eth_getTransactionCount",11params: ["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001","latest"]12}1314request = Net::HTTP::Post.new(uri)15request["Content-Type"] = "application/json"16request.body = JSON.generate(payload)1718response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|19http.request(request)20end2122puts response.body
1{2"jsonrpc": "2.0",3"id": 1,4"result": "0x27221c4"5}
1{2"jsonrpc": "2.0",3"id": 1,4"result": "0x27221c4"5}