SettleMint
Compliance modules

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

OperationCapitalRaiseLimit behaviour
MintConverts the minted token amount into fiat value and blocks the mint if the active window would exceed maxSupply.
TransferPasses through. Transfers do not change gross capital raised.
BurnPasses through. Burns do not release capacity because the module measures gross raise, not net outstanding value.

Configuration

FieldMeaningConstraint
maxSupplyMaximum gross raised fiat value in the active window, expressed as an 18-decimal bigint.Must be greater than zero.
periodLengthTracking window length in days.Must be at least 1 day and no more than 730 days.
rollingtrue 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 resolverThe 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 topicThe 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 typeHow the tracker behavesTypical use
Fixed periodThe 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 windowEach 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

On this page