# estimateStorageCost

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

Defined in: [packages/synapse-core/src/warm-storage/estimate-storage-cost.ts:42](https://github.com/FilOzone/synapse-sdk/blob/a3c661408bf8b3cb47684059a425c07b9ae50a64/packages/synapse-core/src/warm-storage/estimate-storage-cost.ts#L42)

Estimate what it costs to keep data on FWSS for a period of time, without a wallet or account state.

Each copy is a separate data set paying the size-based storage rate plus the
per-data-set fee. One-time upload fees and the up-front deposit are covered
by [estimateOnboardingCost](/reference/filoz/synapse-core/warm-storage/namespaces/estimateonboardingcost/toc/).

The storage rate is priced from `sizeInBytes` directly. On-chain pricing uses
PDP leaf counts, which add at most 31 bytes per piece; see
[calculateEffectiveRate](/reference/filoz/synapse-core/warm-storage/functions/calculateeffectiverate/) for the exact per-data-set calculation.

## Parameters

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

## Returns

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

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

## Throws

ValidationError when size, duration or copies are not positive