Skip to main content
L’API Wallet est en version bêta. Les points de terminaison et les formats de réponse peuvent changer.

Aperçu

Le point de terminaison de l’historique des transactions récupère l’historique complet des transactions d’un portefeuille Solana en utilisant l’API Enhanced Transactions. Il renvoie des transactions analysées et lisibles par l’homme avec des modifications de solde pour chaque transaction, dans l’ordre inverse chronologique (la plus récente d’abord). Le point de terminaison renvoie jusqu’à 100 transactions par demande, donc la pagination est manuelle. Utilisez le paramètre before avec pagination.nextCursor pour récupérer la page suivante, et lisez pagination.hasMore pour savoir quand plus de résultats sont disponibles. Chaque demande est un appel API unique et coûte 100 crédits. Le paramètre tokenAccounts contrôle si les transactions impliquant des comptes de jetons détenus par le portefeuille sont incluses :
  • balanceChanged (recommandé) : inclut les transactions qui ont modifié les soldes des comptes de jetons, filtrant le spam.
  • none : uniquement les interactions directes avec le portefeuille.
  • all : toutes les transactions de comptes de jetons, y compris le spam.
Le filtre tokenAccounts repose sur le champ owner dans les métadonnées du solde des jetons, qui n’était pas disponible avant le slot 111,491,819 (~décembre 2022). Les transactions impliquant des comptes de jetons actifs avant ce slot peuvent manquer. Voir le tutoriel getTransactionsForAddress pour une solution de contournement.

Quand l’utiliser

Utilisez l’API de l’historique des transactions lorsque vous avez besoin de :
  • Afficher un flux de transactions : montrer aux utilisateurs leur historique complet de transactions.
  • Calculer le PnL : suivre les gains et les pertes sur toutes les transactions.
  • Impôts et comptabilité : générer des rapports de transaction complets pour la déclaration fiscale.
  • Analyse de portefeuille : analyser les modèles de trading et l’activité.
  • Trails d’audit : maintenir des enregistrements complets de l’activité du portefeuille.
  • Reconstruction de solde : reconstruire les soldes actuels à partir des données historiques.

Démarrage rapide

Requête d’historique de base

Obtenez les transactions les plus récentes avec des modifications de solde :

Pagination pour l’historique complet

Récupérez toutes les transactions en utilisant la pagination avec le paramètre before :

Paramètres de requête

Types de transactions disponibles

Le paramètre type prend en charge le filtrage par ces types de transactions : SWAP, TRANSFER, NFT_SALE, NFT_BID, NFT_LISTING, NFT_MINT, NFT_CANCEL_LISTING, TOKEN_MINT, BURN, COMPRESSED_NFT_MINT, COMPRESSED_NFT_TRANSFER, COMPRESSED_NFT_BURN, CREATE_STORE, WHITELIST_CREATOR, ADD_TO_WHITELIST, REMOVE_FROM_WHITELIST, AUCTION_MANAGER_CLAIM_BID, EMPTY_PAYMENT_ACCOUNT, UPDATE_PRIMARY_SALE_METADATA, ADD_TOKEN_TO_VAULT, ACTIVATE_VAULT, INIT_VAULT, INIT_BANK, INIT_STAKE, MERGE_STAKE, SPLIT_STAKE, CREATE_AUCTION_MANAGER, START_AUCTION, CREATE_AUCTION_MANAGER_V2, UPDATE_EXTERNAL_PRICE_ACCOUNT, EXECUTE_TRANSACTION

Exemples de filtres

Format de réponse

Remarques sur les champs

  • timestamp : secondes Unix. Peut être null pour les transactions très récentes qui n’ont pas encore été entièrement traitées.
  • error : null pour les transactions réussies ; une valeur d’erreur pour les échecs. Les transactions échouées engendrent toujours des frais.
  • balanceChanges : comment les avoirs du portefeuille ont changé lors de la transaction — un amount positif concerne les jetons reçus, un amount négatif concerne les jetons envoyés ou dépensés.
  • mint (dans balanceChanges) : adresse de frappe de jeton, ou "SOL" pour SOL natif.
  • amount (dans balanceChanges) : lisible par l’homme, déjà divisé par decimals-0.05 signifie −0.05 SOL, pas −0.05 lamports. Ce point de terminaison n’inclut pas de champ amountRaw brut.

Exemple de modifications de solde

Cas d’utilisation

Calculer le volume total des transactions

Additionner tous les transferts pour obtenir le volume des transactions :

Générer un rapport fiscal

Créer un rapport de transaction pour la déclaration fiscale :

Suivre les transactions échouées

Trouver toutes les transactions échouées pour comprendre les erreurs :

Reconstruire un solde historique

Calculer quel était le solde à un moment donné :
Pour le solde exact d’un jeton à un moment donné, le point de terminaison Historical Balance le lit directement à partir des soldes post-chaîne au lieu de sommer les changements côté client.

Analyser les frais de transaction

Calculer le total des frais payés :

Meilleures pratiques

  • Utiliser la pagination pour un historique complet. Certains portefeuilles ont des centaines de milliers de transactions ; paginer toujours lors de leur récupération.
  • Mettre en cache les données historiques. Les transactions historiques ne changent jamais. Les mettre en cache localement et ne récupérer que les nouvelles transactions.
  • Gérer les transactions échouées. Vérifier le champ error pour distinguer les transactions réussies des échouées. Les transactions échouées engendrent toujours des frais.
  • Utiliser les horodatages pour le filtrage des dates. Les horodatages sont en secondes Unix. Convertir en dates locales pour l’affichage et le filtrage.

Erreurs communes

Prochaines étapes

Transferts de jetons

Une vue uniquement transferts avec informations sur l’expéditeur/le destinataire — plus simple que l’historique complet.

Aperçu de l'API Wallet

Tous les points de terminaison de l’API Wallet et les conventions partagées.

Référence API

Schémas de demande et de réponse pour l’historique des transactions.