query(view_state) - NEAR Protocol

Example code for the query(view_state) json-rpc method. Сomplete guide on how to use query(view_state) json-rpc in GetBlock.io Web3 documentation.

This method returns the key-value pairs stored in a smart contract’s on-chain state. It allows developers to read contract data, inspect stored variables, or analyse application states directly from the NEAR blockchain.

Supported Networks

  • Mainnet

Parameters

Parameter

Type

Required

Description

request_type

string

Yes

Must be set to "view_state".

finality

string

Yes

Defines data consistency: "final", "near-final" or "optimistic". Default is "final".

account_id

string

Yes

The NEAR account ID that owns the contract.

prefix_base64

string

Optional

Base64-encoded key prefix filter. Returns only matching keys (use "" to fetch all).

Request

Base URL

https://go.getblock.io/<ACCESS_TOKEN>

Example(cURL)

curl -X POST https://go.getblock.io/<ACCESS_TOKEN>\
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0",
"method": "query",
"params": {
    "request_type": "view_state", 
    "finality": "final", 
    "account_id": "kiln.poolv1.near",
    "prefix_base64": ""
    },
"id": "getblock.io"}
'

Response Example

{
    "jsonrpc": "2.0",
    "result": {
        "block_hash": "C3usKbGCgW2AKtniikNhGMPCvewEJVgQZuWG8BxFa6kV",
        "block_height": 169786589,
        "values": [
            {
                "key": "U1RBVEU=",
                "value": "EwAAAGtpbG5fdmFsaWRhdG9yLm5lYXIhAAAAAOFYNYzJjjco+fLi0fJgla9B4s+AMVVdTepWc9pwE5wYdg4AAAAAAABQ4axFY8Ct82YE5ctMAAAAZzmi/dlPKeusHd/LTAAAAGc5ov3ZTynrrB3fy0wAAABkAAAAZAAAAAIAAAB1aU0AAAAAAAAAAgAAAHVrTQAAAAAAAAACAAAAdXYA"
            },
            {
                "key": "dWkJAAAAc2VwaC5uZWFy",
                "value": "EgAAAAAAAAA="
            },
            {
                "key": "dWkKAAAAZGRzaW4ubmVhcg==",
                "value": "DQAAAAAAAAA="
            },
            {
                "key": "dWkLAAAAc210X2Jvc3MudGc=",
                "value": "JQAAAAAAAAA="
            },
            {
                "key": "dWlAAAAAZWQwNWI3ZmJiMmZkZDRhNWFhYmRmYjk5YTkxYTVjYzQzNjc3ZGE2MmU3NGFkOGUyMTI4MjAxYTNjYjVhMGRlYQ==",
                "value": "EwAAAAAAAAA="
            }
        ]
    },
    "id": "getblock.io"
}

Response Parameters Definition

Field

Type

Description

block_height

integer

Height of the block from which the state was retrieved.

block_hash

string

Hash of the block containing the contract state.

values

array

List of key-value pairs stored in the contract’s state.

values.key

string

Base64-encoded storage key.

values.value

string

Base64-encoded value associated with the key.

Use Cases

  • Get contract-level configuration for analytics or dashboards.

  • Debug smart contract storage during development or audits.

  • Build indexers or off-chain data sync tools.

Code Example

Node(Axios)

import axios from 'axios';
let data = JSON.stringify({
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
    "request_type": "view_state",
    "finality": "final",
    "account_id": "kiln.poolv1.nea",
    "prefix_base64": ""
  },
  "id": "getblock.io"
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://go.getblock.io/<ACCESS_TOKEN>',
  headers: { 
    'Content-Type': 'application/json'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

Python(Requests)

import requests
import json

url = "https://go.getblock.io/<ACCESS_TOKEN>"

payload = json.dumps({
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
    "request_type": "view_state",
    "finality": "final",
    "account_id": "kiln.poolv1.nea",
    "prefix_base64": ""
  },
  "id": "getblock.io"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Error Handling

HTTP Code

Error Message

Description

400 Bad Request

UNKNOWN_ACCOUNT

The account ID format is incorrect.

500 Internal Server Error

Node processing error

The NEAR node encountered an issue retrieving state.

403 Forbidden

RBAC: access denied

The Getblock access token is missing or incorrect

Integration with Web3

By integrating query(view_state) into dApp, developers can:

  • Read contract data directly without calling view functions.

  • Build state inspection tools and dApp dashboards.

  • Automate off-chain synchronization for analytics and monitoring.

  • Create AI agents that interpret blockchain data dynamically.

Last updated

Was this helpful?