# System Contracts

B2 sidechain has an EVM execution environment with a predefined set of system smart contracts for the platform operation. Predefined system smart contracts are defined as follows:

&#x20;• **Staking Contract:** Used for managing validator delegations and active validator sets.&#x20;

• **Slashing Indicator Contract:** Used for slashing not active validators.

• **System Reward Contract:** Is a treasury for the system rewards to cover relay fees and others.&#x20;

B2 also has the following upgradable contracts (which can be improved later if required):&#x20;

• **Staking Pool:** Provides cheaper access to the staking contract.&#x20;

• **Governance:** A default on-chain implementation by Compound’s Alpha governance.&#x20;

• **Chain Configuration:** Used for the consensus that is managed by on-chain governance.&#x20;

• **Runtime Upgrade:** Allows upgrading system contract runtime.&#x20;

• **Deployer Proxy:** Used for managing deployers of the smart contracts.

&#x20;

Using the Parlia consensus mechanism encourages users to deposit their funds and vote for honest validators, and this will make the B2 sidechain more decentralized and reliable. It also helps share-holders get rewarded from their stakes by earning commissions from block producers. From a technical point of view, the B2 sidechain involves staking smart contracts on Solidity for the EVM runtime. This smart contract is an extension of IValidatorSet and allows users to manage active validators based on the total delegated amount and distribute rewards among stakeholders.


---

# 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.antimatter.finance/b2/chain-architecture/system-contracts.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.
