Skip to content

Comments

add configurable historical balance health check for finalized block …#352

Open
Krish-vemula wants to merge 2 commits intodevelopfrom
cre/PLEX-2476
Open

add configurable historical balance health check for finalized block …#352
Krish-vemula wants to merge 2 commits intodevelopfrom
cre/PLEX-2476

Conversation

@Krish-vemula
Copy link

@Krish-vemula Krish-vemula commented Feb 11, 2026

Summary

Adds an optional health check that verifies RPC nodes can access historical blockchain state at finalized blocks.

Changes

New Configuration Options ([EVM.NodePool]):

  • HistoricalBalanceCheckEnabled (bool, default: false) - Enables the historical state health check
  • HistoricalBalanceCheckAddress (address, default: 0x0...0) - The address used for the eth_getBalance probe

Implementation:

  • During RPC node polling (every PollInterval), if enabled, executes eth_getBalance at the finalized block
  • For chains with FinalityTagEnabled = true : queries using the "finalized" block tag
  • For chains with FinalityTagEnabled = false : queries at latest - FinalityDepth
  • Failures count toward PollFailureThreshold - after enough consecutive failures, the node is marked unreachable and traffic fails over to healthy nodes

Configuration Example

[[EVM]]
ChainID = '1'
FinalityTagEnabled = true

[EVM.NodePool]
PollInterval = '10s'
PollFailureThreshold = 5
HistoricalBalanceCheckEnabled = true
HistoricalBalanceCheckAddress = '0x0000000000000000000000000000000000000000'

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

⚠️ API Diff Results - Breaking changes detected

📦 Module: github-com-smartcontractkit-chainlink-evm

🔴 Breaking Changes (2)

pkg/config.NodePool (2)
  • HistoricalBalanceCheckAddress — ➕ Added

  • HistoricalBalanceCheckEnabled — ➕ Added


📄 View full apidiff report

@Krish-vemula Krish-vemula marked this pull request as ready for review February 18, 2026 23:02
@Krish-vemula Krish-vemula requested review from a team as code owners February 18, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant