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

# Démarrage rapide développeur

> Passez de zéro à votre premier appel à l'API counsel et à votre premier pari construit en quelques minutes.

counsel est un marché de prédiction parimutuel natif L1 sur le XRP Ledger. Il n'y a ni bridge, ni smart contract, ni base de données de référence : le ledger est le registre, le pool et la piste d'audit. En tant que développeur, vous lisez les marchés via une API REST publique, vous construisez un Payment XRPL non signé, et vous le signez vous-même dans votre propre wallet.

Ce démarrage rapide vous guide à travers le parcours développeur canonique : lister les marchés, construire un pari, le signer et le soumettre.

<Note>
  Aucune clé d'API n'est requise. L'API REST est en lecture seule et publique. counsel ne détient jamais votre clé et ne signe jamais à votre place : vous signez toujours vos propres transactions dans votre propre wallet. Non-custodial par construction.
</Note>

<Steps>
  <Step title="Appelez l'API publique et lisez les cotes en direct">
    Listez les marchés ouverts et lisez le tableau d'affichage des cotes en direct. Chaque issue indique `implied_prob` (la part de l'issue dans le pool) et `payout_per_unit` (le montant indicatif en XRP reversé pour 1 XRP misé si cette issue gagne, après les frais).

    <CodeGroup>
      ```bash curl theme={null}
      curl https://api.counsel.markets/markets
      ```

      ```ts counsel-js theme={null}
      import { Counsel } from "counsel-js";

      const counsel = new Counsel({ baseUrl: "https://counsel.markets" });
      const { markets } = await counsel.markets();
      console.log(markets[0]);
      ```
    </CodeGroup>

    Choisissez un marché et l'index de l'issue sur laquelle vous voulez parier. L'index de l'issue devient le `DestinationTag` du Payment de votre pari.
  </Step>

  <Step title="Construisez un pari non signé">
    Demandez à l'API de construire le pari pour vous. `GET /markets/:id/bet-intent` prend votre `account`, l'index `outcome`, et le `amount` en XRP, et renvoie un Payment XRPL non signé ainsi que les cotes projetées une fois votre mise ajoutée au pool.

    <CodeGroup>
      ```bash curl theme={null}
      curl "https://api.counsel.markets/markets/MARKET_ID/bet-intent?account=YOUR_ADDRESS&outcome=0&amount=5"
      ```

      ```ts counsel-js theme={null}
      const intent = await counsel.betIntent({
        marketId: markets[0].id,
        account: "YOUR_ADDRESS",
        outcome: 0,
        amount: 5,
      });
      console.log(intent);
      ```
    </CodeGroup>

    Le Payment est un `Payment` XRP natif vers le compte du pool du marché, avec le `DestinationTag` réglé sur l'index de l'issue et le `SourceTag` réglé sur le tag d'attribution de counsel. Les cotes projetées vous permettent de prévisualiser l'effet de votre mise sur le tableau d'affichage avant de valider.

    <Tip>
      Les cotes sont indicatives tant qu'un marché est ouvert et deviennent définitives au `bet_cutoff`. Des frais forfaitaires de 3 % sont prélevés sur l'ensemble du pool brut avant la répartition, jamais sélectivement sur les gagnants.
    </Tip>
  </Step>

  <Step title="Signez-le et soumettez-le">
    Signez le Payment non signé avec votre propre clé dans votre propre wallet (Xaman, GemWallet, Crossmark, ou n'importe quel client XRPL), puis soumettez-le au XRP Ledger. counsel est non-custodial : la signature se fait entièrement de votre côté.

    Le SDK `counsel-js` regroupe le fetch, la signature et la soumission en un seul appel lorsque vous fournissez votre propre seed.

    <CodeGroup>
      ```ts counsel-js theme={null}
      import { Counsel } from "counsel-js";

      const counsel = new Counsel({ baseUrl: "https://counsel.markets" });
      const { markets } = await counsel.markets();

      // fetch an unsigned bet intent, sign with your own key, submit
      const hash = await counsel.placeBet(process.env.BOT_SEED, markets[0].id, 0, 5);
      console.log("bet placed:", hash);
      ```
    </CodeGroup>

    Une fois la transaction validée, votre mise est dans le pool. Le pool repose dans un compte propre à chaque marché, sécurisé par une SignerList multisig avec la master key désactivée, de sorte qu'aucune clé seule ne peut déplacer les fonds, et tout est on-chain et recalculable.
  </Step>
</Steps>

## Étapes suivantes

<CardGroup cols={2}>
  <Card title="Aperçu de l'API" href="/api/overview">
    La surface REST complète en lecture seule : marchés, positions, flux, profils, et le classement.
  </Card>

  <Card title="Créer des bots" href="/guides/building-bots">
    Un bot est un client XRPL ordinaire. Il lit un marché, récupère un intent non signé, le signe avec sa propre clé, et le soumet.
  </Card>
</CardGroup>
