Skip to main content

Platform API errors DALP-14000 to DALP-14049

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

This page lists the 48 errors the Platform API can return with a code from DALP-14000 to DALP-14049. 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-14001
VENUE_CONFIGURATION_REQUIRED
domain
The venue configuration is missing.
The venue exists on-chain but its application configuration is missing.
Repeat creation with the same venue name to restore its configuration.
info
Yes
409
DALP-14002
VENUE_DEPLOYMENT_PENDING
operational
The venue deployment is still being indexed.
The factory state or venue creation transaction cannot be confirmed yet.
Retry the same venue creation request after the chain and indexer are available.
error
Yes
503
DALP-14003
MARKET_LISTING_QUEUE_REFUSED
domain
The instrument listing was refused.
The venue rejected the listing transaction, so no instrument was listed on-chain.
Use data.errorName and data.selector, when present, to find the venue rule the listing broke. Review the instrument sizes, fees, and fee account, then request the listing again.
info
No
422
DALP-14004
MARKET_LISTING_PENDING
operational
The instrument listing outcome is not confirmed.
The listing request may have reached the chain, but its outcome cannot be confirmed yet.
Check the instrument list for this venue and token pair before sending another listing request.
error
No
503
DALP-14005
DISTRIBUTION_WATERFALL_FEATURE_NOT_FOUND
domain
This token carries no distribution-waterfall feature.
This operation targets the distribution-waterfall feature, and this token has no such feature attached.
Run the operation on the share class that carries the distribution-waterfall feature, or attach the feature to this token first.
info
No
404
DALP-14006
DISTRIBUTION_WATERFALL_DENOMINATION_UNREADABLE
operational
The distribution-waterfall feature did not answer which asset it pays in.
The allowance is granted on the pool's denomination asset, which is read from the feature on chain. That read returned no asset, so approving anything now risks approving the wrong token.
Restore chain access and confirm the feature is deployed, then grant the allowance again.
error
Yes
503
DALP-14007
DISTRIBUTION_WATERFALL_UNKNOWN_PRIORITY_ROW
client
The waterfall has no priority row for this determination kind.
Distribution netting applies to a configured priority row. The supplied determination kind does not name one.
Use the determination-kind hash of a priority row configured on this waterfall.
info
No
400
DALP-14008
DISTRIBUTION_WATERFALL_UNKNOWN_CLASS_ROLE
client
The waterfall has no class with this role.
Distribution netting applies to a configured share class. The supplied role does not name one.
Use a class role configured on this waterfall.
info
No
400
DALP-14009
DISTRIBUTION_WATERFALL_NETTING_LOCKED
domain
Distribution netting terms are locked for this priority row.
A distribution has already been funded under this priority row, so its netting terms cannot change.
Keep the current netting terms for this row. Configure netting before funding a distribution under a new row.
info
No
409
DALP-14010
MARKET_LISTING_REFUSED
domain
The venue already lists this security under another trading model.
The venue admits each security under one trading model, and an instrument for this security already runs in a different mode.
List the security in the mode its existing instrument uses, or delist that instrument first. A venue admin can also turn the rule off.
info
No
409
DALP-14011
VENUE_CREATION_REFUSED
domain
The trading venue could not be created.
A creation precondition failed: the organisation has no deployed system or venue factory, no wallet is selected as the initial venue admin, or the organisation's operations signer is unbound or holds neither the system manager nor the venue manager role. The factory can also refuse the venue itself: it has no venue implementation set, the access manager addon is not registered, the venue key is already used, or its answer could not be read. The reason in the response names the failed check.
Resolve the named reason, then create the venue again. For a missing role, a system admin grants the venue manager role to the account in the response.
info
No
409
DALP-14012
CORPORATE_ACTION_INSTRUMENT_MISSING
domain
This Corporate Action pays a whole multi-class instrument, and this token is not one class of one.
A coordinated distribution splits one pool across the share classes of one instrument, reading the split from the distribution-waterfall feature on the class that holds the pool. This token either belongs to no paired instrument or carries no waterfall.
Raise it on the share class that carries the distribution-waterfall feature. If the instrument was issued outside a paired run, or predates the waterfall, attach the feature first.
info
No
409
DALP-14013
CORPORATE_ACTION_POOL_UNFUNDABLE
domain
The executing wallet cannot fund this pool.
Funding a coordinated distribution pulls the whole pool from the wallet that signs the confirm, so that wallet must hold the pool in the denomination asset and must have approved the distribution-waterfall feature to spend it. The executing wallet does not satisfy both.
Send the pool amount to the executing wallet in the denomination asset, approve the distribution-waterfall feature for at least that amount from the same wallet, then confirm again.
info
No
409
DALP-14014
VENUE_OPERATOR_ROLE_REQUIRED
permission
The platform admin or organization owner role is required.
Creating a trading venue or listing an instrument is restricted to a platform admin or an owner of the organization, and this account holds neither role.
Ask a platform admin or an owner of the organization to make this request.
info
No
403
DALP-14015
MARKET_PAIR_ALREADY_LISTED
domain
The venue already lists this pair.
An instrument for this base and quote token pair already exists on the venue, so listing it again would create a duplicate.
Use the existing instrument, or list a different pair.
info
No
409
DALP-14016
CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE
domain
The denomination asset refuses to pay this pool into the distribution waterfall.
Funding a coordinated distribution transfers the pool from the executing wallet into the distribution-waterfall feature. A simulated transfer of the denomination asset into the waterfall reverts, so funding would revert too. A denomination that gates recipients by identity refuses a waterfall that has no identity, and a paused denomination refuses every transfer.
Read the contract error in the message. For TransferNotCompliant, call ensurePoolReceiver with the class token on the distribution-waterfall factory as the token's governance, which gives a waterfall deployed before that support its identity. Otherwise clear the denomination's refusal, for example by unpausing it, then preview or confirm again.
info
No
409
DALP-14017
MARKET_ADMISSION_REFUSED
domain
The venue refused this listing or instrument change.
Only a private listing states its sponsorship, and it must. Where the venue sets admission minimums, a private listing also states the value and share count it makes available, at or above those minimums, and the date those figures were established, which cannot be in the future. A private instrument takes limit orders only, good-till-cancelled orders (plus good-till-date and day orders on the continuous book), and shows participants only the top of the book. An instrument group must be one the venue defines. A venue can also limit the order types and time in force every market on it accepts: a market states only entries inside that limit, and the venue cannot set a limit that leaves a live market with no order type or no time in force. The field in the response names what is missing, too low, or not allowed.
Complete the named field, drop the sponsorship from a public listing, raise the stated value or share count to the minimum in the response, state a past date for the figures, narrow a private instrument's order types, time in force, or depth to what a private instrument allows, or pick an instrument group the venue defines, then try again. For a venue limit, state only the order types and time in force the venue allows, widen the venue limit, or first change the market the message names. A venue admin can change the minimums.
info
No
409
DALP-14018
ASSET_TYPE_TEMPLATE_NOT_UNPUBLISHABLE
domain
The asset type template is not published, so it cannot be unpublished.
The template is still a draft, or your organization already has it unpublished. Unpublishing applies only to a template your organization currently offers for issuance.
Read the template and check isDraft and isPublished. Publish a draft once it is ready; leave an unpublished template as it is.
info
No
409
DALP-14019
TOKEN_CREATE_TEMPLATE_UNPUBLISHED
client
The instrument template is unpublished for your organization.
Your organization does not currently offer this instrument template for issuance. A DALP Library template stays unpublished until your organization publishes it, and a published template can be unpublished again.
Publish the template from the Instrument templates overview, or call PUT /api/v2/settings/asset-type-templates/:assetTypeTemplateId/publication, then create the token again.
info
No
409
DALP-14020
TOKEN_ISSUANCE_RUN_TEMPLATE_UNPUBLISHED
client
An instrument template of this issuance is unpublished for your organization.
Your organization does not currently offer the instrument template of one member for issuance. A DALP Library template stays unpublished until your organization publishes it, and a published template can be unpublished again.
Publish the template from the Instrument templates overview, or call PUT /api/v2/settings/asset-type-templates/:assetTypeTemplateId/publication, then review and accept the issuance again.
info
No
409
DALP-14021
CORPORATE_ACTION_PAYOUT_INELIGIBLE
domain
The payout token cannot be transferred to {ineligibleCount} of the parties that would receive it.
The payout token refuses a transfer from the treasury to one or more holders that would receive a payout: the holder is not verified in its identity registry or its compliance refuses the payout, the payout token's fee recipient cannot receive the transfer fee on that payout, or the treasury cannot pay the payout token's external transfer fee for that many claims. Those holders would fail when they claim.
Read the dividend's denomination eligibility to see which holders are refused and why, then make those holders or the payout token's fee recipient eligible to receive the payout token, fund the treasury's fee-token balance and allowance, or change the dividend's payout token, and declare again.
info
No
409
DALP-14022
PORTFOLIO_HOLDINGS_PROJECTION_INVALID
dependency
Indexed holdings data validation failed.
A field in an indexed token row a portfolio read needs (holdings, price, metadata, account, policy, or ownership) does not match the expected format.
Do not retry. Contact support with the X-Request-Id response header so an operator can reindex the affected token data.
error
No
500
DALP-14023
ASSET_TYPE_TEMPLATE_USED_BY_PUBLISHED_STRUCTURE
domain
A published instrument structure uses the asset type template, so it cannot be unpublished.
Your organization offers an instrument structure that issues this template as one of its members, and the structure stays issuable only while every member template is published. data.structures lists each such structure by id and name.
Unpublish the listed structures with PUT /api/v2/settings/asset-type-template-structures/:structureId/publication, then unpublish the template.
info
No
409
DALP-14024
TOKEN_ISSUANCE_RUN_STRUCTURE_UNPUBLISHED
client
The instrument structure of this issuance is unpublished for your organization.
Your organization does not currently offer this instrument structure for issuance. A DALP Library structure stays unpublished until your organization publishes it, a published structure can be unpublished again, and a structure reads unpublished while one of its member templates is unpublished.
Publish the structure from the Structures tab of Instrument templates, or call PUT /api/v2/settings/asset-type-template-structures/:structureId/publication, then review and accept the issuance again.
info
No
409
DALP-14025
PAYER_NOT_FOUND
client
{payerAddress} is not a wallet this organization pays gas from on this network.
Withdrawals move funds out of the organisation's relayer, bundler, operator wallet, bank-rail wallet or paymaster deposit on the request's network. The address is none of them.
Withdraw from a wallet listed under Organisation settings, Transaction funding, for this network.
info
No
404
DALP-14027
PAYER_WITHDRAWAL_EXCEEDS_AVAILABLE
client
At most {withdrawableWei} wei can be withdrawn from this wallet now.
A wallet keeps enough to pay for the withdrawal itself, including a replacement at a raised fee, so a withdrawal cannot take its whole balance. A paymaster's sponsorship reserve can be withdrawn up to its current EntryPoint deposit. A withdrawal of zero is refused the same way.
Withdraw no more than the withdrawable amount, which the withdrawable read of the same wallet returns.
info
No
422
DALP-14028
PAYER_DESTINATION_REFUSED
client
{destination} cannot receive this withdrawal.
The destination is the zero address, the wallet the funds would leave, or an address that reverts a plain native transfer.
Name a different destination address.
info
No
422
DALP-14029
TRANSACTION_WORKFLOW_OWNED
client
This transaction is owned by a workflow, so an operator cannot retry it on its own.
The transaction request is a workflow status handle or a step of a role set. A status handle has no write to replay. A role-set step, including one that undoes an earlier step, belongs to a role change whose workflow owns its check, undo, and expiry, so sending it again alone could change a role with none of them.
Inspect the owning workflow. To repeat a role change, read the role set's transaction request, and once it has ended, send a new role set. For any other workflow, force-retry only its failed executable transaction request.
info
No
409
DALP-14030
CORPORATE_ACTION_CALL_PROTECTED
domain
This instrument cannot be called before its first call date.
The instrument's metadata names a first call date, and the issuer may call every holder only on or after it, or from the instrument's long-stop date when that comes first. A long-stop date counts only when the token recorded it as unchangeable at issuance. A calendar date (YYYY-MM-DD) starts that day in UTC. A date in any other format also refuses the call, and so does more than one recorded first call date.
Confirm this call on or after the first call date, or the long-stop date when that comes first.
info
No
409
DALP-14031
TRANSACTION_PREPARATION_NOT_FOUND
client
Transaction preparation not found.
The platform has no transaction preparation with that id for the calling user in this organization. A preparation another user created, or one that belongs to another organization, is reported the same way as a missing one to prevent enumeration.
Use the preparationId that the prepare call returned to you. If you no longer have it, prepare the operation again and authorize the new preparation.
info
No
404
DALP-14032
TRANSACTION_PREPARATION_ACCOUNT_INELIGIBLE
client
This custody account cannot authorize a transaction preparation.
A preparation needs an active custody account that you hold in this organization, on the requested network, with a provider that lets you sign yourself. The account this request relies on does not meet those conditions. An account that does not exist, or that another user or organization holds, gets this same answer.
Prepare the operation with an externally signing custody account that you hold in this organization on the requested network. An account whose keys a managed custody provider holds does not use preparations: send its operations through their regular API routes, and the platform signs them.
info
No
422
DALP-14033
TRANSACTION_PREPARATION_BINDING_CONFLICT
client
The request does not match how the transaction preparation is bound.
A preparation fixes its signing method, executor, custody account and operation when you create it, and every later call must match them. This request sends a claim, user operation or authorization artifact for a different signing method or executor, or an artifact kind this route never accepts. A create request gets this answer when its idempotency key already names a different preparation, or when the smart wallet already has an open operation its owner signs. The request is also refused when a smart wallet cannot prefund the operation, a later step of a chain carries value, or the transaction queue refuses the operation as input.
Read the preparation and send the claim, attachment or artifact that matches its signingMethod and executor. Use a new idempotency key for a different operation. Finish or let expire the open owner-signed operation before you prepare another on the same smart wallet.
info
No
409
DALP-14034
TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED
domain
The smart wallet needs gas for this operation.
This wallet signs its own user operations, and nothing sponsors them, so its smart wallet pays the gas. It holds less native currency than the operation needs.
Send at least shortfallWei wei of the chain's native currency to smartWalletAddress, then submit the request again.
info
No
422
DALP-14035
TRANSACTION_CANCEL_CUSTODY_PARKED
domain
A custody provider holds this transaction for approval.
A custody provider holds an approval request tied to this cancel. Either the provider held the replacement that the cancel signed and the platform withdrew it, or the provider holds this transaction and the platform could not withdraw it. The platform cannot withdraw a request when the provider does not support withdrawal, did not confirm it, or the request already ended.
Read the transaction status. When custodyApproval.withdrawable is true, send the cancel again after the platform next reads the request at the provider. Otherwise send the cancel again, which files a new request if the held replacement was withdrawn. If the provider still holds the request, reject it in the custody provider's approval console or wait for the approvers to decide.
info
No
409
DALP-14036
ORDER_SIGNING_PENDING
domain
The order signature waits for a custody approval.
A custody approval rule holds the order signature until an approver decides.
Ask an approver to approve the request with this approval reference before it expires. Then sign the same order again with the same fields, salt and expiry.
info
No
409
DALP-14037
TOKEN_PERMIT_SIGNING_PENDING
domain
The permit signature waits for a custody approval.
A custody approval rule holds the permit signature until an approver decides.
Ask an approver to approve the request with this approval reference before it expires. Then sign the same permit again with the same spender, value and deadline.
info
No
409
DALP-14038
TOKEN_PERMIT_CUSTODY_APPROVAL_CLOSED
domain
The custody approval for the permit closed.
The custody approver rejected the permit signature, or its approval expired before an approver decided.
Ask the custody approver why the request closed. Then sign a new permit.
info
No
409
DALP-14039
TOKEN_CREATE_WORKFLOW_FAILED
operational
Token creation workflow ended in a terminal failure.
A step of the token creation workflow failed for a reason other than a contract revert or a temporary outage, so the workflow stopped. Earlier steps may already have landed: the token can exist on chain even though the create did not finish.
Read data.step for the failed step (absent when it is not identified) and data.reason for the kind of failure (transaction-failed, data-invalid, workflow-check-failed, price-feed-not-authorized, price-feed-conflict, price-feed-unavailable, signing-failed or unknown), check the token on chain before creating again, then submit a new create with a new idempotency key. Send the request id to support if the cause is unclear.
error
No
500
DALP-14040
PAYMASTER_SPONSORSHIP_UNAVAILABLE
client
Paymaster sponsorship is unavailable on this network.
Sponsorship needs the organization to use smart accounts, an active system on the network, a deployed paymaster, and a ready paymaster signing key; data.blocker names the first one that is missing.
Resolve the condition data.blocker names (enable smart accounts, wait for the network's system and paymaster to finish deploying, or let the paymaster signer finish provisioning), then retry.
info
No
409
DALP-14041
TREASURY_DISCLOSURE_WITHHELD
permission
Redemption funding is not shared with holders.
This organisation has not allowed holders to see how the issuer funds redemptions, and the caller does not manage this token.
Ask the issuer to share redemption funding with holders in the organisation settings, or use a wallet that manages the token.
info
No
403
DALP-14042
TOKEN_CREATE_PAYOUT_TREASURY_IS_TOKEN
domain
The {feature} treasury {treasury} is a token contract, not a wallet.
A token contract cannot pay out the payment currency, so every payout drawn from it reverts.
Pick the wallet that holds the payment currency.
info
No
422
DALP-14043
CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND
domain
This share class pays through a distribution waterfall, so it takes no plain dividend.
A class of an instrument that carries a distribution waterfall is paid by the waterfall's coordinated distribution. A plain dividend on that class would pay its holders outside the waterfall's priority order.
Open a coordinated distribution on the instrument instead. It declares each class's dividend in waterfall order.
info
No
409
DALP-14044
CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD
domain
A coordinated distribution still holds this dividend.
An in-flight coordinated distribution declared this dividend as one of its class legs. Cancelling it alone would leave that run paying the other classes without this one.
Abort the coordinated distribution named in the message. Its abort cancels every dividend it declared.
info
No
409
DALP-14045
settlement.http.PROJECTION_INVALID
operational
Indexed token data validation failed.
An indexed token row the settlement read needs does not match its expected shape, so the read cannot succeed as asked.
Ask an operator to reindex the affected token range, then request the read again. If it still fails, contact support with the X-Request-Id response header.
error
No
500
DALP-14046
CORPORATE_ACTION_CLASS_TREASURY_MISMATCH
domain
A share class pays its dividends from a wallet other than the distribution waterfall.
A coordinated distribution pays each class's holders from the money the waterfall holds for that class. A class whose dividend-yield feature pays from another treasury would draw its claims from that treasury, and the money the waterfall holds for the class could never be paid out.
Give the named class a dividend-yield feature whose treasury is the instrument's distribution waterfall, then preview again.
info
No
409
DALP-14047
CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED
domain
A share class had more holders on the record date than one dividend can pay.
A class dividend records at most 16,384 holders. The named class had more on the record date, so its dividend could not be recorded and the money funded for it could not be claimed.
Do not fund this distribution. Abort it and pay the class another way.
info
No
409
DALP-14048
CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED
domain
An earlier distribution still holds money for a class dividend that was never declared.
One class's leg of an earlier distribution was funded, its dividend was never declared, and its money has not been released. Until it is released, that leg still counts toward the class's recovered capital, so a new priority distribution would pay the class less than it is owed.
Open the earlier corporate action named in the refusal, release that class's money, then preview this distribution again.
info
No
409
DALP-14049
CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED
domain
This bond matures at {maturityDate}, so its maturity redemption cannot be recorded yet.
Recording a maturity redemption matures the bond on chain. The bond accepts that only when the chain time has reached its maturity date, and the chain time is still before that date.
Record the maturity redemption again at or after the maturityDate in this response.
info
Yes
409

The previous page is DALP-13000 to DALP-13999. The next page is DALP-14050 to DALP-14099.

Was this page helpful?