Fee Rate est le rapport entre les frais d’une transaction et sa taille virtuelle, vsize. Il s’exprime généralement en sat/vB, soit des satoshis par octet virtuel. Le satoshi (sat) est la plus petite unité enregistrée sur la couche de base de Bitcoin. Les frais totaux correspondent à la différence entre les valeurs des entrées et des sorties. Un taux plus élevé peut favoriser une confirmation rapide, sans garantir une place ni un délai.
Les entrées d’une transaction désignent des montants reçus auparavant que vous dépensez maintenant. Les sorties qui n’ont pas encore été dépensées sont appelées UTXO. Les nouvelles sorties précisent les montants et les conditions de leur dépense future : par exemple, une sortie pour le destinataire et une autre pour la monnaie rendue à votre portefeuille. Deux transactions de même structure peuvent déplacer des montants très différents tout en ayant la même taille et les mêmes frais. Le nombre et le type d’entrées et de sorties comptent surtout. Dépenser beaucoup de petits UTXO peut donc coûter davantage qu’un montant plus élevé provenant d’une seule sortie adaptée. C’est la structure qui compte, pas la valeur en euros. [2] [3]
Une transaction terminée de 150 vB au taux de 20 sat/vB coûte 3000 sat. Une transaction plus grande coûte davantage au même taux. Avant de signer, vérifiez les deux valeurs : taux et frais totaux. Le portefeuille peut estimer la taille avant la finalisation des signatures ; le résultat ne correspond donc pas forcément exactement à la proposition initiale. [3]
SegWit est une évolution de Bitcoin qui a déplacé une partie des données de vérification des transactions, comme les signatures, dans une section distincte appelée witness. SegWit pondère les données : un octet de base compte pour 4 unités de weight et un octet de données witness pour 1. BIP141 définit vsize comme weight divisé par 4, arrondi à l’entier supérieur. La taille virtuelle peut donc différer du nombre d’octets du fichier. Portefeuilles et nœuds peuvent tenir compte d’autres limites dans leurs propres règles d’acceptation des transactions ; ne calculez pas le taux à partir de la seule taille du fichier téléchargé. [2] [6]
Un nœud est un logiciel qui vérifie et relaie les données de Bitcoin. Son Mempool conserve les transactions acceptées en attente de confirmation. Lorsqu’une transaction dépense une sortie d’une autre, on l’appelle l’enfant ; la précédente est son parent. Le mineur choisit les transactions valides à inclure. Les frais pour une place limitée sont une incitation importante, mais le taux n’est pas un numéro de passage. Pour des transactions dépendantes, le revenu des ancêtres et descendants peut être évalué ensemble : une transaction enfant aux frais plus élevés peut aider une transaction parente aux frais faibles. Les nœuds ne voient pas nécessairement le même Mempool. [8]
Un nœud peut refuser de relayer une transaction à faible taux ou l’expulser quand il est saturé. Ce sont des règles de politique locale, pas un tarif unique de Bitcoin. Des frais faibles ne rendent pas à eux seuls une transaction invalide dans un bloc. mempoolminfee dans getmempoolinfo indique le seuil local actuel ; il ne garantit ni acceptation par les autres nœuds ni inclusion par un mineur. [5] [2] [9]
L’estimation associe transactions observées et confirmations à un objectif en nombre de blocs. estimatesmartfee de Bitcoin Core propose les modes economical et conservative avec des horizons différents. Les nouveaux paiements et la découverte des blocs restent incertains. Faute d’observations suffisantes, le nœud peut renvoyer une erreur. L’absence de données ne signifie pas un prix nul, et quelques blocs ne constituent pas une échéance fixe en minutes. [4]
Dans Bitcoin Core 29.0, estimatesmartfee renvoie des BTC/kvB, alors que beaucoup de portefeuilles affichent des sat/vB. 0.00020 BTC/kvB correspondent à 20 sat/vB : on ne conserve pas le même chiffre en changeant simplement l’unité. decoderawtransaction indique size, vsize et weight ; calculer les frais demande aussi les valeurs des sorties antérieures dépensées. Lorsqu’on relie des services, il faut vérifier l’unité du champ et la version de l’interface. [4] [6]
RBF (Replace-by-Fee) permet de remplacer une transaction non confirmée admissible par une version concurrente aux frais plus élevés, si le portefeuille et les règles d’acceptation le permettent. CPFP (Child Pays for Parent) dépense plutôt une sortie disponible de la transaction en attente pour relever le taux combiné du parent et de l’enfant. Aucun des deux n’est magique : sorties contrôlées, dépendances et règles des nœuds comptent. Les frais totaux plus élevés ne doivent pas non plus surprendre au moment de signer. [7] [8]
Déterminez d’abord quand la confirmation est nécessaire. Comparez ensuite estimation actuelle, frais totaux et possibilités d’augmentation ultérieure. Repérez les transactions inhabituellement grandes composées de nombreux UTXO. Si vous avez du temps, vous pouvez attendre de meilleures conditions, sans garantie de baisse des taux. Vérifiez l’état réel et n’envoyez pas un nouveau transfert indépendant simplement parce que le premier attend encore. [1] [4] [7]
Pour une vision complète, lisez aussi Transaction Fees, Mempool, Replace-by-Fee (RBF), CPFP (Child Pays for Parent). Cette entrée est également citée par Change Address, Confirmation, Replace-by-Fee (RBF), CPFP (Child Pays for Parent).