When a fill cannot settle after the platform's automatic retries, or fails the same way on every attempt, the platform holds that fill with its decoded refusal reason. Both legs of the held fill, the base tokens and the quote tokens, stay locked in the venue's escrow, and the trade stays pending delivery until an operator decides. The Held fills tab of the venue, titled “Held settlement fills”, lists the 100 most recently held fills, and the filters reach older ones. An operator reads why each fill was held, then retries it or proposes a bust.
The “Held settlement fills” tab with the “Instrument”, “Reason”, “Minimum age (seconds)” and “Maximum age (seconds)” filters.
With nothing held, the tab reads “No held settlement fills” and “Fills that fail to settle wait here for an operator to retry or bust them.” When fills are held, the table shows “Trade”, “Instrument”, “Parties”, “Amounts”, “Reason”, “Attempts” and “Age”.
Steps
Find the held fill
Open “Asset lifecycle”, then “Venues”, select the venue, then “More” and Held fills. The list shows the trade, the instrument, both parties, the base and quote amounts, the reason, the attempts with the last attempt, and the age.
Filter by Instrument, “Reason”, “Minimum age (seconds)” or “Maximum age (seconds)”. The filters stay in the page address, so you can hand the same view to a colleague.
Read why it was held
Select Open details on a row. The “Held fill details” sheet shows the buyer, seller, quantity, price, first and last attempt, the attempt count and the “Attempt history”, with links to the trade and both orders. “Retry now” and “Bust” sit in this sheet.
A failed settlement attempt keeps the trade in Pending delivery, keeps both legs locked, and retries on its own after a growing delay. The platform holds a fill instead when:
- the failure repeats on every attempt
- the venue refuses the fill on chain, for example with
InvalidDeliveryRecipienton an instrument with a holding period when the buyer, seller or a fee recipient is the zero address, the escrow or an address on the token's compliance bypass list - the fill owes VAT on chain that cannot be paid
- the batch runs out of automatic retries
A failing batch of several fills is split in halves until the platform isolates the failing fill, and only that fill is held.
Retry the fill
In the sheet, enter the “Operator reason (required)”, select Retry now and confirm with your wallet verification. The platform queues the fill for settlement again and records your reason in the audit trail. The fill leaves the list as soon as the retry is queued. For a reason the platform marks non-retryable, the sheet warns that the retry needs an explicit override, which the audit trail records. The action stays off until you tick “Confirm override for this non-retryable reason”, and the platform refuses the retry without it. A retry, with or without the override, needs no second operator.
Bust the trade instead
Select Bust to propose a trade bust for the held trade, with the same reason and wallet step. The proposal is refused while either order of the trade is still open. It follows the venue's “Trading venues” row like any other bust. An approved bust undoes the trade, refunds the escrow lock of each closed order, and removes the held fill. Trade busts covers the approval.
Troubleshooting
Retry now is refused for a reason marked non-retryable
A retry is not expected to change this reason, for example a refusal that repeats on every attempt. Confirm the override to retry anyway, which the audit record keeps, or bust the trade.
A bust from a held fill is refused
An order from the trade is still open and must be cancelled on the Orders tab, or another of the causes listed under Trade busts applies.
API routes
Integrations receive the trading- webhook when a fill is held, and trading- when it stays held past an age set for your deployment. The webhook and the route say parked where the Console says held. The request and response fields are in the v2 API reference.