> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octav.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Validator Rewards by Index

> Paginated reward buckets aggregated by epoch, day, week, or month for a validator identified by index.

**Cost:** 1 credit per call. Automatically refunded on 4xx/5xx responses.

**Access:** Requires portfolio entitlement.

**Rate limit:** 360 req/min (shared with portfolio bucket)

**Get your API key:** [Dev Portal](https://data.octav.fi)



## OpenAPI

````yaml /openapi.json get /beacon/validators/rewards/index/{index}
openapi: 3.0.0
info:
  title: Octav API
  description: >-
    Comprehensive blockchain data API for portfolio management, transactions,
    and DeFi analytics
  version: 1.0.0
  contact:
    name: Octav Support
    url: https://octav.fi
    email: info@octav.fi
servers:
  - url: https://api.octav.fi/v1
    description: Production API
security:
  - bearerAuth: []
tags:
  - name: Portfolio
    description: Portfolio and holdings endpoints
  - name: Virtual Users
    description: Virtual user management and portfolio endpoints (Pro only)
  - name: Nav
    description: Net Asset Value endpoints
  - name: Wallet
    description: Wallet information endpoints
  - name: Transactions
    description: Transaction history endpoints
  - name: Approvals
    description: Token approval endpoints
  - name: Tokens
    description: Token data endpoints
  - name: Airdrops
    description: Airdrop eligibility endpoints
  - name: Sync
    description: Data synchronization endpoints
  - name: Status
    description: Status check endpoints
  - name: Credits
    description: Credit balance endpoints
  - name: Chains
    description: Blockchain network and protocol endpoints
  - name: Contract Protocol
    description: Resolve a contract address to its DeFi protocol
  - name: Beacon Validators
    description: >-
      Ethereum beacon chain validator endpoints — details, rewards, withdrawals,
      and deposits (mainnet only)
paths:
  /beacon/validators/rewards/index/{index}:
    get:
      tags:
        - Beacon Validators
      summary: Validator Rewards by Index
      description: >-
        Paginated reward buckets aggregated by epoch, day, week, or month for a
        validator identified by index.


        **Cost:** 1 credit per call. Automatically refunded on 4xx/5xx
        responses.


        **Access:** Requires portfolio entitlement.


        **Rate limit:** 360 req/min (shared with portfolio bucket)


        **Get your API key:** [Dev Portal](https://data.octav.fi)
      operationId: getValidatorRewardsByIndex
      parameters:
        - name: index
          in: path
          required: true
          description: Non-negative validator index
          schema:
            type: integer
            minimum: 0
          example: 123456
        - name: rangeType
          in: query
          required: true
          description: >-
            Determines how rangeFrom/rangeTo are interpreted. `timestamp` = Unix
            seconds (max range 31,536,000 s); `epoch` = beacon epoch numbers
            (max range 82,125 epochs).
          schema:
            type: string
            enum:
              - timestamp
              - epoch
          example: timestamp
        - name: rangeFrom
          in: query
          required: true
          description: >-
            Start of the range (inclusive). Must be ≥ 0 and ≤ rangeTo.
            Interpreted per rangeType.
          schema:
            type: integer
            minimum: 0
          example: 1704067200
        - name: rangeTo
          in: query
          required: true
          description: >-
            End of the range (inclusive). Must be ≥ 0. Interpreted per
            rangeType.
          schema:
            type: integer
            minimum: 0
          example: 1706745600
        - name: granularity
          in: query
          required: true
          description: Bucket size for aggregation.
          schema:
            type: string
            enum:
              - epoch
              - day
              - week
              - month
          example: day
        - name: offset
          in: query
          required: false
          description: Pagination offset.
          schema:
            type: number
            default: 0
        - name: limit
          in: query
          required: false
          description: Number of records to return. Max 10.
          schema:
            type: number
            default: 10
            maximum: 10
      responses:
        '200':
          description: Paginated validator rewards
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedValidatorRewards'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/BeaconForbidden'
        '404':
          $ref: '#/components/responses/ValidatorNotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PaginatedValidatorRewards:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ValidatorRewardSummary'
        offset:
          type: number
          description: Current pagination offset
        limit:
          type: number
          description: Records per page
        totalRows:
          type: number
          description: Total number of matching buckets
        pages:
          type: number
          description: Total number of pages
    ValidatorRewardSummary:
      type: object
      properties:
        epochStart:
          type: number
          description: First epoch in this bucket
        epochEnd:
          type: number
          description: Last epoch in this bucket
        timestampStart:
          type: number
          description: Unix timestamp of bucket start
        timestampEnd:
          type: number
          description: Unix timestamp of bucket end
        dateStart:
          type: string
          description: ISO date string of bucket start
        dateEnd:
          type: string
          description: ISO date string of bucket end
        consensusReward:
          type: string
          description: Consensus layer reward in wei
        consensusPotentialReward:
          type: string
          description: Maximum possible consensus reward in wei
        consensusEfficiency:
          type: number
          nullable: true
          description: >-
            Ratio of actual to potential consensus reward (0–1), or null if not
            computable
        executionReward:
          type: string
          description: Execution layer (MEV + tips) reward in wei
        attestationsIncluded:
          type: number
          description: Number of attestations included on-chain
        attestationsMissed:
          type: number
          description: Number of attestations missed
        syncParticipations:
          type: number
          description: Sync committee participations
        syncMissed:
          type: number
          description: Sync committee slots missed
        proposedBlocks:
          type: number
          description: Blocks proposed
        missedBlocks:
          type: number
          description: Block proposals missed
        mevBlocks:
          type: number
          description: Blocks proposed with MEV
        endEffectiveBalance:
          type: string
          description: Effective balance at end of bucket in wei
  responses:
    BadRequest:
      description: Input validation failed
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    Unauthorized:
      description: Missing or invalid Bearer token
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthorized
    BeaconForbidden:
      description: >-
        Forbidden — beacon access requires enterprise subscription. Contact
        sales.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Beacon access requires enterprise subscription. Contact sales.
    ValidatorNotFound:
      description: Validator does not exist on mainnet.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Validator not found for index 99999999
    InternalServerError:
      description: Upstream beacon data error.
      content:
        text/plain:
          schema:
            type: string
            example: Error fetching validator details
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````