# 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](https://csm-docs.cozy.finance/developer-guides/token-integration-guidelines).
