# calculateEffectiveRate

> **calculateEffectiveRate**(`params`): [`OutputType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateeffectiverate/type-aliases/outputtype/)

Defined in: [packages/synapse-core/src/warm-storage/calculate-effective-rate.ts:62](https://github.com/FilOzone/synapse-sdk/blob/ac439ced73387be0f1e7ed7e635dce4bdba76399/packages/synapse-core/src/warm-storage/calculate-effective-rate.ts#L62)

Calculate the expected FWSS recurring rate for a dataset size.

Returns two rates for different use cases:
- `ratePerEpoch` — matches the on-chain rail rate (use for lockup math)
- `ratePerMonth` — higher precision, linearly scalable (use for display)

Empty datasets have no recurring rate. Non-empty datasets pay the
size-based storage rate plus the per-dataset proving service fee.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `params` | [`ParamsType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateeffectiverate/type-aliases/paramstype/) | [calculateEffectiveRate.ParamsType](/reference/filoz/synapse-core/warm-storage/namespaces/calculateeffectiverate/type-aliases/paramstype/) |

## Returns

[`OutputType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateeffectiverate/type-aliases/outputtype/)

[calculateEffectiveRate.OutputType](/reference/filoz/synapse-core/warm-storage/namespaces/calculateeffectiverate/type-aliases/outputtype/)