Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

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

Was ist die Perps API?

Die Raydium Perps API (V1) ist ein Konfigurations- und Metadaten-Service für das Raydium Perpetual Futures Frontend und Integrationen. Sie stellt folgende Funktionen zur Verfügung:
  • UI-Konfiguration – aktuelle Version, minimale Unterstützungsversion
  • RPC-Endpunkte – Whitelist von Solana-RPC-Endpunkten für die UI
  • Marktstatistiken – 24h/7d/30d Handelsvolumen und offene Positionen
  • Regionale Beschränkungen – Verfügbarkeitsprüfung pro Land
  • Pool-Metadaten – aktive Perp-Märkte und Volumendaten
  • Kampagnendaten – Leaderboards, Benutzerstatistiken und Belohnungen
  • P&L-Freigabe – Erstellung von teilbaren Position-Screenshots
Wichtig: Die Orderaufgabe selbst wird von der Orderly Network API verwaltet. Dieser Service konzentriert sich auf Frontend-Unterstützung und Metadaten.

Architektur-Übersicht

Das Perps-System besteht aus zwei unabhängigen Komponenten:
  1. Raydium Perp API (dieser Service) – Liest Konfiguration, stellt UI-Daten bereit, generiert Bilder
  2. Orderly Network – Führt Orders aus, verwaltet Positionen und Abrechnung
Wenn ein Benutzer eine Perp-Order über die Raydium UI aufgibt:
  1. Die UI ruft Marktkonfiguration von dieser API ab (Pools, RPCs, Verfügbarkeit)
  2. Die UI sendet die Order an die Orderly Network API
  3. Orderly führt die Order aus und verwaltet den Positionszustand
  4. Die UI ruft Positionsdaten und Statistiken von Orderly’s API oder unserem Campaign-Endpunkt ab
Diese Trennung ermöglicht es Raydium, Metadaten und Branding zu verwalten, während Orderly sich um Order-Matching und Abrechnung kümmert.

API-Endpunkte nach Kategorie

Hauptendpunkte

Kernservice-Informationen und Verfügbarkeitsprüfungen.

GET /main/version

Gibt die aktuelle stabile UI-Version und die minimal unterstützte Version zurück. Verwendung: Prüfen Sie, ob die UI-Version des Clients noch unterstützt wird. Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "latest": "1.2.0",
    "least": "1.0.0"
  }
}

GET /main/rpcs

Gibt Whitelist von Solana-RPC-Endpunkten für die UI zurück. Verwendung: Füllen Sie den RPC-Auswahlbereich in der UI; stellt sicher, dass Clients sich mit stabilen, von Raydium genehmigten Endpunkten verbinden.

GET /main/info

Gibt marktweite Statistiken zurück. Verwendung: Zeigen Sie 24h-Volumen, 7d-Volumen, 30d-Volumen und Gesamt-/Long-/Short-Open-Interest im Dashboard an. Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "volume": {
      "24h": 1234567,
      "7d": 9876543,
      "30d": 50000000
    },
    "openInterest": {
      "long": 5000000,
      "short": 3000000,
      "all": 8000000
    }
  }
}

GET /main/availability-check

Prüft, ob Perp-Trading in der Region des Benutzers verfügbar ist. Verwendung: Warnen oder Beschränkung des Zugriffs in eingeschränkten Regionen (z. B. USA). Funktionsweise:
  • Liest den cf-ipcountry Header von Cloudflare (falls hinter Cloudflare)
  • Fällt auf eine Standardkonfiguration zurück, wenn der Header fehlt
  • Gibt Verfügbarkeitsstatus pro Region zurück
Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "available": true,
    "country": "US"
  }
}

GET /main/temp-key?wallet=...

Generiert ein temporäres Ed25519-Keypair für initiale Authentifizierung oder temporäres Signieren. Verwendung: Non-custodiale Generierung temporärer Keys für bestimmte Auth-Flows. Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "key": "ed25519:AAAA..."
  }
}

Pool-Endpunkte

Konfiguration von Perpetual-Märkten.

GET /pool/default-list

Gibt eine Liste der Standard-Perp-Märkte mit 24h/7d/30d-Volumen zurück. Verwendung: Füllen Sie den Marktauswahlbereich oder ein Dashboard-Widget mit verfügbaren Perp-Paaren. Antwort:
{
  "id": "...",
  "success": true,
  "data": [
    {
      "symbol": "BTC/USDC",
      "volume24h": "1000000",
      "volume7d": "7000000",
      "volume30d": "30000000"
    }
  ]
}

Campaign-Endpunkte

Leaderboards, Benutzerstatistiken und Belohnungsdaten.

GET /campaign/configs

Gibt aktive Kampagnenparameter und Regeln zurück. Verwendung: Zeigen Sie Kampagnenbedingungen und Partizipationsanforderungen in der UI an.

GET /campaign/user?wallet=...&index=0

Gibt die Kampagnenstatistiken eines Benutzers zurück (Volumen, P&L, Score, verdiente Belohnungen). Verwendung: Zeigen Sie im Benutzerprofil oder im Konto-Dashboard an. Antwort (Benutzer ohne Historie setzt Daten auf Null):
{
  "id": "...",
  "success": true,
  "data": {
    "userInfo": {
      "index": "42",
      "walletAddress": "11111...1111",
      "volume": 500000,
      "pnl": 25000,
      "pnlW": 22500,
      "score": 850,
      "rewards": [...]
    }
  }
}

GET /campaign/list?index=0

Gibt das Leaderboard für einen bestimmten Kampagnenindex zurück (paginiert). Verwendung: Zeigen Sie Top-Trader und Rankings an. Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "updateTime": 1699999999000,
    "rows": [
      {
        "rank": 1,
        "wallet": "11111...1111",
        "volume": 5000000,
        "pnl": 250000,
        "score": 9500
      }
    ]
  }
}

Share-Endpunkte

Generieren Sie teilbare Position-Screenshots.

POST /share/position

Generiert ein teilbares Bild der aktuellen Perp-Position des Benutzers. Verwendung: Soziale Weitergabe (Twitter, Discord) von aktiven Positionen. Anfrage:
{
  "symbol": "BTC/USDC",
  "side": "long",
  "size": "0.5",
  "entryPrice": "45000",
  "markPrice": "46000",
  "pnl": "500",
  "leverage": "5x"
}
Antwort:
{
  "id": "...",
  "success": true,
  "data": {
    "imgFileName": "abc123def456",
    "msg": "Position image generated"
  }
}

POST /share/history-position

Generiert ein teilbares Bild einer geschlossenen Position mit realisiertem P&L. Verwendung: Teilen Sie geschlossene Trades mit Gewinn-/Verlustdetails. Anfrage:
{
  "symbol": "ETH/USDC",
  "side": "short",
  "size": "10",
  "entryPrice": "2500",
  "exitPrice": "2450",
  "realizedPnl": "500"
}
Antwort: Wie /share/position.

Response-Envelope

Alle Endpunkte geben einen Standard-Envelope zurück:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": true,
  "data": { ... }
}
Bei Fehler:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": false,
  "msg": "Error message or code"
}

Caching

Die meisten Endpunkte geben einen cache-control: max-age=60 Header zurück, was bedeutet:
  • Die Ergebnisse werden auf dem Server gecacht und alle 60 Sekunden aktualisiert
  • Clients können ebenfalls für 60 Sekunden cachen, um die Last zu reduzieren
  • Echtzeitdaten sind nicht garantiert; erwartet 0–60 Sekunden Veraltung

Regionale Verfügbarkeit

Regionale Beschränkungen werden über den cf-ipcountry Header (Cloudflare) verwaltet. Unterstützte Regionen und Beschränkungen werden serverseitig konfiguriert und regelmäßig aktualisiert.

Netzwerk-Endpunkte

UmgebungHost
Productionapi-perp-v1.raydium.io
Es gibt keine Devnet-Version; Perp-Trading ist nur auf Mainnet verfügbar.

Integration mit Orderly Network

Um eine Order aufzugeben:
  1. Rufen Sie /campaign/user oder /main/info auf, um Metadaten zu holen und dem Benutzer anzuzeigen
  2. Senden Sie die Order an die Orderly Network API (nicht diese API)
  3. Orderly gibt eine Handelsbestätigung und den Positionszustand zurück
  4. Rufen Sie /campaign/user später erneut auf, um aktualisierte Statistiken zu sehen
Die Raydium Perp API verwaltet keine Orderaufgabe; sie ist rein ein Read-Only-Service für Metadaten und Konfiguration.

Siehe auch