Skip to main content

RPC Snooper

Lightweight RPC proxy for debugging Ethereum client communications with flow control API.

Repository

RPC Snooper is mostly used to inspect communication on the engine API, so between the beacon and the execution nodes.

Overview

RPC Snooper functions as a man-in-the-middle proxy that captures and logs all RPC request details including JSON bodies, making it invaluable for monitoring communications between beacon nodes and execution nodes, as well as beacon nodes and validator clients. The tool provides REST APIs for dynamic flow control, allowing operators to pause and resume request forwarding without restarting the service.

Features

  • Request Forwarding & Capture: Routes all RPC calls to designated targets while capturing complete request/response data
  • Flow Control REST API: Dynamic proxy management via /start, /stop, and /status endpoints
  • Prometheus Metrics: Built-in metrics collection at /metrics endpoint for monitoring
  • Authentication Support: Basic auth support with --api-auth flag for API endpoints
  • WebSocket Control: Advanced management interface at /_snooper/control
  • Flexible Deployment: Optional API mode - can be deployed as pure proxy using --no-api

Use Cases

  • Debugging RPC Interactions: Inspect communications between Ethereum client components
  • Network Monitoring: Track RPC traffic patterns and packet inspection
  • Maintenance Operations: Dynamic flow control during updates or migrations
  • Infrastructure Diagnostics: Troubleshoot connectivity and protocol issues
  • Production Monitoring: Integration with Prometheus for operational visibility