# Epochs Module (Osmosis)

Osmosis’s epochs module defines on-chain timers that execute at fixed time intervals. Other SDK modules can then register logic to be executed at the timer ticks. We refer to the period in between two timer ticks as an "epoch".

Every timer has a unique identifier. Every epoch will have a start time, and an end time, where `end time = start time + timer interval`. On Osmosis mainnet, we only utilize one identifier, with a time interval of `one day`.

The timer will tick at the first block whose blocktime is greater than the timer end time, and set the start as the prior timer end time. (Notably, it is not set to the block time!) This means that if the chain has been down, you will get one timer tick per block, until the timer has caught up.

The Quicksilver development team used the Epochs Module as it is, with some parameter changes to better suit the protocol’s needs. A Quicksilver epoch is 3 days.

<https://docs.osmosis.zone/osmosis-core/modules/epochs>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.quicksilver.zone/cosmos-sdk-modules/epochs-module-osmosis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
