Endpoint
Request Parameters
Starting slot (inclusive)Example:
123456Ending slot (inclusive)Example:
123460Comma-separated list of beacon roles. Valid values:
ATTESTERAGGREGATORPROPOSERSYNC_COMMITTEESYNC_COMMITTEE_CONTRIBUTION
roles=ATTESTER,PROPOSERComma-separated list of validator public keys (hex, 96 characters each)Example:
pubkeys=0x1234...5678Comma-separated list of validator indicesExample:
indices=100,200,300Response
Array of decided participant objects
Non-fatal errors encountered (e.g., entries with no signers)
Example Requests
GET with Query Parameters
POST with JSON Body
Filter by Public Keys
Example Response
Response Details
Signer Array
TheSigners array contains operator IDs that successfully signed the decided message. For a 4-operator cluster with 3f+1 threshold:
- Healthy: 3 or 4 signers
- Warning: Exactly 3 signers (minimum threshold)
- Failed: Less than 3 signers (duty failed, no entry returned)
Error Messages
Theerrors array may contain:
"omitting entry with no signers"- A duty was found but no operators signed"error getting participants"- Failed to retrieve participant data"invalid validator index"- Requested index doesn’t exist
Public Key Format
Thepublic_key field is hex-encoded WITHOUT the 0x prefix (96 characters).
Use Cases
Monitor Operator Participation
Detect Missing Signatures
Track Duty Success Rate
Analyze by Role
Filtering Behavior
Slot Range
Thefrom and to parameters are inclusive:
Multiple Validators
When providing multiple indices or pubkeys, results include duties for ANY of them (OR logic):Pubkeys vs Indices
You can filter by eitherpubkeys or indices, or both:
pubkeysonly: Returns validators matching those public keysindicesonly: Returns validators matching those indices- Both: Returns validators matching EITHER pubkeys OR indices
Full vs Basic Exporter Mode
This endpoint behaves differently depending on exporter mode:Basic Mode (no —exporter flag)
- Returns simple decided participant data
- No consensus trace information
- Lower storage overhead
- Endpoint: Same URL, simpler response
Full Mode (with —exporter flag)
- Returns enhanced trace data
- Includes partial error details in
errorsarray - Higher storage requirements
- Endpoint: Same URL, more detailed response
The response schema is the same in both modes, but full mode provides richer error reporting.
Error Handling
Invalid Public Key Length (400)
Missing Required Parameters (400)
No Data Available (200 with errors)
If no decided data exists for the requested range:errors array for details.
Performance Tips
Limit Slot Ranges
For better performance:- Query 100 slots or fewer per request
- Use specific validator filters when possible
- Consider pagination for large ranges
Optimize Filters
Related Endpoints
- Validator Traces - Detailed consensus traces (requires —exporter)
- Committee Traces - Committee-level data (requires —exporter)
Source Code Reference
Implementation:/home/daytona/workspace/source/api/handlers/exporter/decided_http.go:25
Model: /home/daytona/workspace/source/api/handlers/exporter/decided_model.go:18