Please note that for this RPC method, block range limits are set to 5 for Free Trial plans and 1005 for all paid accounts.
Parameters
start_slot
string
REQUIRED
The start slot encoded as an u64 integer
limit
string
REQUIRED
The limit encoded as u64, 64-bit unsigned integer
object
object
The configuration object with the following fields:
commitment
string
The level of commitment required for the query. It can be one of:
finalized
string
The node will query the most recent block confirmed by supermajority of the cluster as having reached maximum lockout, meaning the cluster has recognized this block as finalized
confirmed
string
The node will query the most recent block that has been voted on by supermajority of the cluster
Returns
result
An array of u64 integers listing confirmed blocks between the start_slot and either end_slot - if provided, or latest confirmed block, inclusive. The maximum range allowed is 500,000 slots
Request
1curl https://docs-demo.solana-mainnet.quiknode.pro/ \2-X POST \3-H "Content-Type: application/json" \4-d $'5{6"jsonrpc": "2.0",7"id":1,8"method":"getBlocksWithLimit",9"params":[5, 3]10}11'
1curl https://docs-demo.solana-mainnet.quiknode.pro/ \2-X POST \3-H "Content-Type: application/json" \4-d $'5{6"jsonrpc": "2.0",7"id":1,8"method":"getBlocksWithLimit",9"params":[5, 3]10}11'
1require "uri"2require "json"3require "net/http"45url = URI("https://docs-demo.solana-mainnet.quiknode.pro/")67https = Net::HTTP.new(url.host, url.port)8https.use_ssl = true910request = Net::HTTP::Post.new(url)11request["Content-Type"] = "application/json"12request.body = JSON.dump({13"jsonrpc": "2.0",14"id": 1,15"method": "getBlocksWithLimit",16"params": [175,18319]20})2122response = https.request(request)23puts response.read_body24
1require "uri"2require "json"3require "net/http"45url = URI("https://docs-demo.solana-mainnet.quiknode.pro/")67https = Net::HTTP.new(url.host, url.port)8https.use_ssl = true910request = Net::HTTP::Post.new(url)11request["Content-Type"] = "application/json"12request.body = JSON.dump({13"jsonrpc": "2.0",14"id": 1,15"method": "getBlocksWithLimit",16"params": [175,18319]20})2122response = https.request(request)23puts response.read_body24
1import { createSolanaRpc } from "@solana/kit";23(async () => {4const solanaRpc = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");56try {7const blocks = await solanaRpc.getBlocksWithLimit(BigInt(5), 3).send();8console.log(blocks);9} catch (error) {10console.error("Error fetching blocks with limit:", error);11}12})();
1import { createSolanaRpc } from "@solana/kit";23(async () => {4const solanaRpc = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");56try {7const blocks = await solanaRpc.getBlocksWithLimit(BigInt(5), 3).send();8console.log(blocks);9} catch (error) {10console.error("Error fetching blocks with limit:", error);11}12})();
1// not currently supported by solanaJS2const axios = require("axios");3(() => {4const config = {5headers: {6"Content-Type": "application/json",7},8};9const data = {10jsonrpc: "2.0",11id: 1,12method: "getBlocksWithLimit",13params: [5, 3],14};15axios16.post("https://docs-demo.solana-mainnet.quiknode.pro/", data, config)17.then(function (response) {18// handle success19console.log(response.data);20})21.catch((err) => {22// handle error23console.log(err);24});25})();26
1// not currently supported by solanaJS2const axios = require("axios");3(() => {4const config = {5headers: {6"Content-Type": "application/json",7},8};9const data = {10jsonrpc: "2.0",11id: 1,12method: "getBlocksWithLimit",13params: [5, 3],14};15axios16.post("https://docs-demo.solana-mainnet.quiknode.pro/", data, config)17.then(function (response) {18// handle success19console.log(response.data);20})21.catch((err) => {22// handle error23console.log(err);24});25})();26
1from jsonrpcclient import request, parse, Ok2import logging3import requests4response = requests.post("https://docs-demo.solana-mainnet.quiknode.pro/",json=request("getBlocksWithLimit", params=[5,3]))5parsed = parse(response.json())6if isinstance(parsed, Ok):7print(parsed.result)8else:9logging.error(parsed.message)10
1from jsonrpcclient import request, parse, Ok2import logging3import requests4response = requests.post("https://docs-demo.solana-mainnet.quiknode.pro/",json=request("getBlocksWithLimit", params=[5,3]))5parsed = parse(response.json())6if isinstance(parsed, Ok):7print(parsed.result)8else:9logging.error(parsed.message)10
1use reqwest::header;2use reqwest::Client;3use std::error::Error;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7let mut headers = header::HeaderMap::new();8headers.insert("Content-Type", "application/json".parse().unwrap());910let client = Client::new();11let json_data = r#"12{13"jsonrpc": "2.0",14"id": 1,15"method": "getBlocksWithLimit",16"params": [175,18319]20}21"#;22let response = client23.post("https://docs-demo.solana-mainnet.quiknode.pro/")24.headers(headers)25.body(json_data)26.send()27.await?;2829let body = response.text().await?;30println!("{}", body);3132Ok(())33}34
1use reqwest::header;2use reqwest::Client;3use std::error::Error;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7let mut headers = header::HeaderMap::new();8headers.insert("Content-Type", "application/json".parse().unwrap());910let client = Client::new();11let json_data = r#"12{13"jsonrpc": "2.0",14"id": 1,15"method": "getBlocksWithLimit",16"params": [175,18319]20}21"#;22let response = client23.post("https://docs-demo.solana-mainnet.quiknode.pro/")24.headers(headers)25.body(json_data)26.send()27.await?;2829let body = response.text().await?;30println!("{}", body);3132Ok(())33}34
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'getBlocksWithLimit',7[85,9310],11undefined,12'https://docs-demo.solana-mainnet.quiknode.pro/'13)1415console.log(result)
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'getBlocksWithLimit',7[85,9310],11undefined,12'https://docs-demo.solana-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"getBlocksWithLimit",8[95,10311],12endpoint_url="https://docs-demo.solana-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"getBlocksWithLimit",8[95,10311],12endpoint_url="https://docs-demo.solana-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: "getBlocksWithLimit",7params: [85,9310],11endpoint_url: "https://docs-demo.solana-mainnet.quiknode.pro/"12)1314puts result
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "getBlocksWithLimit",7params: [85,9310],11endpoint_url: "https://docs-demo.solana-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"getBlocksWithLimit",10Some(serde_json::json!([115,12313])),14None,15Some("https://docs-demo.solana-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"getBlocksWithLimit",10Some(serde_json::json!([115,12313])),14None,15Some("https://docs-demo.solana-mainnet.quiknode.pro/".into()),16)17.await?;1819println!("{result}");20Ok(())21}
Response
1{2"jsonrpc": "2.0",3"result": [45,56,677],8"id": 19}
1{2"jsonrpc": "2.0",3"result": [45,56,677],8"id": 19}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free