Passer au contenu principal
Placer un pari sur counsel revient à envoyer un Payment XRP natif. Vous l’envoyez vers le compte pool d’un marché, avec le DestinationTag réglé sur l’indice de l’issue et le SourceTag réglé sur le tag d’attribution de counsel. counsel construit le Payment non signé et vous montre les cotes projetées. Vous le signez dans votre propre portefeuille et le soumettez. Il n’y a pas d’étape de dépôt et aucune clé côté counsel dans le chemin. Le flux est non custodial de bout en bout. Cette page parcourt le chemin développeur canonique : GET /markets pour trouver un marché et une issue, puis GET /markets/:id/bet-intent pour obtenir un Payment non signé ainsi que les cotes projetées après votre mise, puis signer et soumettre.
1

Trouver un marché et une issue

Listez les marchés ouverts et choisissez-en un. Chaque marché porte ses issues ; l’indice de l’issue est ce qui va dans le DestinationTag.
curl https://api.counsel.markets/markets
Vous pouvez aussi récupérer un marché unique par son id avec GET /markets/:id.
2

Récupérer une intention de pari

Appelez GET /markets/:id/bet-intent avec votre account, l’indice outcome et le montant amount en XRP. La réponse vous fournit un Payment XRPL non signé prêt à être signé, ainsi que les cotes projetées pour cette issue une fois votre mise ajoutée au pool.
curl "https://api.counsel.markets/markets/MARKET_ID/bet-intent?account=rYOUR_ADDRESS&outcome=0&amount=5"
account
string
requis
L’adresse XRPL qui signera et enverra le pari. Utilisée pour adresser le Payment non signé.
outcome
integer
requis
L’indice de l’issue. Il devient le DestinationTag du Payment.
amount
number
requis
Votre mise en XRP.
Le Payment non signé est adressé au compte pool du marché, avec le DestinationTag réglé sur l’indice de votre issue et le SourceTag réglé sur le tag d’attribution de counsel.
Les cotes projetées sont indicatives. counsel est parimutuel, donc chaque pari ultérieur de n’importe quel participant déplace la ligne jusqu’au bet_cutoff. La répartition est calculée à partir de l’état réel du pool à la clôture, et non à partir du chiffre affiché au moment où vous avez signé. Voir Cotes et payouts.
3

Signer dans votre propre portefeuille

Signez le Payment non signé avec votre propre clé. counsel ne voit jamais votre secret. Dans l’application, c’est Xaman, GemWallet ou Crossmark ; pour un bot, c’est votre client qui signe avec sa propre seed.
Vérifiez le Destination, le Amount, le DestinationTag et le SourceTag avant de signer. Le DestinationTag correspond à l’issue sur laquelle vous pariez ; un tag erroné dirige votre mise vers un autre pool d’issue.
4

Soumettre au XRPL

Soumettez le Payment signé au XRPL. Lorsqu’il est inclus dans un ledger validé, counsel le lit depuis l’historique des transactions du compte pool, dirige votre mise vers le pool d’issue désigné par le DestinationTag, et met à jour le tableau d’affichage des cotes.
// placeBet does it all: fetch intent, sign with your key, submit.
const hash = await counsel.placeBet(process.env.BOT_SEED, market.id, 0, 5);
console.log("bet placed:", hash);

Tout le flux avec counsel-js

placeBet condense les quatre étapes en un seul appel : il récupère l’intention non signée, la signe avec la seed que vous passez, et la soumet. La seed reste sur votre machine.
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);

Signature non custodiale

counsel construit le Payment mais ne le détient jamais. L’étape de signature se déroule entièrement dans votre portefeuille ou votre client, avec votre clé.

counsel construit, vous signez

Le endpoint bet-intent renvoie un Payment non signé. La signature et la soumission vous appartiennent. counsel ne relaie ni ne proxie votre transaction signée.

Les pools sont en multisig

Les mises atterrissent dans des comptes propres à chaque marché, sécurisés par une SignerList multisig avec la clé maître désactivée. Aucune clé unique ne peut déplacer les fonds.

Tout est on-chain

Votre pari est un Payment taggé dans l’historique des transactions du compte pool. N’importe qui peut l’indexer et recalculer l’état du pool.

Les bots sont de premier ordre

Un bot est un client XRPL ordinaire : lire un marché, récupérer une intention non signée, signer avec sa propre clé, soumettre. Le même chemin que l’application.

Suivre votre position

Une fois votre pari atterri, relisez-le par adresse.
curl https://api.counsel.markets/accounts/rYOUR_ADDRESS/positions
Si votre issue gagne, le Payment de payout arrive automatiquement à votre adresse après la résolution. Vous n’avez rien à réclamer ni à retirer. Si un pool est annulé (unilatéral, sans gagnant, événement annulé ou oracle obsolète), chaque mise est intégralement remboursée sans frais.
Consultez la Référence API pour l’ensemble complet des endpoints en lecture seule, dont /accounts/:address/feed, /accounts/:address/profile et /leaderboard.