Si une sortie BTC est introuvable, cela signifie-t-il que la transaction n’a jamais existé ?

Tout dépend du type de recherche que vous effectuez. Vérifier s’il reste actuellement des fonds non dépensés et vérifier si une transaction a eu lieu par le passé, ce n’est pas la même chose.

L’interface gettxout de Bitcoin recherche les sorties de transaction non dépensées. Une sortie peut être comprise comme une somme laissée par une transaction, qui pourra être dépensée ultérieurement. Pour effectuer la recherche, il faut préciser non seulement l’identifiant de la transaction, mais aussi la position de sa sortie.

La documentation précise également que, par défaut, la recherche tient compte du mempool, où les nœuds conservent les transactions en attente de confirmation. Si une sortie a été dépensée par une transaction qui s’y trouve, elle n’apparaîtra pas dans les résultats de cette recherche. On ne peut donc pas en conclure directement que la transaction $BTC d’origine n’a jamais existé, ni considérer qu’une dépense en attente a déjà été confirmée sur la blockchain.

Pour mener votre vérification, commencez par contrôler l’identifiant de la transaction, la position de la sortie et la prise en compte ou non des transactions en attente, puis examinez séparément l’état de la transaction d’origine et celui de la transaction qui a dépensé la sortie. Ne reformulez pas « absente de la liste des sorties non dépensées » en « ce paiement passé n’a pas eu lieu ». Cet article explique la portée de l’interface ; aucune transaction ni aucun solde réel n’a été consulté.
Source : https://developer.bitcoin.org/reference/rpc/gettxout.html