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).
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.
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.
- JavaScript
- Python
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=ascpour l’ordre croissant (le plus ancien d’abord) ousort-order=descpour 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 à
limitpour 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 quegetSignaturesForAddress 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.
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 :- Ventes NFT
- Transferts de jetons
- Échanges
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.
before-signature pour décroissant, after-signature pour croissant) pour votre prochaine requête.
Boucle de continuation pour les filtres de type (exemple complet)
Boucle de continuation pour les filtres de type (exemple complet)
- 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-signaturelors de recherches en ordre décroissant (défaut, le plus récent d’abord). - Utilisez
after-signaturelors 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.Filtrer par plage de temps
Filtrer par plage de temps
Obtenez des transactions dans une fenêtre temporelle spécifique :
- Dernières 24 heures
- Plage de dates spécifique
Filtrer par plage de slots
Filtrer par plage de slots
Obtenez des transactions dans une plage de slots spécifique :
Changer l'ordre de tri
Changer l'ordre de tri
Obtenez des transactions en ordre croissant (le plus ancien d’abord) :
Inclure les transferts pour les comptes de jetons associés
Inclure les transferts pour les comptes de jetons associés
Interrogez l’historique complet d’un portefeuille, y compris les adresses de jetons associées (ATA) :
Combiner plusieurs filtres
Combiner plusieurs filtres
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 :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.