# getEpochSchedule

> Returns the cluster's epoch-length parameters.

Source: https://docs.constant-k.com/rpc/http/getepochschedule/

`getEpochSchedule` returns the fixed parameters for how slots group into epochs: slots per epoch, whether the cluster is in its initial warmup period, and the first epoch/slot where normal-length epochs began. These are set at genesis and do not change, unlike the live numbers in `getEpochInfo`.

A single call supports converting between absolute slot numbers and epoch/epoch-relative-slot pairs locally, instead of calling `getEpochInfo` repeatedly.

- Transport: HTTP, JSON-RPC 2.0 `POST` to `https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY` (New York) or `https://rpc-frankfurt.constant-k.com/?api-key=YOUR_API_KEY` (Frankfurt) or `https://rpc-amsterdam.constant-k.com/?api-key=YOUR_API_KEY` (Amsterdam). The key also works as an `x-api-key` header.
- Category: Slots & Epochs
- Availability: All plans
- Rate limits: Free 5/s · Operator 50/s · Blade Runner 200/s · Nexus 500/s

## Parameters

None.

## Result

- `result` (object, optional): The cluster's epoch schedule parameters.
  - `slotsPerEpoch` (integer, required): Number of slots in a normal (post-warmup) epoch.
  - `leaderScheduleSlotOffset` (integer, required): Number of slots before an epoch boundary that its leader schedule is computed.
  - `warmup` (boolean, required): Whether epochs start short and grow geometrically toward `slotsPerEpoch` (true only very early in a fresh cluster's life).
  - `firstNormalEpoch` (integer, required): First epoch with the full `slotsPerEpoch` length.
  - `firstNormalSlot` (integer, required): First absolute slot belonging to `firstNormalEpoch`.

## Example: Get the epoch schedule

Request:

```bash
curl "https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "getEpochSchedule" }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": {
    "firstNormalEpoch": 0,
    "firstNormalSlot": 0,
    "leaderScheduleSlotOffset": 432000,
    "slotsPerEpoch": 432000,
    "warmup": false
  },
  "id": 1
}
```

## Notes

- On mainnet-beta, `warmup: false` and `firstNormalEpoch: 0` mean every epoch has always been the full 432,000 slots.

