Skip to main content

Platform API errors DALP-0600 to DALP-0699

Cause, fix, HTTP status and retry flag for every Platform API error with a code from DALP-0600 to DALP-0699.

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_CREATE_FEATURES_INCOMPATIBLE
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_FEATURES_YIELD_FULLY_CONSUMED
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_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER
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_HASHLOCK_REVEAL_NOT_REQUIRED
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_EXECUTOR_AA_DISABLED_GLOBALLY
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_ENABLED_REQUIRES_GLOBAL_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_EXECUTOR_AA_DISABLED_FOR_ORG
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_REQUIREMENT_CONFIG_ERROR
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_ENABLED_IDENTITY_MISMATCH
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_ENABLED_CONTROLLER_MISMATCH
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_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE
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_LIST_METADATA_KEY_UNKNOWN
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.facets["metadata.<key>"] on a regular list request for the authoritative bucketable axes.
info
No
400
DALP-0646
TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE
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_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE
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_HEALTH_TREASURY_UNCONFIGURED
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_HEALTH_TREASURY_MISMATCH
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_HEALTH_BOND_STATUS_UNAVAILABLE
dependency
The bond row for the maturity-redemption feature is not indexed yet.
The /api/v2/tokens/:assetId/treasury/health 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_HISTORICAL_BALANCE_BLOCK_NOT_INDEXED
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_EMAIL_ALREADY_EXISTS
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_STREAM_ORIGIN_REJECTED
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/v2/action-inbox instead.
info
No
403
DALP-0673
CUSTODY_CREDENTIALS_UNAVAILABLE
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_CREDENTIALS_INVALID
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_PROVIDER_IMMUTABLE
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_SALE_CANNOT_WITHDRAW_SALE_TOKEN_CURRENCY
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_NOT_FOUND_INDEXER
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_NOT_IN_OWNER_SCOPE
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_SALE_PURCHASE_OFF_GRID
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_TEMPLATE_NOT_READY
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_TOPIC_EXCLUSION_REFUSED
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 IdentityBlockListComplianceModule 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_TOPIC_EXCLUSION_ACKNOWLEDGEMENT_REQUIRED
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 holderRemovableNot.accepted as true from a session that is not impersonated. Or use an identity block-list, whose identities you enumerate in IdentityBlockListComplianceModule 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_REINDEX_CONFLICT
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.

Was this page helpful?