> For the complete documentation index, see [llms.txt](https://bootcamp.openguild.wtf/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bootcamp.openguild.wtf/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime.md).

# Adding a custom logic to runtime

**Runtime** is where you register a new pallet to add customized logic to your runtime. Runtime is a collection of pallets. For example, core pallets for all Substrate blockchain can be listed:&#x20;

* **Executive pallets:** Orchestration of calls into pallets from the runtime
* **System pallet:** Core types, system utilities and event handling.&#x20;
* **Ecossytem pallets:** Pallet assets, pallet balances, pallet nfts...

<figure><img src="/files/NHtlFqm1jad0OZpTY9Sk" alt=""><figcaption><p>Pallets in the Runtime</p></figcaption></figure>

### Modules

{% content-ref url="/pages/mNlrCLtdTjba4Au0ipYm" %}
[Components of a Pallet](/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/components-of-a-pallet.md)
{% endcontent-ref %}

{% content-ref url="/pages/vt8cHI5CiB2x6fbBM5BI" %}
[Common runtime modules](/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/common-runtime-modules.md)
{% endcontent-ref %}

{% content-ref url="/pages/xNHGUNOT8ngXq6wAh4OJ" %}
[Hooks](/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/hooks.md)
{% endcontent-ref %}

{% content-ref url="/pages/mQu19bQ1nGGJw3wZQxnu" %}
[Weights & Benchmarking](/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/weights-and-benchmarking.md)
{% endcontent-ref %}
