> For the complete documentation index, see [llms.txt](https://docs.polyquest.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.polyquest.xyz/prediction-oracle/smart-contract-logic.md).

# Smart Contract Logic

## **Stage 1 Logic**:

* **Oracle Node Reports**: When a user submits an outcome report, the smart contract records the data on-chain. Each submission is weighed equally, and a consensus is reached based on the majority of submissions.
* **Resolution Process**: Polyquest has the ability to either initiate the outcome to the contract or deny it, ensuring balance between user-generated data and the platform's oversight.
* **Reward Distribution**: Once the outcome is confirmed, participants who submitted accurate reports are rewarded automatically via the contract.

## **Stage 2 Logic**:

* **Validator Proposal Review**: After the oracle nodes propose an outcome, the governance group reviews the outcome through their delegated role. The smart contract facilitates the approval or rejection of the outcome.
* **Validator Rewards**: Platform fees are distributed to validators based on their participation and contribution to the validation process.

## **Stage 3 Logic**:

* **Oracle as a Service**: The smart contract provides an API that external DApps can call to receive oracle data, which is submitted and validated by the decentralized oracle network.
* **Chain Forking**: The smart contract enables other DApps to either build directly on the Polyquest Oracle Chain or fork the chain to customize it for their own use cases.
