Définir la portée du flux avant de vous connecter
UnpreconfSubscribe sans filtre transmet chaque transaction au coût de 10 crédits. Appliquez des filtres côté serveur pour limiter la facture aux transactions sur lesquelles vous intervenez. Chaque abonnement est facturé indépendamment lorsqu’il reçoit au moins un message dans un slot couvert éligible. Regroupez donc, lorsque cela est possible, les filtres de comptes dans un seul abonnement. Utilisez regionInclude pour limiter la facturation aux régions dont vous avez besoin, définissez includeSource: ["helius"] lorsque vous n’avez pas besoin de BAM et suivez vos crédits dans le tableau de bord Helius.
failed: falseélimine les transactions déjà connues pour avoir été annulées, que vous n’avez aucune raison de précipiter.regionIncludeancre le flux à la région la plus proche de votre infrastructure, afin qu’un saut interrégional ne consomme pas l’avance.accountIncludecorrespond à toute tx référencée par votre cible : un portefeuille, un pool AMM, un programme, etc. Helius résout les tables de consultation d’adresses côté serveur, donc le filtre correspond même lorsque le compte est chargé via un ALT.
Connectez-vous, abonnez-vous et décodez
preconfSubscribe est servi depuis le point de terminaison Gatekeeper (wss://beta.helius-rpc.com), et les notifications arrivent sous forme de trames binaires, pas JSON.
Chaque trame est un préfixe immuable de 18 octets suivi de la transaction sérialisée en bincode :
listener.js
Agir avec Sender Max
Une préconfirmation ne rapporte que si votre réponse arrive en premier. Envoyez votre réaction via Sender Max : le pourboire de 0,001 SOL entre dans le tampon de pourboire prioritaire et est acheminé via chaque voie à haute vitesse :Confirmez l’atterrissage et attendez-vous à des écarts
Une préconfirmation est un aperçu précoce. La transaction n’a pas encore atterri et peut encore échouer ou être abandonnée, donc deux règles s’appliquent :- Confirmez via des vérifications d’engagement standard (
getSignatureStatuses, ou un fluxprocessed-engagement) avant de considérer la transaction observée ou votre réaction comme définitive. - Attendez-vous à des écarts. La couverture évolue avec la part du jalonnement transférée à Helius, donc certains créneaux ne produisent aucun message. C’est un comportement attendu plutôt qu’une connexion interrompue, et le ping keepalive différencie les deux. Réabonnez-vous à la fermeture.
Guides associés
Référence API preconfSubscribe
Semantiques complètes des filtres, codes régionaux et disposition de la charge utile binaire
Commerce sur les Transactions Prétraitées
Couverture pré-exécution à 0,1 crédit par message, sur tous les plans payants