Transaktionen
getTransactionsForAddress
getTransactionsForAddress liefert den vollständigen Solana-Transaktionsverlauf für eine Adresse mit einem einzigen Aufruf – mit Zeit-, slot- und Statusfiltern, Sortierung und Keyset-Paginierung.
POST
/
getTransactionsForAddress
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getTransactionsForAddress",
"params": [
"Vote111111111111111111111111111111111111111",
{
"transactionDetails": "signatures",
"limit": 50,
"sortOrder": "desc",
"filters": {
"status": "succeeded",
"slot": {
"gte": 1000,
"lt": 2000
},
"tokenTransfer": {
"direction": "in",
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}
}
}
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getTransactionsForAddress",
"params": [
"Vote111111111111111111111111111111111111111",
{
"transactionDetails": "signatures",
"limit": 50,
"sortOrder": "desc",
"filters": {
"status": "succeeded",
"slot": {
"gte": 1000,
"lt": 2000
},
"tokenTransfer": {
"direction": "in",
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}
}
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: '1',
method: 'getTransactionsForAddress',
params: [
'Vote111111111111111111111111111111111111111',
{
transactionDetails: 'signatures',
limit: 50,
sortOrder: 'desc',
filters: {
status: 'succeeded',
slot: {gte: 1000, lt: 2000},
tokenTransfer: {direction: 'in', mint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'}
}
}
]
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => '1',
'method' => 'getTransactionsForAddress',
'params' => [
'Vote111111111111111111111111111111111111111',
[
'transactionDetails' => 'signatures',
'limit' => 50,
'sortOrder' => 'desc',
'filters' => [
'status' => 'succeeded',
'slot' => [
'gte' => 1000,
'lt' => 2000
],
'tokenTransfer' => [
'direction' => 'in',
'mint' => 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "1",
"result": {
"data": [
{
"signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 1054,
"transactionIndex": 42,
"err": null,
"memo": null,
"blockTime": 1641038400,
"confirmationStatus": "finalized"
},
{
"signature": "kwjd820slPK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 1055,
"transactionIndex": 15,
"err": null,
"memo": null,
"blockTime": 1641038460,
"confirmationStatus": "finalized"
}
],
"paginationToken": "1055:5"
}
}Request-Parameter
string
erforderlich
Solana-Kontoadresse, deren Transaktionsverlauf abgerufen werden soll (Wallet, token, Programm, NFT usw.).
string
Standard:"signatures"
Detailgrad der zurückgegebenen Transaktionen.
signaturesfull
string
Standard:"desc"
Sortierreihenfolge der zurückgegebenen Transaktionen.
ascdesc
string
Standard:"finalized"
Das commitment für den Request. Das commitment
processed wird nicht unterstützt.confirmedfinalized
number
Mindestwert für den Kontext-slot des Request (optional).
number
Standard:"1000"
Maximale Anzahl von Transaktionen pro Request. Verwende 1–1000 für transactionDetails:“signatures” und 1–1000 für transactionDetails:“full”.
string
Paginierungs-token aus der vorherigen response, um die nächste Ergebnisseite abzurufen (Format „slot:position“).
string
Standard:"json"
Kodierungsformat für Transaktionsdaten (gilt nur, wenn transactionDetails=full).
jsonjsonParsedbase58base64
number
Maximale zurückzugebende Transaktionsversion (gilt nur, wenn transactionDetails=full). Setze den Wert auf 1, um Legacy-, v0- und v1-Transaktionen zu empfangen.
object
Erweiterte Filter zum Eingrenzen der Transaktionsergebnisse.
object
Nach slot-Nummer filtern.
number
Größer oder gleich der slot-Nummer.
number
Größer als die slot-Nummer.
number
Kleiner oder gleich der slot-Nummer.
number
Kleiner als die slot-Nummer.
object
Nach Blockzeitstempel filtern (Unix-Zeitstempel).
number
Größer oder gleich dem Zeitstempel.
number
Größer als der Zeitstempel.
number
Kleiner oder gleich dem Zeitstempel.
number
Kleiner als der Zeitstempel.
number
Gleich dem Zeitstempel.
object
Nach Transaktionssignatur filtern.
string
Transaktionen mit Signaturen abrufen, die größer oder gleich diesem Wert sind.
string
Transaktionen nach dieser Signatur abrufen.
string
Transaktionen mit Signaturen abrufen, die kleiner oder gleich diesem Wert sind.
string
Transaktionen vor dieser Signatur abrufen.
string
Standard:"any"
Nach Transaktionsstatus filtern.
succeededfailedany
string
Standard:"none"
Transaktionen nach zugehörigen token accounts filtern. Legt fest, ob Transaktionen einbezogen werden, an denen token accounts beteiligt sind, die der Adresse gehören.
nonebalanceChangedall
object
Grenzt die Ergebnisse auf Transaktionen ein, bei denen die abgefragte Adresse an einer token-Übertragung beteiligt war, die bestimmte Kriterien erfüllt. Alle Felder sind optional und werden mit UND-Logik kombiniert.
string
Adresse der Gegenpartei. Entspricht Übertragungen, bei denen diese Adresse die andere Partei ist.
string
Standard:"any"
Übertragungsrichtung relativ zur abgefragten Adresse.
inoutany
string
Mint des token, nach dem gefiltert werden soll.
object
Bereichsfilter für den unverarbeiteten On-Chain-Betrag. Alle Felder sind optional und können kombiniert werden.
Autorisierungen
Body
application/json
Die Version des JSON-RPC-Protokolls.
Verfügbare Optionen:
2.0 Beispiel:
"2.0"
Ein eindeutiger Bezeichner für den request.
Beispiel:
"1"
Der Name der aufzurufenden RPC-Methode.
Verfügbare Optionen:
getTransactionsForAddress Beispiel:
"getTransactionsForAddress"
Array mit der erforderlichen Kontoadresse und einem optionalen Konfigurationsobjekt.
Required array length:
1 - 2 elementsSolana-Kontoadresse, deren Transaktionsverlauf abgerufen werden soll (Wallet, token, Programm, NFT usw.).
Beispiel:
"Vote111111111111111111111111111111111111111"
Antwort
Transaktionen für die angegebene Adresse wurden erfolgreich abgerufen.
War diese Seite hilfreich?
⌘I
getTransactionsForAddress
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getTransactionsForAddress",
"params": [
"Vote111111111111111111111111111111111111111",
{
"transactionDetails": "signatures",
"limit": 50,
"sortOrder": "desc",
"filters": {
"status": "succeeded",
"slot": {
"gte": 1000,
"lt": 2000
},
"tokenTransfer": {
"direction": "in",
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}
}
}
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getTransactionsForAddress",
"params": [
"Vote111111111111111111111111111111111111111",
{
"transactionDetails": "signatures",
"limit": 50,
"sortOrder": "desc",
"filters": {
"status": "succeeded",
"slot": {
"gte": 1000,
"lt": 2000
},
"tokenTransfer": {
"direction": "in",
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}
}
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: '1',
method: 'getTransactionsForAddress',
params: [
'Vote111111111111111111111111111111111111111',
{
transactionDetails: 'signatures',
limit: 50,
sortOrder: 'desc',
filters: {
status: 'succeeded',
slot: {gte: 1000, lt: 2000},
tokenTransfer: {direction: 'in', mint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'}
}
}
]
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => '1',
'method' => 'getTransactionsForAddress',
'params' => [
'Vote111111111111111111111111111111111111111',
[
'transactionDetails' => 'signatures',
'limit' => 50,
'sortOrder' => 'desc',
'filters' => [
'status' => 'succeeded',
'slot' => [
'gte' => 1000,
'lt' => 2000
],
'tokenTransfer' => [
'direction' => 'in',
'mint' => 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getTransactionsForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\",\n {\n \"transactionDetails\": \"signatures\",\n \"limit\": 50,\n \"sortOrder\": \"desc\",\n \"filters\": {\n \"status\": \"succeeded\",\n \"slot\": {\n \"gte\": 1000,\n \"lt\": 2000\n },\n \"tokenTransfer\": {\n \"direction\": \"in\",\n \"mint\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n }\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "1",
"result": {
"data": [
{
"signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 1054,
"transactionIndex": 42,
"err": null,
"memo": null,
"blockTime": 1641038400,
"confirmationStatus": "finalized"
},
{
"signature": "kwjd820slPK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 1055,
"transactionIndex": 15,
"err": null,
"memo": null,
"blockTime": 1641038460,
"confirmationStatus": "finalized"
}
],
"paginationToken": "1055:5"
}
}