> ## 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.

# Aperçu de l'API Perps

> Service de configuration et de métadonnées pour Raydium Perpetual Futures.

<Info>
  **Cette page est traduite automatiquement par IA. La version anglaise fait foi.**

  [Voir la version anglaise →](/api-reference/perp-api-v1/overview)
</Info>

## Qu'est-ce que l'API Perps ?

L'API Raydium Perps (V1) est un service de configuration et de métadonnées pour le frontend Raydium Perpetual Futures et les intégrations. Elle fournit :

* **Configuration de l'interface utilisateur** – version actuelle, support des versions minimales
* **Points de terminaison RPC** – points de terminaison Solana RPC approuvés pour l'interface utilisateur
* **Statistiques de marché** – volume de trading et intérêt ouvert sur 24h/7j/30j
* **Restrictions régionales** – vérifications de disponibilité par pays
* **Métadonnées des pools** – marchés perp actifs et données de volume
* **Données de campagne** – classements, statistiques utilisateur et récompenses
* **Partage P\&L** – générer des captures d'écran de positions partageables

**Important** : Le placement des ordres lui-même est géré par l'API d'Orderly Network. Ce service se concentre sur le support frontend et les métadonnées.

## Aperçu de l'architecture

Le système Perps se compose de deux composants indépendants :

1. **API Raydium Perp (ce service)** – Lit la configuration, fournit les données de l'interface utilisateur, génère les images
2. **Orderly Network** – Exécute les ordres, gère les positions et le règlement

Lorsqu'un utilisateur place un ordre perp via l'interface Raydium :

1. L'interface récupère la configuration du marché depuis cette API (pools, RPC, disponibilité)
2. L'interface envoie l'ordre à l'API d'Orderly Network
3. Orderly exécute l'ordre et maintient l'état de la position
4. L'interface récupère les données de position et les statistiques depuis l'API d'Orderly ou notre point de terminaison de campagne

Cette séparation permet à Raydium de gérer les métadonnées et la marque, tandis qu'Orderly gère le travail lourd de l'appariement des ordres et du règlement.

## Points de terminaison API par catégorie

### Points de terminaison principaux

Informations sur le service principal et vérifications de disponibilité.

#### `GET /main/version`

Retourne la version stable actuelle de l'interface utilisateur et la version minimale supportée.

**Utilisation** : Vérifier si la version de l'interface utilisateur du client est toujours supportée.

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "latest": "1.2.0",
    "least": "1.0.0"
  }
}
```

#### `GET /main/rpcs`

Retourne les points de terminaison Solana RPC approuvés pour l'interface utilisateur.

**Utilisation** : Remplir le sélecteur RPC dans l'interface utilisateur ; garantit que les clients se connectent à des points de terminaison stables et approuvés par Raydium.

#### `GET /main/info`

Retourne les statistiques du marché global.

**Utilisation** : Afficher le volume 24h, le volume 7d, le volume 30d et l'intérêt ouvert total/long/court sur le tableau de bord.

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "volume": {
      "24h": 1234567,
      "7d": 9876543,
      "30d": 50000000
    },
    "openInterest": {
      "long": 5000000,
      "short": 3000000,
      "all": 8000000
    }
  }
}
```

#### `GET /main/availability-check`

Vérifie si le trading perp est disponible dans la région de l'utilisateur.

**Utilisation** : Avertir ou restreindre l'accès dans les régions restreintes (par exemple, USA).

**Fonctionnement** :

* Lit l'en-tête `cf-ipcountry` depuis Cloudflare (si derrière Cloudflare)
* Revient à une configuration par défaut si l'en-tête est absent
* Retourne le statut de disponibilité par région

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "available": true,
    "country": "US"
  }
}
```

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

Génère une paire de clés Ed25519 temporaire pour l'authentification initiale ou la signature temporaire.

**Utilisation** : Génération de clé temporaire non-custodiale pour certains flux d'authentification.

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "key": "ed25519:AAAA..."
  }
}
```

### Points de terminaison des pools

Configuration du marché perpétuel.

#### `GET /pool/default-list`

Retourne la liste des marchés perp par défaut avec le volume 24h/7d/30d.

**Utilisation** : Remplir le sélecteur de marché ou le widget du tableau de bord avec les paires perp disponibles.

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": [
    {
      "symbol": "BTC/USDC",
      "volume24h": "1000000",
      "volume7d": "7000000",
      "volume30d": "30000000"
    }
  ]
}
```

### Points de terminaison de campagne

Données de classement, statistiques utilisateur et récompenses.

#### `GET /campaign/configs`

Retourne les paramètres et règles de campagne actifs.

**Utilisation** : Afficher les conditions de la campagne et les exigences de participation dans l'interface utilisateur.

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

Retourne les statistiques de campagne d'un utilisateur (volume, P\&L, score, récompenses gagnées).

**Utilisation** : Afficher dans le profil ou le tableau de bord du compte de l'utilisateur.

**Réponse** (utilisateur sans historique par défaut avec les données à zéro) :

```json theme={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`

Retourne le classement pour un index de campagne donné (paginé).

**Utilisation** : Afficher les meilleurs traders et les classements.

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "updateTime": 1699999999000,
    "rows": [
      {
        "rank": 1,
        "wallet": "11111...1111",
        "volume": 5000000,
        "pnl": 250000,
        "score": 9500
      }
    ]
  }
}
```

### Points de terminaison de partage

Générer des captures d'écran de position partageables.

#### `POST /share/position`

Génère une image partageables de la position perp actuelle de l'utilisateur.

**Utilisation** : Partage sur les réseaux sociaux (Twitter, Discord) des positions actives.

**Requête** :

```json theme={null}
{
  "symbol": "BTC/USDC",
  "side": "long",
  "size": "0.5",
  "entryPrice": "45000",
  "markPrice": "46000",
  "pnl": "500",
  "leverage": "5x"
}
```

**Réponse** :

```json theme={null}
{
  "id": "...",
  "success": true,
  "data": {
    "imgFileName": "abc123def456",
    "msg": "Position image generated"
  }
}
```

#### `POST /share/history-position`

Génère une image partageable d'une position fermée avec P\&L réalisé.

**Utilisation** : Partager les trades fermés avec les détails de profit/perte.

**Requête** :

```json theme={null}
{
  "symbol": "ETH/USDC",
  "side": "short",
  "size": "10",
  "entryPrice": "2500",
  "exitPrice": "2450",
  "realizedPnl": "500"
}
```

**Réponse** : Identique à `/share/position`.

## Enveloppe de réponse

Tous les points de terminaison retournent une enveloppe standard :

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": true,
  "data": { ... }
}
```

En cas d'erreur :

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "success": false,
  "msg": "Error message or code"
}
```

## Mise en cache

La plupart des points de terminaison retournent un en-tête `cache-control: max-age=60`, ce qui signifie :

* Les résultats sont mis en cache côté serveur et mis à jour toutes les 60 secondes
* Les clients peuvent également mettre en cache pendant 60 secondes pour réduire la charge
* Les données en temps réel ne sont pas garanties ; attendez-vous à une obsolescence de 0 à 60 secondes

## Disponibilité régionale

Les restrictions régionales sont gérées via l'en-tête `cf-ipcountry` (Cloudflare). Les régions supportées et les restrictions sont configurées côté serveur et mises à jour régulièrement.

## Points de terminaison réseau

| Environnement | Hôte                     |
| ------------- | ------------------------ |
| Production    | `api-perp-v1.raydium.io` |

Aucune version devnet n'est disponible ; le trading perp est réservé à mainnet.

## Intégration avec Orderly Network

Pour placer un ordre :

1. Appelez `/campaign/user` ou `/main/info` pour récupérer les métadonnées et les afficher à l'utilisateur
2. Envoyez l'ordre à **l'API d'Orderly Network** (pas à cette API)
3. Orderly retourne une confirmation de trade et l'état de la position
4. Appelez `/campaign/user` à nouveau plus tard pour voir les statistiques mises à jour

L'API perp de Raydium ne gère pas le placement des ordres ; elle est purement en lecture seule pour les métadonnées et la configuration.

## Voir aussi

* [Spécification OpenAPI](/fr/api-reference/openapi/perp-api-v1.yaml)
* [Raydium Perpetual Futures](/fr/products/perps)
* [Orderly Network](https://orderly.network)
