> For the complete documentation index, see [llms.txt](https://docs.kinetex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kinetex.io/flash-trade-protocol/collateral/unlock-collateral.md).

# Unlock collateral

<figure><img src="/files/2B3qQ1J6o9giEiovuJoA" alt=""><figcaption><p>Collateral unlock process</p></figcaption></figure>

This sequence of actions illustrates how the Flash Trade system confirms the successful processing of orders. It involves verifying the successful transfer of the order asset, adjusting the collateral status, and confirming the successful processing of the order.

1. **Verify that the transfer took place**:
   1. The Resolver provides two proofs (`receiveProof` and `sendProof`) by calling the `confirmOrderAssetSend` method of the `OrderResolver` contract.
   2. `OrderResolver` verifies both `AssetReceive` and `AssetSend` events with the help of `LightClient`, which signals that the order has been completed.
   3. If any of the events is not verified, `OrderResolver` reverts the transaction.
2. **Unlock collateral**:
   1. If both events are verified, `CollateralManager` adds the order collateral amount to the unlocked collateral (`unlockCounter`). The unlocked collateral is the amount of collateral that is not currently in use.
   2. `CollateralManager` sets the nonce bit of the order to 1, effectively invalidating the nonce. A nonce is a number used once, and in this context, it is used to ensure each transaction is processed only once.
   3. `CollateralManager` emits an `OrderSendConfirm` event, signaling that the order asset has been sent and the process has been confirmed successfully. Consequently, collateral for this order gets unlocked and can be reused for further orders.
