Zum Hauptinhalt springen
Die Wallet API befindet sich in der Beta-Phase. Endpoints und Formate der response können sich ändern.

Übersicht

Der Transaction History endpoint ruft über die Enhanced Transactions API den vollständigen Transaktionsverlauf einer Solana-Wallet ab. Er gibt verständlich aufbereitete, geparste Transaktionen mit den jeweiligen Saldoänderungen in umgekehrt chronologischer Reihenfolge zurück (neueste zuerst). Der endpoint gibt pro request bis zu 100 Transaktionen zurück. Die Paginierung erfolgt daher manuell. Verwende den Parameter before mit pagination.nextCursor, um die nächste Seite abzurufen. Lies pagination.hasMore, um zu erkennen, ob weitere Ergebnisse verfügbar sind. Jeder request entspricht einem einzelnen API-Aufruf und kostet 100 Credits. Der Parameter tokenAccounts legt fest, ob Transaktionen einbezogen werden, die token-Konten der Wallet betreffen:
  • balanceChanged (empfohlen): Berücksichtigt Transaktionen, die Salden von token-Konten geändert haben, und filtert Spam heraus.
  • none: Nur direkte Interaktionen mit der Wallet.
  • all: Alle Transaktionen von token-Konten, einschließlich Spam.
Der Filter tokenAccounts basiert auf dem Feld owner in den Metadaten des token-Saldos. Dieses Feld war vor slot 111.491.819 (ca. Dezember 2022) nicht verfügbar. Transaktionen mit token-Konten, die vor diesem slot aktiv waren, können fehlen. Eine Behelfslösung findest du im Tutorial zu getTransactionsForAddress.

Wann du dies verwenden solltest

Verwende die Transaction History API, wenn du Folgendes tun möchtest:
  • Einen Transaktionsfeed anzeigen: Zeige Nutzern ihren vollständigen Transaktionsverlauf.
  • GuV berechnen: Verfolge Gewinne und Verluste über alle Transaktionen hinweg.
  • Steuern und Buchhaltung: Erstelle vollständige Transaktionsberichte für die Steuererklärung.
  • Portfolioanalysen durchführen: Analysiere Handelsmuster und Aktivitäten.
  • Prüfpfade führen: Bewahre vollständige Aufzeichnungen über die Wallet-Aktivitäten auf.
  • Salden rekonstruieren: Rekonstruiere aktuelle Salden anhand historischer Daten.

Schnellstart

Einfache Verlaufsabfrage

Rufe die neuesten Transaktionen mit Saldoänderungen ab:

Paginierung für den vollständigen Verlauf

Rufe alle Transaktionen per Paginierung mit dem Parameter before ab:

Abfrageparameter

Verfügbare Transaktionstypen

Der Parameter type unterstützt die Filterung nach diesen Transaktionstypen: 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

Filterbeispiele

Format der response

Hinweise zu den Feldern

  • timestamp: Unix-Sekunden. Kann bei sehr aktuellen Transaktionen, die noch nicht vollständig verarbeitet wurden, null sein.
  • error: Bei erfolgreichen Transaktionen null, bei fehlgeschlagenen Transaktionen ein Fehlerwert. Auch für fehlgeschlagene Transaktionen fallen Gebühren an.
  • balanceChanges: Gibt an, wie sich die Bestände der Wallet durch die Transaktion geändert haben. Ein positiver Wert für amount steht für empfangene token, ein negativer Wert für gesendete oder ausgegebene token.
  • mint (innerhalb von balanceChanges): Adresse des token-Mints oder "SOL" für natives SOL.
  • amount (innerhalb von balanceChanges): Lesbarer Wert, bereits durch decimals geteilt. -0.05 bedeutet −0,05 SOL und nicht −0,05 Lamports. Dieser endpoint enthält kein unbearbeitetes Feld amountRaw.

Beispiel für Saldoänderungen

Anwendungsfälle

Gesamtes Handelsvolumen berechnen

Summiere alle Übertragungen, um das Handelsvolumen zu berechnen:

Steuerbericht erstellen

Erstelle einen Transaktionsbericht für die Steuererklärung:

Fehlgeschlagene Transaktionen verfolgen

Suche alle fehlgeschlagenen Transaktionen, um die Fehler nachzuvollziehen:

Historischen Saldo rekonstruieren

Berechne den Saldo zu einem bestimmten Zeitpunkt:
Der endpoint Historical Balance liest den exakten Saldo eines einzelnen token zu einem bestimmten Zeitpunkt direkt aus den On-Chain-Salden nach der Transaktion aus, statt Änderungen clientseitig zu summieren.

Transaktionsgebühren analysieren

Berechne die insgesamt gezahlten Gebühren:

Best Practices

  • Verwende für den vollständigen Verlauf die Paginierung. Einige Wallets haben Hunderttausende Transaktionen. Paginiere immer, wenn du alle abrufst.
  • Speichere historische Daten im Cache. Historische Transaktionen ändern sich nie. Speichere sie lokal im Cache und rufe nur neue Transaktionen ab.
  • Berücksichtige fehlgeschlagene Transaktionen. Prüfe das Feld error, um erfolgreiche von fehlgeschlagenen Transaktionen zu unterscheiden. Auch für fehlgeschlagene Transaktionen fallen Gebühren an.
  • Verwende Zeitstempel zum Filtern nach Datum. Zeitstempel werden in Unix-Sekunden angegeben. Konvertiere sie für die Anzeige und Filterung in lokale Datumsangaben.

Häufige Fehler

Nächste Schritte

Token Transfers

Eine Ansicht nur für Übertragungen mit Informationen zu Absender und Empfänger — einfacher als der vollständige Verlauf.

Wallet API Overview

Alle Wallet API endpoints und gemeinsamen Konventionen.

API Reference

Schemas für request und response des Transaktionsverlaufs.