Transaction substatuses of COMPLETED status and their meaning

Hello, we are implementing a handler for processing Fireblocks notifications in our system.

I see that COMPLETED status has 4 substatuses: 3RD_PARTY_COMPLETED, CONFIRMED, COMPLETED_BUT_3RD_PARTY_FAILED and COMPLETED_BUT_3RD_PARTY_REJECTED, as I understand the first two substatuses are final and we can treat a transaction as completed on our side, but I’m not sure how to treat the other two.

I have a few questions regarding these substatuses and I hope somebody could clarify this for me:

  1. Can we receive several notifications with COMPLETED status but different substatuses? If so, in what case and what could be the order?
  2. Three of the substatuses mention a 3rd party service, does that mean that those substatuses could be obtained only in a specific setup of our Fireblocks account with some 3rd party services or can they be obtained for any transaction and 3rd party in this case is referred to some services that Fireblocks uses for its implementation?
  3. Do I understand correctly that COMPLETED_BUT_3RD_PARTY_FAILED and COMPLETED_BUT_3RD_PARTY_REJECTED mean that we can’t treat the transaction automatically as completed even though it has COMPLETED status and need to manually verify it?

Our use case for this question is sending BTC from our vaults to ONE_TIME_ADDRESS.

Hi @YehorT could you please share your workspace name?

You should only be receiving one COMPLETED status

3rd party typically refers to an exchange that you are transferring to or from.

In both instances of 3RD_PARTY_FAILED & 3RD_PARTY_REJECTED, you should reach out to the exchange for more information before reaching out to Fireblocks Support.

I am sharing the following information from this Help Center article about transaction sub statuses

CONFIRMED

The CONFIRMED substatus indicates the transaction reached the required number of confirmations on the blockchain and is recognized by all parties.

3RD_PARTY_COMPLETED

The 3RD_PARTY_COMPLETED substatus indicates the transaction was completed by a third-party service, such as an exchange.

COMPLETED_BUT_3RD_PARTY_FAILED

The COMPLETED_BUT_3RD_PARTY_FAILED substatus indicates the transaction was completed on the blockchain as shown on block explorers, but failed on the associated third-party platform. This is often a third-party system error.

If the transaction was sent from a vault account in your Fireblocks workspace, the balance will be deducted from the account.

If the exchange does not show the transaction in recent history or labels the transaction as failed, contact the exchange with the transaction details. If they are unable to resolve the issue, contact Fireblocks Support.

COMPLETED_BUT_3RD_PARTY_REJECTED

The COMPLETED_BUT_3RD_PARTY_REJECTED substatus indicates the transaction was completed on the blockchain as shown on block explorers but rejected by the associated third-party platform.

If the transaction was sent from a vault account in your Fireblocks workspace, the balance will be deducted from the account.

An exchange may reject a transaction due to a user input error. For example, some exchanges require an account or deposit minimum. Alternatively, the transaction may have been manually canceled on the exchange.

If the exchange does not show the transaction in recent history or labels the transaction as failed, contact the exchange with the transaction details. If they are unable to resolve the issue, contact Fireblocks Support.

Hi @Wilfred

Thank you for the provided info, our workspace name is Instacoins Europe EOOD (API Test). I think my main question is if it is possible in our use case to receive substatuses other than CONFIRMED while we are just sending BTC to one time addresses?