# Capital Raise Limit

Source: https://docs.settlemint.com/docs/compliance-security/compliance/capital-raise-limit
CapitalRaiseLimit enforcement for fiat-denominated gross fundraising caps during minting, including price resolver requirements and fixed or rolling windows.



CapitalRaiseLimit caps the gross fiat value an asset can raise through minting during a configured period. It is an issuance control, not a transfer control, outstanding-value control, or token-unit quota.

Use it when the asset terms set a fundraising threshold in fiat value, such as a maximum raise during an offering window. The module converts each mint into 18-decimal fiat value through the configured price resolver, adds successful mints to the active tracker, and rejects a mint when the new gross raised value would exceed the cap.

## Where it applies [#where-it-applies]

| Operation | CapitalRaiseLimit behaviour                                                                                         |
| --------- | ------------------------------------------------------------------------------------------------------------------- |
| Mint      | Converts the minted token amount into fiat value and blocks the mint if the active window would exceed `maxSupply`. |
| Transfer  | Passes through. Transfers do not change gross capital raised.                                                       |
| Burn      | Passes through. Burns do not release capacity because the module measures gross raise, not net outstanding value.   |

## Configuration [#configuration]

| Field          | Meaning                                                                                  | Constraint                                                                                            |
| -------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `maxSupply`    | Maximum gross raised fiat value in the active window, expressed as an 18-decimal bigint. | Must be greater than zero.                                                                            |
| `periodLength` | Tracking window length in days.                                                          | Must be at least 1 day and no more than 730 days.                                                     |
| `rolling`      | `true` for a rolling window, `false` for a fixed period.                                 | Fixed periods reset after the configured window. Rolling windows sum daily buckets inside the window. |
| Price resolver | The on-chain resolver used to value minted token amounts.                                | Injected by DALP from the installed price resolver addon. API callers do not provide this address.    |
| Price topic    | The canonical price topic used for the resolver lookup.                                  | Injected by DALP, defaulting to the standard `price` topic used by DALP price feeds.                  |

The public API accepts the client-facing fields: `maxSupply`, `periodLength`, and `rolling`. DALP injects the resolver address and canonical price topic before encoding the module parameters.

```json
{
  "typeId": "capital-raise-limit",
  "values": {
    "maxSupply": "8000000000000000000000000",
    "periodLength": 365,
    "rolling": false
  }
}
```

## Fixed and rolling windows [#fixed-and-rolling-windows]

| Window type    | How the tracker behaves                                                                                                                    | Typical use                                               |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- |
| Fixed period   | The first mint starts the period. Mints during the period add to one total. After the period elapses, the next mint starts a fresh period. | Offering windows with a clear start and end cadence.      |
| Rolling window | Each mint updates the current day's bucket. The read path sums buckets inside the last `periodLength` days.                                | Continuous monitoring of a rolling fundraising threshold. |

## Price requirements [#price-requirements]

CapitalRaiseLimit fails closed when DALP cannot price the mint.

* If the resolver address is missing, the check rejects the mint.
* If the resolver returns a zero or negative value, the check rejects the mint.
* Resolver-level failures, such as missing feeds, stale feeds, disabled claim fallback, or missing claim fallback, bubble up from the price resolver.

Before production minting, make sure the asset has a current price source under the standard `price` topic that the resolver can read. For operator steps around minting failures, see [Mint assets](/docs/operators/asset-servicing/mint-assets).

## What it does not do [#what-it-does-not-do]

CapitalRaiseLimit only measures fiat value raised through minting during the configured window.

It does not:

* track the current market value of outstanding tokens;
* lower the gross raised amount when tokens are burned or redeemed;
* enforce holder eligibility, jurisdiction rules, custody approval, or transfer pre-approval;
* prove that off-chain fundraising terms, legal exemptions, or investor communications are complete.

Pair it with the other compliance modules that match the asset policy. Common combinations include [identity verification](/docs/compliance-security/compliance/identity-verification) for eligible recipients, [investor count](/docs/compliance-security/compliance/supply-investor-limits) for holder caps, and [supply cap and collateral](/docs/compliance-security/compliance/supply-cap-collateral) for supply or backing gates.

## See also [#see-also]

* [Compliance modules overview](/docs/compliance-security/compliance) - where CapitalRaiseLimit fits in the module catalog
* [Supply and investor limits](/docs/compliance-security/compliance/supply-investor-limits) - token-unit caps and holder-count controls
* [Compliance modules API](/docs/api-reference/compliance/compliance-modules) - API shape for installed module parameters
* [Compliance templates API](/docs/api-reference/compliance/compliance-templates) - reusable policy templates that can include capital-raise parameters
