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

# getEpochSchedule

> Returns the epoch schedule information from this cluster's genesis config.



## OpenAPI

````yaml openapi/rpc-http/getEpochSchedule.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    Blockchain time structure API for retrieving Solana's epoch scheduling
    parameters which govern consensus cycles, validator rotation periods, and
    network time organization.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Mainnet RPC endpoint
  - url: https://devnet.helius-rpc.com
    description: Devnet RPC endpoint
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getEpochSchedule
      description: >
        Retrieve the core timing parameters that define Solana's epoch-based
        blockchain structure.

        This network configuration API provides the fundamental timing constants
        that govern how

        slots are organized into epochs on the Solana blockchain. Epochs
        represent the primary

        time measurement unit for validator rotations, staking rewards, rent
        collections, and

        other periodic blockchain operations. The epoch schedule parameters
        define exactly how

        many slots constitute an epoch and when leader schedules are calculated.
        Essential for

        applications performing time-based calculations, staking systems
        tracking reward periods,

        validator software predicting leader schedules, and analytical tools
        correlating blockchain

        events with the network's fundamental timing structure.
      operationId: getEpochSchedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  description: The JSON-RPC protocol version.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: A unique identifier for the request.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: The name of the RPC method to invoke.
                  enum:
                    - getEpochSchedule
                  example: getEpochSchedule
                  default: getEpochSchedule
            examples:
              request:
                value:
                  jsonrpc: '2.0'
                  id: '1'
                  method: getEpochSchedule
      responses:
        '200':
          description: Successfully retrieved epoch schedule information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: The JSON-RPC protocol version.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Identifier matching the request.
                    example: '1'
                  result:
                    type: object
                    description: >-
                      Comprehensive timing constants that define the epoch
                      structure of the Solana blockchain.
                    properties:
                      slotsPerEpoch:
                        type: integer
                        description: >-
                          Number of slots that constitute a complete Solana
                          epoch during normal operation (after warm-up period).
                        example: 8192
                      leaderScheduleSlotOffset:
                        type: integer
                        description: >-
                          Offset before an epoch when the validator leader
                          schedule for the next epoch is calculated and
                          published.
                        example: 8192
                      warmup:
                        type: boolean
                        description: >-
                          Boolean indicating if the network uses a warmup period
                          with gradually increasing epoch lengths at genesis.
                        example: true
                      firstNormalEpoch:
                        type: integer
                        description: >-
                          The first epoch number that reaches full standard
                          length as defined by slotsPerEpoch.
                        example: 8
                      firstNormalSlot:
                        type: integer
                        description: >-
                          The absolute slot number when epochs begin their
                          standard length after the initial warmup period.
                        example: 8160
              examples:
                response:
                  value:
                    jsonrpc: '2.0'
                    id: '1'
                    result:
                      slotsPerEpoch: 8192
                      leaderScheduleSlotOffset: 8192
                      warmup: true
                      firstNormalEpoch: 8
                      firstNormalSlot: 8160
        '400':
          description: Bad Request - Invalid request parameters or malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Invalid params
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
        '429':
          description: Too Many Requests - Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                id: '1'
        '500':
          description: Internal Server Error - An error occurred on the server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Internal error
                id: '1'
        '503':
          description: Service Unavailable - The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                id: '1'
        '504':
          description: Gateway Timeout - The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Gateway timeout
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: The JSON-RPC protocol version.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: The error code.
              example: -32602
            message:
              type: string
              description: The error message.
            data:
              type: object
              description: Additional data about the error.
        id:
          type: string
          description: Identifier matching the request.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Your Helius API key. You can get one for free in the
        [dashboard](https://dashboard.helius.dev/api-keys).

````