Zum Hauptinhalt springen
POST
getHistoricalTokenAccountsByOwner
getHistoricalTokenAccountsByOwner befindet sich in der Betaphase. Parameter, Preise, response-Formate und Datenabdeckung können sich ändern.

Übersicht

getHistoricalTokenAccountsByOwner gibt die SPL-Token- und Token-2022-Konten zurück, die einer Wallet bei einem früheren slot oder unmittelbar nach einer bestimmten Transaktion in diesem slot gehörten. Diese RPC-Methode ist exklusiv bei Helius verfügbar. Die standardmäßige Methode getTokenAccountsByOwner gibt nur den aktuellen Zustand zurück. Bei der Kodierung jsonParsed verwenden Token-Beträge die Dezimalstellen des jeweiligen Mint an der angefragten Position. Die Guthaben spiegeln somit wider, was die Wallet zu diesem Zeitpunkt hielt. Der Verlauf ist ab slot 444.959.999 (7. September 2026) verfügbar. Dies entspricht dem Zustand zu Beginn von Epoche 1030. getHistoricalTokenAccountsByOwner ist im mainnet für Business-Tarife und höher verfügbar. Während der Betaphase kostet jeder Aufruf 0 Credits. Die Preise können sich ändern.

Unterschiede zu getTokenAccountsByOwner

  • Der Mint- oder Programmfilter ist optional. Ohne Filter erhältst du alle Token-Konten, die der Wallet gehörten. Um die Ergebnisse einzugrenzen, lege entweder mint oder programId im Konfigurationsobjekt (dem dritten Parameter) fest, aber nicht beides.
  • Der zweite Parameter ist das Abfrageobjekt, das die Position im Verlauf auswählt, und kein Mint- oder Programmfilter.
  • result.value ist ein Objekt mit accounts und paginationKey, kein Array.

Position im Verlauf auswählen

Der zweite Parameter ist ein Abfrageobjekt:
  • Weggelassen oder {}: der neueste indexierte slot, begrenzt durch das angefragte commitment.
  • { "slot": 445000000 }: das Ende von slot 445.000.000.
  • { "slot": 445000000, "transactionIndex": 10 }: unmittelbar nachdem die Transaktion mit Index 10 in diesem slot ausgeführt wurde.
Im Leitfaden zu historischen Konten erfährst du, wie Positionen funktionieren.

Beispiel-request

Dieser request gibt die USDC-Token-Konten der Wallet am Ende von slot 445.000.000 zurück:

Durch alle Token-Konten blättern

Die Ergebnisse werden zuerst nach Mint und dann nach der Adresse des Token-Kontos sortiert. Jede response gibt value.accounts und value.paginationKey zurück. Letzteres ist ein Cursor im Format <mint>:<tokenAccount>. Übergib ihn im nächsten request erneut, bis er null ist.
Eine Seite kann kurz oder sogar leer sein und trotzdem paginationKey enthalten. Erst wenn paginationKey den Wert null hat, hast du das Ende erreicht.
Übergib bei der Seitennavigation immer explizit slot. Wenn du den Wert weglässt, liest jede Seite den neuesten indexierten slot. Die Seiten können dann von unterschiedlichen Zeitpunkten stammen.

response lesen

Jeder Eintrag in value.accounts enthält pubkey des Token-Kontos und ein account-Objekt. Das Kontoobjekt hat dieselben Felder wie getAccountInfo sowie lastUpdatedAt:
  • lastUpdatedAt.slot und lastUpdatedAt.transactionIndex identifizieren den Schreibvorgang, der diesen Zustand erzeugt hat.
  • Ein lastUpdatedAt.slot von 444.959.999 mit einem null-Wert für transactionIndex bedeutet, dass sich das Token-Konto seit Beginn der Verlaufsabdeckung nicht geändert hat.
  • context.slot ist der neueste slot, den Helius beim Verarbeiten des request indexiert hatte, nicht der von dir abgefragte slot.

Fehler

Zugehörige Methoden

Historical Accounts Guide

So funktionieren Positionen, Abdeckung und lastUpdatedAt bei Methoden für historische Konten

getHistoricalAccountInfo

Lies ein einzelnes Konto bei einem früheren slot

getTransactionsForAddress

Finde slot und transactionIndex der Transaktionen, die du untersuchen möchtest

getTokenAccountsByOwnerV2

Blättere durch die aktuellen Token-Konten einer Wallet

request-Parameter

string
erforderlich
Base-58-kodierte Adresse der Wallet, der die Token-Konten gehörten. Übergib die Wallet des Inhabers, nicht ein Token-Konto.
number
slot, dessen Zustand gelesen werden soll. Gibt das Konto am Ende dieses slot zurück. Der früheste unterstützte slot ist 444959999. Dies entspricht dem Zustand zu Beginn von Epoche 1030. Wenn du den Wert weglässt, wird der neueste indexierte slot gelesen, begrenzt durch das angefragte commitment.
number
Position einer Transaktion innerhalb des slot. Gibt den Kontozustand unmittelbar nach Ausführung dieser Transaktion zurück, statt am Ende des slot. Erfordert slot.
string
Gibt nur Token-Konten für diesen Mint zurück. Kann nicht mit programId kombiniert werden.
string
Gibt nur Token-Konten zurück, die diesem Token-Programm gehören. Kann nicht mit mint kombiniert werden.
  • TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
  • TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
string
Standard:"base64"
Kodierungsformat für Kontodaten. Bei jsonParsed verwenden Token-Beträge die Dezimalstellen des Mint an der angefragten Position. base58 und binary werden nicht unterstützt.
  • base64
  • base64+zstd
  • jsonParsed
object
Gibt nur einen Ausschnitt der Daten jedes Kontos zurück. Gilt für die Kodierungen base64 und base64+zstd.
number
erforderlich
Byte-Offset, ab dem gelesen werden soll.
number
erforderlich
Anzahl der zurückzugebenden Bytes.
number
Standard:"5000"
Maximale Anzahl der zurückzugebenden Token-Konten (1–5.000).
string
Cursor aus paginationKey der vorherigen response im Format &lt;mint&gt;:&lt;tokenAccount&gt;. Wenn du außerdem mint festlegst, muss der Mint des Cursor damit übereinstimmen.
string
Standard:"finalized"
Stufe für commitment. processed wird nicht unterstützt.
  • finalized
  • confirmed
number
Der minimale slot, bei dem der request ausgewertet werden kann.

Autorisierungen

api-key
string
query
erforderlich

Dein Helius API key. Du kannst ihn kostenlos im Dashboard abrufen.

Body

application/json
jsonrpc
enum<string>
Standard:2.0
erforderlich

Die Version des JSON-RPC-Protokolls.

Verfügbare Optionen:
2.0
Beispiel:

"2.0"

id
string
Standard:1
erforderlich

Eine eindeutige Kennung für den request.

Beispiel:

"1"

method
enum<string>
Standard:getHistoricalTokenAccountsByOwner
erforderlich

Der Name der aufzurufenden RPC-Methode.

Verfügbare Optionen:
getHistoricalTokenAccountsByOwner
Beispiel:

"getHistoricalTokenAccountsByOwner"

params
(string | Abfrage · object | Konfiguration · object)[]
erforderlich

Array mit der Wallet-Adresse des Eigentümers, einem optionalen Abfrageobjekt zur Auswahl der Position im Verlauf und einem optionalen Konfigurationsobjekt.

Required array length: 1 - 3 elements

Base-58-codierte Adresse der Wallet, der die token accounts gehörten. Übergib die Wallet des Eigentümers, nicht die Adresse eines token account.

Beispiel:

"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"

Antwort

Eine Seite mit historischen token accounts wurde erfolgreich abgerufen.

jsonrpc
enum<string>

Die Version des JSON-RPC-Protokolls.

Verfügbare Optionen:
2.0
Beispiel:

"2.0"

id
string

Kennung, die dem request entspricht.

Beispiel:

"1"

result
object