> For the complete documentation index, see [llms.txt](https://docs.waxfusion.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.waxfusion.io/smart-contracts/cpu.fusion.md).

# cpu.fusion

Part of WaxFusion's mechanics for generating revenue is based on staking WAX for CPU, and renting CPU to users for a low cost.

The actual rental logic is in the main dApp contract, but due to the way WAX's system contracts work and the complications with staking/unstaking WAX to different wallets, rented/staked WAX is sent off to 3 different proxy contracts to complete the staking process.

The contract addresses for these 3 contracts are as follows:

cpu1.fusion, cpu2.fusion and cpu3.fusion

All 3 contracts use the same exact code, which can be found on Github at the following link:

{% embed url="<https://github.com/mdcryptonfts/waxfusion/tree/main/cpu.fusion>" %}

Below is a description of each of the actions on the smart contract, their parameters, and how they are designed to behave.

To get a breakdown of the actions and tables on this contract, use the quick links below.

## Quick Links

{% content-ref url="/pages/SjFQDXH0iM9QvjW5BJiS" %}
[Actions](/smart-contracts/cpu.fusion/actions.md)
{% endcontent-ref %}

{% content-ref url="/pages/MXmT08dlKlwfYRMd9j2M" %}
[Tables](/smart-contracts/cpu.fusion/tables.md)
{% endcontent-ref %}
