> For the complete documentation index, see [llms.txt](https://csm-docs.cozy.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://csm-docs.cozy.finance/developer-guides/create-a-rewards-manager/deploy-a-rewards-manager.md).

# Deploy a Rewards Manager

To deploy a RewardsManager, call `CozyManager.createRewardsManager:`

```solidity
/// @notice Deploys a new Rewards Manager with the provided parameters.
/// @param owner_ The owner of the rewards manager.
/// @param pauser_ The pauser of the rewards manager.
/// @param stakePoolConfigs_ The array of stake pool configs. These configs must obey requirements described in
/// `Configurator.updateConfigs`.
/// @param rewardPoolConfigs_  The array of reward pool configs. These configs must obey requirements described in
/// `Configurator.updateConfigs`.
/// @param salt_ Used to compute the resulting address of the rewards manager.
/// @return rewardsManager_ The newly created rewards manager.
function createRewardsManager(
    address owner_,
    address pauser_,
    StakePoolConfig[] calldata stakePoolConfigs_,
    RewardPoolConfig[] calldata rewardPoolConfigs_,
    bytes32 salt_
) external returns (IRewardsManager rewardsManager_);
```

When selecting the underlying stake and reward assets of a Rewards Manager, you should be considerate of the [Token Integration Guidelines](/developer-guides/token-integration-guidelines.md).
