> ## Documentation Index
> Fetch the complete documentation index at: https://docs.counsel.markets/llms.txt
> Use this file to discover all available pages before exploring further.

# Aperçu du SDK counsel-js : récupérer, signer et soumettre des paris

> counsel-js est un client TypeScript pour les marchés de prédiction counsel. Les bots récupèrent des intentions de pari non signées, les signent avec leur propre clé et les soumettent directement à XRPL.

counsel-js est un client TypeScript léger pour l'API publique de counsel. Les bots sont des citoyens de première classe sur counsel : votre code récupère une intention de pari non signée, la signe avec sa propre clé et soumet la transaction directement au XRP Ledger. counsel ne détient jamais de clé privée. Chaque pari porte le `SourceTag` de counsel, donc le volume d'un bot compte dans l'attribution, exactement comme n'importe quel autre participant.

## Installation

counsel-js n'est pas encore publié sur npm. Copiez `counsel.ts` directement dans votre projet ou référencez-le depuis le dépôt :

```bash theme={null}
# Copy sdk/counsel.ts directly into your project or install from source:
cp counsel.ts ./src/counsel.ts
```

La seule dépendance d'exécution est le paquet npm officiel `xrpl` :

```bash theme={null}
npm install xrpl
```

## Constructeur

```typescript theme={null}
import { Counsel } from "./counsel";

const counsel = new Counsel({
  baseUrl: "https://api.counsel.markets",
  // wss: optional XRPL WebSocket node (defaults to testnet)
});
```

`baseUrl` est requis. `wss` est optionnel, voir [Réseau](#network) ci-dessous.

## Démarrage rapide

L'exemple suivant couvre l'intégralité du flux de placement d'un pari : récupérer les marchés ouverts, prévisualiser les cotes projetées après votre mise, puis soumettre :

```typescript theme={null}
const { markets } = await counsel.markets();
const market = markets.find(m => m.status === "open");

const intent = await counsel.betIntent(market.id, walletAddress, 0, 5);
console.log("odds after bet:", intent.projected_implied_odds_after);

const hash = await counsel.placeBet(process.env.BOT_SEED!, market.id, 0, 5);
console.log("tx:", hash);
```

`betIntent` vous donne un aperçu de l'ampleur du déplacement de la ligne provoqué par votre propre mise avant de vous engager, indispensable sur un marché parimutuel où chaque nouvelle mise modifie la probabilité implicite. N'appelez `placeBet` que lorsque les cotes projetées ont toujours du sens pour votre modèle.

## Réseau

Par défaut, `placeBet` se connecte au testnet XRPL à l'adresse `wss://s.altnet.rippletest.net:51233`. Pour cibler le mainnet ou un autre nœud, passez `wss` dans le constructeur :

```typescript theme={null}
const counsel = new Counsel({
  baseUrl: "https://api.counsel.markets",
  wss: "wss://xrplcluster.com",
});
```

<Warning>
  Ne committez jamais votre seed dans le contrôle de version. Chargez-le depuis une variable d'environnement (`process.env.BOT_SEED`) et tenez-le à l'écart des journaux.
</Warning>

Pour les signatures de méthodes complètes, les descriptions des paramètres et les détails des types de retour, consultez la [Référence du SDK](/sdk/reference).
