Zum Hauptinhalt springen
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →

Was ist die Transaction API?

Die Raydium Transaction API (Route V2) ist ein Server-seitiger Service, der serialisierte Solana-Swap-Transaktionen erstellt, ohne dass Clients eine RPC-Verbindung aufrechterhalten oder das gesamte Raydium SDK einbinden müssen. Dies vereinfacht die Integration erheblich für:
  • Web-Frontends, die keinen lokalen RPC-Client ausführen können
  • Mobile Anwendungen mit begrenzten Ressourcen
  • Headless-Trading-Bots
  • Aggregatoren und Wallet-Provider
Anstatt komplexes Pool-Routing und Transaktionserstellung auf dem Client durchzuführen, fordern Sie Swap-Quotes und Transaktionserstellung von unserer API an, signieren dann das Ergebnis und broadcasten es über beliebige Solana-RPCs.

Workflow-Übersicht

Die Transaction API unterteilt die Aufgaben in zwei Phasen:

1. Compute-Phase: Quote abrufen

Rufen Sie /compute/swap-base-in oder /compute/swap-base-out auf, um die erwartete Swap-Ausgabe (oder erforderliche Eingabe) basierend auf aktuellen Pool-Zuständen zu erhalten. Dieser Endpoint ist schreibgeschützt und erfordert keine Signierung:
Die Antwort enthält:
  • Erwarteter Ausgabebetrag
  • Route-Aufschlüsselung (welche Pools und Liquiditätsquellen werden verwendet)
  • Preisauswirkung

2. Transaction-Phase: Erstellen und signieren

Sobald Sie die Compute-Antwort haben, übergeben Sie diese (zusammen mit Wallet und Konfiguration) an /transaction/swap-base-in oder /transaction/swap-base-out:
Die Antwort enthält:
  • Eine Base64-codierte versionierte Transaktion, bereit zum Signieren
  • Adressen von Address Lookup Tables (falls txVersion=V0)
Ihr Client:
  1. Dekodiert die Transaktion
  2. Signiert sie mit dem Keypair des Benutzers
  3. Broadcastet sie über beliebige Solana-RPCs
  4. Wartet auf Bestätigung

Compute-Endpoints

GET /compute/swap-base-in

Anwendungsfall: Benutzer gibt einen Eingabebetrag an, wir berechnen die Ausgabe. Erforderliche Query-Parameter:
  • inputMint – Mint-Adresse des Token, den Sie senden
  • outputMint – Mint-Adresse des Token, den Sie möchten
  • amount – Eingabebetrag in Lamports (kleinste Einheit)
  • slippageBps – Maximale akzeptable Slippage in Basispunkten (0–10000)
  • txVersionV0 oder LEGACY
Optional:
  • referrerBps – Falls Sie eine Referrer-Autorität haben, Basispunkte der Ausgabe zur Erfassung als Referrer-Gebühr

GET /compute/swap-base-out

Anwendungsfall: Benutzer gibt die gewünschte Ausgabe an, wir berechnen die erforderliche Eingabe. Erforderliche Query-Parameter:
  • inputMint, outputMint, amount (gewünschte Ausgabe), slippageBps, txVersion
Hinweis: Keine Referrer-Basispunkte für base-out (noch nicht implementiert).

Transaction-Endpoints

POST /transaction/swap-base-in

Erstellt eine Transaktion für einen festen Eingabebetrag. Erforderliche Body-Parameter:
  • wallet – Ihre signierende Wallet-Adresse
  • swapResponse – Das gesamte Compute-Response-Objekt
  • txVersion – Transaktionsversion
  • computeUnitPriceMicroLamports – Prioritätsgebühr in Micro-Lamports
Optional:
  • wrapSol – Falls true, native SOL für Eingabe wrappen
  • unwrapSol – Falls true, WSOL zu SOL in Ausgabe unwrappen
  • inputAccount – Token-Konto für Eingabe (erforderlich falls nicht SOL wrapping)
  • outputAccount – Token-Konto für Ausgabe
  • nonceInfo – Dauerhaft Nonce für Offline-Signierung
  • jitoInfo – Jito MEV-Schutz-Bundle-Parameter
  • referrerWallet – Referrer-Wallet für Gebührenerfassung

POST /transaction/swap-base-out

Erstellt eine Transaktion für einen festen Ausgabebetrag. Gleiche Parameter wie base-in, außer:
  • referrerInfo-Feld ist derzeit auskommentiert (noch nicht implementiert)

Response-Hülle

Alle Endpoints geben eine Standard-Hülle zurück:
Bei Fehler ist success false und msg enthält den Fehlercode (z.B. REQ_WALLET_ERROR, REQ_SLIPPAGE_BPS_ERROR).

Transaction-Response-Format

Eine erfolgreiche Transaction-Antwort sieht folgendermaßen aus:

Integrations-Beispiel

Hier ist ein typischer Ablauf in Pseudocode:

Wichtige Parameter erklärt

txVersion

  • V0: Moderne Solana-Transaktion mit Address Lookup Tables (ALTs). Kleinere Serialisierungsgröße, niedrigere Gebühren.
  • LEGACY: Pre-ALT-Transaktionsformat. Größer, funktioniert aber mit allen RPC-Endpoints.
Wählen Sie V0, wenn möglich; fallen Sie auf LEGACY zurück, wenn Ihr RPC oder Wallet ALTs nicht unterstützt.

computeUnitPriceMicroLamports

Prioritätsgebühr für schnellere Block-Einbindung. Setzen Sie auf 0 für keine Prioritätsgebühr, oder höhere Werte (z.B. 1000), um in überlasteten Netzwerken zu konkurrieren. Einheiten sind Micro-Lamports pro Compute Unit.

slippageBps

Maximale Slippage-Toleranz in Basispunkten. 100 = 1%, 50 = 0,5%.
  • Verwenden Sie niedrigere Werte (z.B. 25–50 bps) für die meisten stabilen Swaps
  • Erhöhen Sie für volatile oder illiquide Paare

wrapSol und unwrapSol

  • wrapSol: Falls true, wickelt die API Ihre native SOL in WSOL ein. Kein inputAccount erforderlich.
  • unwrapSol: Falls true, wickelt die API die Ausgabe WSOL zurück zu native SOL aus. Kein outputAccount erforderlich.
Falls beide false sind, müssen Sie explizite Token-Konten angeben.

Netzwerk-Endpoints

Fehlercodes

Häufige Fehlermeldungen:

Siehe auch