This page lists the 36 errors the Platform API can return with a code from DALP-0600 to DALP-0699. Match the id in the error envelope to the DALP Code column, then read Retryable and Suggested Fix. The Platform API error reference explains each column, including Severity, and the DALP error index lists the page for every code range.
DALP Code | Machine name | Category | Message | Why | Suggested Fix | Severity | Retryable | HTTP Status |
|---|---|---|---|---|---|---|---|---|
DALP-0605 | TOKEN_ | client | The requested token features contain an incompatible pair. | The requested token features contain an incompatible pair. | Remove one feature from every reported incompatible pair and retry. | info | No | 409 |
DALP-0606 | TOKEN_ | client | No yield is claimable: a prior conversion consumed it for the completed periods. | The accrued yield quotes as zero because interest consumed in a prior token conversion offsets it, and accrual is still open. | Wait for the next yield period to complete after the conversion. Check the conversion history to see which periods were consumed. | info | No | 400 |
DALP-0608 | TOKEN_ | client | No yield available to claim for this holder. | The holder has no claimable yield. The periods are already claimed, accrual closed after conversion, or consumed interest offset the accrued amount. | Verify holder eligibility (last claimed period, conversion state) before retrying. | info | No | 400 |
DALP-0615 | XVP_ | client | Hashlock reveal not required for this XvP settlement. | Revealing a secret applies only to HTLC-enabled XvP settlements with external flows; the target settlement is local-only. | Skip the reveal call for local settlements, or target an HTLC settlement that has external flows. | info | No | 400 |
DALP-0616 | X_ | client | smart-wallet executor not available. | The X-Executor header requested smart-wallet execution while platform Account Abstraction is disabled. | Use X-Executor: eoa or omit the header until platform Account Abstraction is enabled. | info | No | 403 |
DALP-0617 | AA_ | domain | Platform AA disabled; per-org AA requires platform AA enabled. | The organization setting requested Account Abstraction routing while the platform-wide Account Abstraction feature is disabled. | Keep AA_ENABLED disabled, or enable platform Account Abstraction before enabling the organization setting. | info | No | 403 |
DALP-0621 | X_ | client | smart-wallet executor not available. | The X-Executor header requested smart-wallet execution while Account Abstraction is disabled for this organization. | Ask your organization administrator to enable Account Abstraction for this organization, or omit the X-Executor header to use the organization's default routing. | info | No | 403 |
DALP-0635 | GAS_ | operational | Gas requirement computation failed for this chain. | The gas the platform computed for this chain exceeds the chain's configured ceiling, or the chain's pending base fee is below its configured floor. | Contact support with the X-Request-Id response header so an operator can correct the chain's gas settings. | error | No | 503 |
DALP-0637 | AA_ | domain | Account abstraction identity sync found a different smart-wallet OnchainID. | A participant's smart wallet is already registered to a different OnchainID than the participant's EOA. | Review the participant identity binding before enabling account abstraction. | info | No | 409 |
DALP-0638 | AA_ | domain | Account abstraction identity sync found a different smart-wallet controller. | An existing smart-wallet row points at a controller that does not match the participant's current signing EOA. | Repair the participant wallet pairing before enabling account abstraction. | info | No | 409 |
DALP-0639 | FEEDS_ | client | No observation time fits the feed at the selected chain time. | The feed already holds an observation later than the selected chain time, or the submission names an observation time later than chain time or earlier than the feed's latest observation. | Wait until chain time passes the feed's latest observation, then submit again with an observation time at or before chain time. | info | No | 400 |
DALP-0645 | TOKEN_ | client | The requested metadata key is not declared in any accessible asset-type template. | Token list grouping and metadata filters resolve eligible keys from the metadata schemas of the asset-type templates the caller can see. The requested key is not declared in any of those schemas, so it cannot be used as groupBy or as a filter[metadata.<key>] axis. | Verify the key name matches a field declared in a system or organization template's metadata schema. Use data.availableKeys (capped, alphabetically sorted) for a quick discovery list, or meta. on a regular list request for the authoritative bucketable axes. | info | No | 400 |
DALP-0646 | TOKEN_ | client | Continuous-type metadata key not eligible for grouping or facets. | Token list groupBy and facet axes are restricted to bucketable metadata field types (string, enum, country-code, currency-code, address). Continuous types such as number, date, decimal-money, percentage, bps, and url are filterable via filter[metadata.<key>] but not bucketable. | Pick a bucketable-typed key for groupBy and faceting, or apply this key as a filter only. | info | No | 400 |
DALP-0647 | TOKEN_ | client | Identifier-type metadata keys not eligible for grouping or facets. | Identifier-typed metadata fields ( isin, cusip, lei, figi) are typically unique per token. Using them as groupBy yields degenerate one-token-per-group results and as facet axes they yield single-bucket noise, so token list excludes them from both surfaces. | Use the identifier key as a filter via filter[metadata.<key>], or pick a non-identifier bucketable-typed key for grouping and facets. | info | No | 400 |
DALP-0653 | TREASURY_ | client | Treasury address missing for the maturity-redemption or fixed-treasury-yield feature. | An attached treasury feature has no configured treasury address. | Configure a non-zero treasury address, then retry. | info | No | 404 |
DALP-0655 | TREASURY_ | client | Attached treasury-bearing features disagree on treasury, denominationAsset, or treasuryIsContract. | Attached treasury features disagree on treasury configuration. | Align the treasury, denomination asset, and implementation classification, then retry. | info | No | 409 |
DALP-0656 | TREASURY_ | dependency | The bond row for the maturity-redemption feature is not indexed yet. | The / route reads the bond's required redemption amount from the indexed bond row. The maturity-redemption feature is attached, but its bond row is not indexed yet, and a zero amount would show a false green badge. | Retry after the indexer catches up. If the failure persists, check that the indexer is processing the active chain. | error | Yes | 503 |
DALP-0657 | TOKEN_ | client | Requested block not reached yet by the historical balance indexer. | The requested block is ahead of the indexed head for the historical-balances feature, so no checkpoint covers it yet. | Wait for the indexer to reach the requested block, or request a block at or below data.headBlock. | info | Yes | 409 |
DALP-0659 | OIDC_MFA_INVALID | auth | Identity provider verification failed. | The authenticator code did not pass the identity provider's verification for this signing request. | Enter a fresh code from your authenticator app and try the operation again. | info | No | 403 |
DALP-0660 | OIDC_MFA_UNAVAILABLE | dependency | Identity provider verification is temporarily unavailable. | Platform API could not reach the identity provider to complete the verification for this signing request. | Retry after a short backoff; if it persists, contact support with the request id. | error | Yes | 503 |
DALP-0670 | USER_ | client | A user with this email already exists. | Each platform user must have a unique email address. | Use a different email or open the existing user in User management. | info | No | 409 |
DALP-0671 | ACTIONS_ | permission | Live actions feed requires Console origin. | The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates. | Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls GET /api/ instead. | info | No | 403 |
DALP-0673 | CUSTODY_ | operational | Custody credentials for this organization are unavailable. | The organisation's custody record or provider configuration is missing, its provider is unsupported, its stored credential payload or workspace pin is invalid, or the secrets backend refused access. Custody operations fail closed rather than substitute another provider. | Contact support with the request id so an operator can restore the organization's custody configuration. | error | No | 500 |
DALP-0674 | CUSTODY_ | domain | The supplied custody credentials failed validation. | The credential probe against the custody provider failed: the payload was malformed, authentication was rejected, the probe timed out, or the credentials cannot reach the organization's pinned workspace. | Verify the credential values with your custody provider, confirm they belong to the organization's workspace, and try again. | info | No | 422 |
DALP-0677 | CUSTODY_RECORD_DESTROYED | domain | This organization's custody configuration has been destroyed and cannot be modified. | An operator destroyed the organization's custody credentials; the record is retained as a tombstone and lifecycle writes against it are rejected to prevent silent resurrection with deleted credentials. | Re-onboard the organization's custody through the explicit re-onboarding path, or contact support with the request id. | info | No | 409 |
DALP-0678 | CUSTODY_ | domain | The custody provider for this organization is locked and cannot be changed. | The organization's custody provider was locked when its first wallet was created; switching providers would orphan existing keys. | Keep the locked provider and supply replacement credentials for it instead of selecting a different provider. | info | No | 409 |
DALP-0679 | TOKEN_ | client | The sale token cannot be withdrawn as a payment currency. | The selected withdrawal currency is the token being sold; the contract reserves those tokens for buyers and reverts CannotWithdrawSaleToken. | Choose one of the sale's payment currencies instead of the sale token, then retry. | info | No | 400 |
DALP-0681 | PRECONDITION_FAILED | client | A precondition on the request was not met. | The If-Match or If-None-Match condition sent with the request does not hold for the current resource: it was changed, created, or removed since the version the request was built against. | Read the resource again, apply your change to the version you just read, and send the request with the entity-tag from that read. | info | No | 412 |
DALP-0683 | AIRDROP_ADDON_NOT_FOUND | domain | No airdrop addon is deployed in this system. | Listing or reading airdrops needs at least one airdrop factory registered in the active system, and this system has none. | Deploy an airdrop addon for this system, then retry the request. | info | No | 404 |
DALP-0684 | AIRDROP_ | client | The requested airdrop was not found. | No airdrop at the requested address has been indexed for the active chain, so there is nothing to return. | Confirm the airdrop address and that it has been deployed and indexed, then retry. | info | No | 404 |
DALP-0685 | AIRDROP_ | domain | The requested airdrop belongs to another system. | The airdrop at this address was deployed under a different system than the active one, so this endpoint does not return it. | Read this airdrop from the system that owns it, or pick an airdrop deployed in the active system. | info | No | 404 |
DALP-0686 | TOKEN_ | client | The purchase is off the sale's subscription step. | The sale accepts only cumulative subscriptions that are a multiple of its purchase increment, and this payment buys a token amount that leaves the buyer's total off that step; the contract would revert PurchaseNotMultipleOfIncrement. | Pick a token amount on the sale's subscription step and send the exact payment for it, then retry. | info | No | 400 |
DALP-0687 | COMPLIANCE_ | domain | Template is not ready to publish. | The publish readiness check found at least one required control with no configured module of that type on the template; data.gaps names the specific controls. | Open the Controls and rules step for each control listed in data.gaps, configure a compatible module for it (or remove it from required controls), save the template, and retry publish. | info | No | 422 |
DALP-0693 | CLAIM_ | domain | This claim topic may not be used in exclusions in this system. | A NOT branch of the compliance rule excludes the holders of a claim the system's claim policy manager has set to Not allowed. Excluding those holders is defeated by its own subject: the holder manages their own identity and can delete the claim to pass the rule. | Use an identity block-list, whose identities you enumerate in Identity and the holder holds no key to edit; a country block-list, which reads the registry country field only the identity manager writes; or a positive claim for the group you admit, so a holder who deletes it loses access instead of gaining it. The claim policy manager can also change the topic's setting for this system. | info | No | 422 |
DALP-0694 | CLAIM_ | client | Excluding the holders of this claim needs an acknowledgement from a named actor. | A NOT branch of the compliance rule excludes the holders of a claim they carry on their own identity, so a holder can delete that claim and pass the rule. The control does not hold on its own, and accepting that is a decision that must carry a name, which is why an impersonated session cannot make it. | Send holder as true from a session that is not impersonated. Or use an identity block-list, whose identities you enumerate in Identity and the holder holds no key to edit; a country block-list, which reads the registry country field only the identity manager writes; or a positive claim for the group you admit, so a holder who deletes it loses access instead of gaining it. | info | No | 400 |
DALP-0699 | OPERATIONS_ | domain | A reindex is already running. | A reindex rebuilds the indexed data of every network at once, and one is already running. | Wait for the running reindex to finish, then start the next one. | info | No | 409 |
The previous page is DALP-0500 to DALP-0599. The next page is DALP-0700 to DALP-0799.