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
| 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
| 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.
{
"typeId": "capital-raise-limit",
"values": {
"maxSupply": "8000000000000000000000000",
"periodLength": 365,
"rolling": false
}
}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
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.
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 for eligible recipients, investor count for holder caps, and supply cap and collateral for supply or backing gates.
See also
- Compliance modules overview - where CapitalRaiseLimit fits in the module catalog
- Supply and investor limits - token-unit caps and holder-count controls
- Compliance modules API - API shape for installed module parameters
- Compliance templates API - reusable policy templates that can include capital-raise parameters
Supply & Investor Limits
TokenSupplyLimit and InvestorCount modules for time-based and rolling supply caps with currency conversion, plus unique holder limits with per-country granularity.
Transfer approval
Configure and review TransferApproval controls for identity-bound transfer pre-authorisation, expiry, consumption modes, and evidence collection.