Enabling the Exporter
The full exporter API requires enabling the exporter when starting the node:Exporter Modes
SSV Node supports two exporter modes:Basic Mode (Default)
Without the--exporter flag, only the lightweight decideds endpoint is available:
GET/POST /v1/exporter/decideds- Simple decided duty information
Full Mode
With the--exporter flag, all exporter endpoints are available:
GET/POST /v1/exporter/decideds- Enhanced decided duty traces with errorsGET/POST /v1/exporter/traces/validator- Detailed validator duty tracesGET/POST /v1/exporter/traces/committee- Committee-level duty traces
Available Endpoints
Decided Duties
Query decided duty participants and signers
Validator Traces
Deep dive into validator duty execution (requires —exporter)
Committee Traces
Committee-level consensus and duty traces (requires —exporter)
Request Methods
All exporter endpoints support both GET and POST methods:GET with Query Parameters
Use for simple queries:POST with JSON Body
Use for complex queries or when parameters are lengthy:Common Parameters
Most exporter endpoints accept these parameters:Starting slot (inclusive)
Ending slot (inclusive)
Beacon roles to include. Valid values:
ATTESTERAGGREGATORPROPOSERSYNC_COMMITTEESYNC_COMMITTEE_CONTRIBUTION
Validator public keys (hex, 96 characters each)
Validator indices (integers)
Response Format
All exporter endpoints return:errors array contains warnings about:
- Missing duty data
- Validators with no signers
- Data enrichment failures
- Partial results
Partial responses are still returned with 200 OK when some data is available. Check the
errors array for issues.Use Cases
Debugging Failed Duties
Performance Analysis
Signer Participation
Committee Monitoring
Error Handling
Validation Errors (400)
Returned when request parameters are invalid:- Invalid public key length (must be 96 hex characters)
- Invalid committee ID length (must be 64 hex characters)
- Missing required fields
- Invalid role names
Rate Limiting (429)
Exporter endpoints are subject to the same rate limiting as other API endpoints:Internal Errors (500)
Returned when the server cannot process the request:Performance Considerations
Query Size Limits
To avoid performance issues:- Limit slot ranges to ~100 slots per request
- Filter by specific validators when possible
- Use pagination for large result sets
Storage Requirements
Full exporter mode stores:- All QBFT consensus messages
- Pre/post-consensus partial signatures
- Decided messages and proposal data
- Committee metadata
Resource Impact
- CPU: +10-20% for message tracing and storage
- Memory: +500 MB to 2 GB depending on validator count
- Disk I/O: Increased writes during duty execution
Data Retention
By default, exporter data is retained indefinitely. Configure pruning in your node config:Data retention configuration depends on your node version. Check the configuration documentation for your specific version.
Next Steps
Decided Endpoint
Query decided duties
Validator Traces
Detailed duty execution
Committee Data
Committee consensus
Source Code Reference
Implementation:/home/daytona/workspace/source/api/handlers/exporter/exporter.go:22