# DALP-9200 to DALP-9299

Source: https://docs.settlemint.com/docs/api-reference/errors/error-code-reference/dalp-9200-9299
Cause, fix and retry flag for every on-chain contract error with a code from DALP-9200 to DALP-9299.

This page lists the 28 errors in the contract error reference with a code from DALP-9200 to DALP-9299. Match the error's `id`, or its `dalpCode` on a contract error or a failed deployment step, for example `DALP-9203`, to the DALP Code column, then read Retryable and Suggested Fix. The [contract error reference](https://docs.settlemint.com/docs/api-reference/errors/error-code-reference#how-to-use-this-reference) explains each column, including Severity, and the [DALP error index](https://docs.settlemint.com/docs/api-reference/errors) lists the page for every code range.

| DALP Code | Message | Why | Suggested Fix | Severity | Retryable | Solidity Error |
| --- | --- | --- | --- | --- | --- | --- |
| DALP-9203 | The yield feature's default claim-deadline period must be greater than zero days. | The feature is configured with a default number of days holders get to claim each dividend, and zero days is rejected at setup. | Configure the feature with a positive default claim-deadline period, then retry. | error | No | `InvalidClaimDeadlineDays()` |
| DALP-9204 | The yield schedule configuration could not be applied. | The dividend feature configuration must encode exactly a denomination asset, a treasury and a default claim-deadline period. | Encode exactly those three values, then send the configuration again. | error | No | `InvalidConfig()` |
| DALP-9206 | The dividend dates are out of order. | Dividend dates must not run backwards through the order ex-date, record date, payment date, claim deadline. The claim deadline must also be in the future. | Order the dates ex-date, record date, payment date, claim deadline, with the deadline in the future, then retry. | error | No | `InvalidDates()` |
| DALP-9207 | The dividend's per-share amount must be greater than zero. | Dividends require a positive per-share payout amount. | Enter a per-share amount greater than zero, then declare the dividend again. | error | No | `InvalidAmountPerShare()` |
| DALP-9209 | No dividend with this identifier exists on the schedule. | The dividend identifier does not match any declared dividend on this schedule. | Check the dividend identifier against the schedule's dividend list, then retry. | error | No | `InvalidDividendId()` |
| DALP-9210 | This dividend is not in the right state for that operation. | The dividend is cancelled or paid, which ends its lifecycle. Reclaiming unclaimed funds also needs a recorded snapshot, and extending the claim deadline needs a payable dividend. | Read the dividend's status before the operation. A cancelled or paid dividend accepts none. Reclaiming needs a recorded snapshot, and extending the claim deadline needs a payable dividend. | error | No | `InvalidStatus()` |
| DALP-9211 | This dividend is not in a payable state yet, so it cannot be claimed. | Dividends become claimable only after the holder snapshot is recorded and the payment date has passed. | Wait until the dividend has been recorded and its payment date has passed. Holders can claim once the dividend becomes payable. | error | Yes | `DividendNotPayable()` |
| DALP-9212 | The dividend's record date has not been reached yet, so the holder snapshot cannot be taken. | Holder snapshots are only valid once the record date has passed. | Wait until the record date has passed, then record the holder snapshot for this dividend. | error | Yes | `RecordDateNotReached()` |
| DALP-9213 | The holder snapshot for this dividend has already been recorded. | Each dividend accepts exactly one holder snapshot, and this dividend already has one. | No further recording is needed. Continue with the next step of the dividend lifecycle. | error | No | `AlreadyRecorded()` |
| DALP-9214 | This dividend can no longer be cancelled because its holder snapshot is already recorded. | Cancellation is only possible before the holder snapshot is recorded; after that the payout obligations are fixed. | The dividend must proceed to payment. Contact your administrator if the distribution was declared in error. | error | No | `CannotCancelAfterRecord()` |
| DALP-9215 | This dividend has more eligible holders than a single on-chain snapshot can record. | A dividend snapshot holds at most 16,384 entitled holders, and this dividend has more. | Contact support with the `requestId` from the error. | error | No | `TooManyHolders()` |
| DALP-9216 | Your dividend claim could not be verified against the recorded holder snapshot. | The leaf index, holder and amount do not match a leaf in the recorded snapshot. | Claim with the account, leaf index and exact amount from your allocation. | error | No | `InvalidProof()` |
| DALP-9217 | You have already claimed this dividend. | Each holder can claim a dividend only once. | No further action is needed. The payout from this dividend is already in your balance. | error | No | `AlreadyClaimed()` |
| DALP-9219 | This dividend is closed and can no longer be claimed. | The dividend was cancelled, or its unclaimed funds were reclaimed after the claim deadline. | Contact your administrator to ask about a missed eligible claim. | error | No | `DividendClosed()` |
| DALP-9220 | Your identity is not verified for this token, so dividend claims are blocked. | Dividend claims re-check the holder's on-chain identity at claim time. | Contact your administrator to restore your identity verification, then claim again before the deadline. | error | No | `IdentityRevoked()` |
| DALP-9222 | The dividend snapshot lists no entitled holders. | The contract needs at least one entitled holder to pay a dividend to. | Re-run the holder snapshot with at least one entitled holder, then submit again. | error | No | `InvalidTotalEntitled()` |
| DALP-9223 | The dividend snapshot's total payout is zero. | The holder amounts in the snapshot add up to zero, so no payout is owed. | Re-run the holder snapshot so the total payout is greater than zero, then submit again. | error | No | `InvalidTotalRequired()` |
| DALP-9224 | This dividend cannot be closed yet because its claim deadline has not passed. | Closing a dividend reclaims unclaimed funds, which is only allowed after the claim deadline expires. | Wait until the claim deadline has passed, then close the dividend. | error | Yes | `ClaimDeadlineNotReached()` |
| DALP-9225 | The claim deadline for this dividend has already been extended once. | Each dividend allows a single claim-deadline extension. | No further extension is possible. Holders need to claim before the current deadline. | error | No | `DeadlineAlreadyExtended()` |
| DALP-9226 | The new claim deadline must be later than the current one. | The contract only extends a claim deadline. A date equal to or before the current deadline extends nothing. | Choose a date after the current claim deadline, then retry. | error | No | `InvalidClaimDeadline()` |
| DALP-9228 | This yield schedule is paused. | An emergency-role holder paused this interest schedule, which blocks claims and conversions until it is resumed. Pausing a schedule that is already paused also fails. | Ask an emergency-role holder to resume the schedule, then retry. A pause request for a schedule that is already paused needs no retry. | error | No | `SchedulePaused()` |
| DALP-9231 | This interest schedule has not been configured yet. | The operation requires the schedule's rate and start date to be set first. | Configure the schedule with a rate and start date, then retry the operation. | error | No | `ScheduleNotConfigured()` |
| DALP-9232 | This interest schedule is already configured. | A schedule's rate and start date can be set only once. | Use the rate-change operation to adjust an existing schedule instead of configuring it again. | error | No | `ScheduleAlreadyConfigured()` |
| DALP-9234 | The interest rate cannot be changed while the schedule is paused. | Rate changes are blocked during a pause so accrual resumes from a consistent state. | Resume the schedule first, then apply the rate change. | error | No | `PausedRateChangeForbidden()` |
| DALP-9235 | The schedule is not paused, so it cannot be resumed. | Resuming is only meaningful when the schedule is currently paused. | No action is needed. The schedule is already active. | error | No | `NotPaused()` |
| DALP-9237 | The selected denomination asset is not permitted for this yield schedule. | The denomination asset is registered on this platform as a fee-on-transfer or rebasing token, and a yield schedule cannot pay exact amounts with either. Unregistered tokens pass this guard. | Choose a denomination asset whose balance does not change on transfer or over time, then create the schedule again. | error | No | `DenominationNotAllowed()` |
| DALP-9294 | The record date is before the token's balance history begins. | A dividend with a past record date is paid on balances from the historical-balances feature, which only holds balances from the moment it was enabled. | Choose a record date on or after the moment historical balances were enabled for this token, then declare the dividend again. | error | No | `RecordDateNotCovered()` |
| DALP-9295 | This holder's address is frozen on this token, so the dividend cannot be paid to them. | Dividend claims re-check the holder's freeze at claim time, for the holder's own claim and for a custodian's. | Lift the freeze first, then claim again before the deadline. | error | No | `HolderFrozen()` |

The previous page is [DALP-9000 to DALP-9099](https://docs.settlemint.com/docs/api-reference/errors/error-code-reference/dalp-9000-9099). The next page is [DALP-9300 to DALP-9399](https://docs.settlemint.com/docs/api-reference/errors/error-code-reference/dalp-9300-9399).
