Solana - Transaction duplicates, dropped or not confirmed

When broadcasting a Solana transaction, you may face an error looking as follows:

    "statusCode": 403,
    "errorCode": "erc20.transfer.error",
    "message": "Failed to transfer the token",
    "cause": "Transaction {##tx_hash##} has not been confirmed yet. The transaction could still be accepted by the Solana network. We advise to manually check if the transaction has been dropped or accepted before you try to send the transaction again"

Solana transaction broadcasting steps

  1. Tatum users attempt to send transactions over Solana, in sequence, one by one.
    1. NOTE: Sending transactions in parallel can cause duplicated transaction IDs.
  2. Tatum checks data coherence on the request and sends it to the Solana network.
  3. A check on Tatum's side loops "x" times up to 60s looking for a transaction confirmation.
    1. This can take a minimum of 1s.
    2. Core-API/SDK can't check beyond 60s, this would cause a timeout error. Beyond this moment, the Solana network can still accept or drop the transaction.
  4. Tatum returns a response with a transaction ID/hash OR with an error.
  5. IF you get an error, as seen above, you will have to manually check if the transaction was accepted or rejected by the Solana network beyond the moment we returned the error.
    1. You may need to re-sign the transaction.
    2. This is an expected behavior with the Solana network.