For the complete documentation index, see llms.txt. This page is also available as Markdown.

eth_syncing - Optimism

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

This method returns information about whether the node is currently syncing with the network. If syncing, it returns an object with details such as the starting block, current block, and highest block. If the node is fully synced, it returns false. This is important for ensuring your application is working with current blockchain data.

Parameters

  • None

Request. Sample

curl --location 'https://go.getblock.us/<ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
   "jsonrpc": "2.0",
    "method": "eth_syncing",
    "params": [],
    "id": "getblock.io"
}
const axios = require('axios');
let data = JSON.stringify({
  "jsonrpc": "2.0",
  "method": "eth_syncing",
  "params": [],
  "id": "getblock.io"
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://go.getblock.us/<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);
});

Response

A successful response returns the following:

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": false
}

Response Parameters

  • id: A unique request identifier, matching the id sent in the request body.

  • jsonrpc: Specifies the use of JSON-RPC version 2.0.

  • result: Returns false if not syncing, or an object with startingBlock, currentBlock, and highestBlock if syncing.

Use Case

The eth_syncing method is commonly used for:

  • Node health monitoring

  • Sync status checking

  • Application readiness verification

Error handling

Status Code
Error Message
Cause

404

Not Found

Missing or invalid ACCESS_TOKEN.

Integration with Web3

The eth_syncing helps developers to:

  • Detect if a provider or RPC endpoint is still catching up with the chain.

  • Pause transaction execution or contract event listeners until the node is synced.

  • Build intelligent dashboards that show syncing progress in real time.

  • Improve user experience by avoiding stale reads or outdated contract state.

  • Implement logic in wallets, bots and dApps to switch RPC endpoints when one is behind.

Last updated

Was this helpful?