Skip to main content
L’API Enhanced Transactions est un produit en mode maintenance. Elle fonctionne toujours et ces pages restent disponibles, mais elle ne reçoit pas de nouveaux types d’analyseurs ni d’améliorations. Son successeur est Parsed Events, qui décode les instructions via le catalogue IDL et est en bêta ouverte sur les plans payants — le guide de migration couvre le processus étape par étape. Vous pouvez également utiliser getTransactionsForAddress pour l’historique des transactions et le remplissage rétroactif, ainsi que l’API Wallet pour des données de portefeuille lisibles.

Aperçu

Le point de terminaison de l’historique des transactions renvoie un historique de transactions lisible pour toute adresse Solana. Au lieu de gérer des données d’instruction brutes et des listes de comptes, vous obtenez des informations structurées concernant :
  • Ce qui s’est passé dans la transaction (transferts, échanges, activités NFT).
  • Quels comptes étaient impliqués.
  • Combien de SOL ou de jetons ont été transférés.
  • Métadonnées associées (adresses de frappe de jetons, noms de jetons, symboles de jetons, et plus).
Envoyez une demande GET à /v0/addresses/{address}/transactions. Sous le capot, ce point de terminaison est alimenté par la méthode RPC getTransactionsForAddress.

Quand l’utiliser

  • Vous affichez l’historique des transactions d’une adresse aux utilisateurs (portefeuilles, trackers de portefeuille, explorateurs).
  • Vous souhaitez un historique pré-analysé et lisible sans avoir à écrire votre propre décodeur.
  • Vous avez besoin de filtrer l’historique par type de transaction, plage temporelle ou plage de slots.
  • Vous avez besoin de l’historique complet d’un portefeuille en jetons, y compris les comptes de jetons associés (ATA) — voir ci-dessous.
Pour les nouvelles constructions, getTransactionsForAddress est la solution moderne, native Helius, avec filtrage côté serveur et recherches de comptes de jetons.

Démarrage rapide

1

Obtenez votre clé API

Inscrivez-vous sur dashboard.helius.dev et copiez votre clé API.
2

Obtenez l'endpoint des transactions d'adresse

Récupérez l’historique des transactions pour toute adresse Solana.
3

Filtrer et paginer

Réduisez les résultats avec les filtres type, temps et slots ci-dessous, puis parcourez les adresses à volume élevé avec des curseurs de signature.

Support de réseau

Paramètres de la requête

Filtrage basé sur le temps

Filtrage basé sur les slots

Notes de filtrage :
  • Les paramètres basés sur le temps utilisent les timestamps Unix (secondes depuis l’époque) ; les paramètres basés sur les slots utilisent les numéros de slots Solana.
  • Vous ne pouvez pas combiner les filtres basés sur le temps et les filtres basés sur les slots dans la même requête.
  • Utilisez sort-order=asc pour l’ordre croissant (le plus ancien d’abord) ou sort-order=desc pour l’ordre décroissant (le plus récent d’abord).
  • Utilisez les filtres temps ou slots pour réduire l’espace de recherche lorsque vous connaissez la période approximative et associez-les à limit pour contrôler la taille de la page.

Comptes de jetons associés

Sur Solana, un portefeuille ne détient pas directement des jetons. Au lieu de cela, le portefeuille possède des comptes de jetons, et ces comptes détiennent les jetons. Lorsqu’on vous envoie des USDC, ils vont sur votre compte de jetons USDC plutôt que sur votre adresse principale de portefeuille. Ce point de terminaison est unique car il peut interroger l’historique complet des jetons d’un portefeuille, y compris les comptes de jetons associés (ATA). Les méthodes RPC natives telles que getSignaturesForAddress n’incluent pas les ATA. Le filtre token-accounts contrôle ce comportement :
  • none (par défaut) — ne renvoie que les transactions qui référencent directement l’adresse du portefeuille. Utilisez-le lorsque vous vous souciez uniquement des interactions directes avec le portefeuille.
  • balanceChanged (recommandé) — renvoie les transactions qui référencent l’adresse du portefeuille ou modifient le solde d’un compte de jetons détenu par le portefeuille. Cela filtre le spam et les opérations non liées comme les collectes de frais ou les délégations, vous donnant une vue claire des activités significatives du portefeuille.
  • all — renvoie toutes les transactions qui référencent l’adresse du portefeuille ou tout compte de jetons détenu par le portefeuille.
Le filtre token-accounts repose sur le champ owner dans les métadonnées des soldes de 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 être absentes des résultats balanceChanged et all. Consultez le tutoriel getTransactionsForAddress pour une solution de contournement avec un exemple de code complet.

Filtres

Filtrer par type de transaction

Obtenez uniquement des types de transactions spécifiques, tels que les ventes NFT, les transferts de jetons ou les échanges :
Pour la liste complète des types de transactions pris en charge, consultez la référence de l’API d’historique des transactions.

Filtrage par type au moment de l’exécution

Le filtrage par type se fait au moment de l’exécution : l’API cherche les transactions séquentiellement jusqu’à ce qu’elle trouve au moins 50 éléments correspondants. Si elle ne peut pas trouver de correspondances dans la fenêtre de recherche, elle renvoie une erreur avec une signature pour continuer la recherche. C’est un comportement prévu, pas une défaillance.
Lorsqu’aucune transaction correspondante n’est trouvée dans la fenêtre de recherche actuelle, l’API renvoie une réponse d’erreur comme suit :
Pour continuer, utilisez la signature du message d’erreur avec le paramètre approprié (before-signature pour décroissant, after-signature pour croissant) pour votre prochaine requête.
Points clés :
  • L’API recherche jusqu’à 50 transactions à la fois lors de l’utilisation de filtres de type.
  • Si aucune correspondance n’est trouvée, utilisez la signature du message d’erreur pour continuer à chercher.
  • Utilisez before-signature lors de recherches en ordre décroissant (défaut, le plus récent d’abord).
  • Utilisez after-signature lors de recherches en ordre croissant (le plus ancien d’abord) — requis pour les recherches chronologiques.
  • Implémentez une limite maximale de réessai pour éviter les boucles infinies.

Exemples

Les scénarios suivants couvrent les plages de temps et de slots, l’ordre de tri, les ATA et les filtres combinés.
Obtenez des transactions dans une fenêtre temporelle spécifique :
Obtenez des transactions dans une plage de slots spécifique :
Obtenez des transactions en ordre croissant (le plus ancien d’abord) :
Interrogez l’historique complet d’un portefeuille, y compris les adresses de jetons associées (ATA) :
Combinez le filtrage par type avec une plage de temps et un ordre de tri personnalisé :

Pagination

Pour les adresses à fort volume, parcourez les résultats en utilisant la dernière signature de chaque lot comme curseur :
Pour paginer dans une plage temporelle, gardez les filtres de temps sur chaque requête et avancez le curseur before-signature à chaque boucle :

Prochaines étapes

getTransactionsForAddress

Le remplacement moderne, natif Helius pour l’historique des transactions et le remplissage rétroactif.

API Wallet

Points de terminaison REST pour des données de portefeuille lisibles : soldes, historique et transferts.

Analyser les transactions

Analyser une ou plusieurs signatures de transaction en données lisibles.

Aperçu de l'obtention de données

Comparez chaque option Helius pour interroger les données Solana.