> ## Documentation Index
> Fetch the complete documentation index at: https://cosmos-docs-sync-security-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# PreBlocker

<Note>
  **Synopsis**
  `PreBlocker` is optional method module developers can implement in their module. They will be triggered before [`BeginBlock`](/sdk/v0.53/learn/advanced/baseapp#beginblock).
</Note>

<Note>
  **Prerequisite Readings**

  * [Module Manager](/sdk/v0.53/build/building-modules/module-manager)
</Note>

## PreBlocker

There are two semantics around the new lifecycle method:

* It runs before the `BeginBlocker` of all modules
* It can modify consensus parameters in storage, and signal the caller through the return value.

When it returns `ConsensusParamsChanged=true`, the caller must refresh the consensus parameter in the deliver context:

```
app.finalizeBlockState.ctx = app.finalizeBlockState.ctx.WithConsensusParams(app.GetConsensusParams())
```

The new ctx must be passed to all the other lifecycle methods.
