Aller au contenu principal

API de Marché de Prédiction

L'API de Marché de Prédiction est un carnet d'ordres et un moteur de correspondance autonomes pour les marchés de prédiction binaires. Elle fournit aux opérateurs les outils nécessaires pour créer des marchés, accepter des ordres de joueurs, faire correspondre des transactions, suivre les positions et régler les marchés résolus.

Aperçu de l'Architecture

La plateforme fonctionne sur un modèle multi-locataire où chaque Opérateur gère ses propres marchés et joueurs de manière indépendante. Le moteur de prédiction prend en charge :

  • Gestion des Marchés — Créer, ouvrir, suspendre, reprendre, fermer, résoudre et régler des marchés
  • Correspondance des Ordres — Carnet d'ordres à cours limité continu avec correspondance par priorité prix-temps
  • Suivi des Positions — Données de position agrégées par opérateur et par résultat
  • Règlement — Enregistrement des paiements pour les positions gagnantes après la résolution du marché
  • Données en Temps Réel — Diffusion WebSocket, webhooks et relecture d'événements pour une livraison fiable

Modèle d'Intégration

┌──────────────┐         ┌─────────────────────┐
│ Operator │────────▶│ Prediction Market │
│ Backend │ REST │ Engine │
│ │ gRPC │ │
│ - Users │ WS │ - Markets │
│ - Wallets │◀────────│ - Order Book │
│ - Sessions │ Webhooks│ - Matching │
│ │ │ - Positions │
└──────────────┘ │ - Settlements │
└─────────────────────┘

Les opérateurs sont responsables de :

  • Gérer les comptes et sessions des joueurs
  • Gérer les soldes des portefeuilles des joueurs
  • Valider qu'un joueur peut se permettre un ordre avant de le soumettre
  • Créditer les portefeuilles des joueurs en fonction des données de paiement au règlement

Le Moteur de Prédiction est responsable de :

  • La gestion du cycle de vie des marchés
  • La validation des ordres (statut du marché, limites de prix/parts, vérifications de position côté vente)
  • La correspondance des ordres et l'exécution des transactions
  • L'agrégation des positions
  • La création des enregistrements de règlement avec les montants de paiement

Interfaces API

InterfaceProtocolePort par DéfautCas d'Usage
REST APIHTTP/JSON8084Intégration principale — gestion des marchés, trading, requêtes
gRPCProtocol Buffers50055Intégration haute performance — placement d'ordres à faible latence
WebSocketWS/JSON8084 (/ws)Diffusion en temps réel — prix, transactions, mises à jour du carnet d'ordres
WebhooksHTTP POSTLivraison d'événements backend à backend avec signature HMAC
Event ReplayHTTP/JSON8084Récupération des événements manqués (rétention de 24 heures)

Exemple Rapide

# 1. Create a market
curl -X POST https://polymarket.sandbox.playbatman.com/api/v1/markets \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"title": "Will it rain tomorrow?",
"description": "Resolves YES if rainfall > 0mm recorded by 11:59 PM",
"outcomes": [
{ "name": "Yes" },
{ "name": "No" }
]
}'

# 2. Open the market for trading
curl -X POST https://polymarket.sandbox.playbatman.com/api/v1/markets/{marketId}/open \
-H "X-Api-Key: your-api-key"

# 3. Place an order on behalf of a player
curl -X POST https://polymarket.sandbox.playbatman.com/api/v1/orders \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"marketId": "{marketId}",
"outcomeId": "{outcomeId}",
"playerId": "player-123",
"side": "BUY",
"type": "LIMIT",
"shares": 10,
"price": 0.65
}'