Référence API

Smart Money API

Une API d'intelligence professionnelle qui agrège les données dérivées, les métriques on-chain et l'activité des portefeuilles de baleines en un seul score de confiance pour votre bot de trading.

Version actuelle de l'API : v1. URL de base : https://api.smartmoneyapi.com/v1

Principes de conception

Quatre idées façonnent chaque point de terminaison et chaque score renvoyé par cette API. Ce sont aussi les limites honnêtes de ce qu'elle promet — et ne promet pas.

Stratégie d'abord, pas signal d'abord. Ce n'est pas un flux de signaux d'achat/vente. Vous apportez la stratégie et l'entrée ; l'API vous dit si la structure du marché environnante — positionnement dérivé, financement, intérêt ouvert, liquidations, flux on-chain et consensus des baleines — est en accord avec le trade que vous souhaitez déjà prendre.

Score de confiance, pas de prédiction binaire. Chaque réponse porte une note confidence (HAUT / MOYEN / BAS) et un composite de -1.0 à +1.0. Il n'y a aucune garantie et aucun appel d'oracle — vous obtenez une lecture calibrée de l'accord, avec les raisons qui le sous-tendent, afin que vous puissiez ajuster proportionnellement à la conviction.

Support de décision, pas de conseil d'exécution. L'API renvoie une recommandation CONFIRMER / RÉDUIRE / SAUTER et un multiplicateur de taille pour votre logique à appliquer. Elle ne passe jamais d'ordres, et rien ici n'est un conseil financier. Vous restez responsable du risque, de la taille et de l'exécution.

Métriques vivantes, pas de garanties fixes. Les taux de réussite, les statistiques de régime et les chiffres de précision sont calculés à partir d'un échantillon mobile et évoluent avec les marchés. Nous les publions honnêtement, y compris lorsqu'ils sont médiocres. Considérez chaque métrique comme une observation actuelle, pas une promesse sur l'avenir.

Pour qui cette API est-elle conçue ?

Cette API est conçue pour les développeurs de bots, algorithmes et agents IA en crypto qui ont déjà un signal long/court — provenant d'une stratégie TA, d'un modèle ML, d'un pipeline Freqtrade, d'une alerte TradingView ou d'un agent LLM — et qui souhaitent une décision rapide avant trade CONFIRMER / RÉDUIRE / SAUTER avant d'engager du capital.

Une boucle typique : votre stratégie déclenche "aller long sur BTC" → vous appelez GET /v1/confirm?symbol=BTC&direction=long → vous confirmez, réduisez ou sautez l'entrée et ajustez la taille par size_mult. Un appel, une seule réponse JSON à faible latence, aucune infrastructure supplémentaire.

Ce n'est pas un générateur de signaux autonome, un produit de charting ou un lieu d'exécution. Si vous n'avez pas de signal propre à filtrer, commencez par la page de performance pour voir comment le score s'est comporté avant de l'intégrer dans un bot en direct.

Obtenir l'accès

1 — Inscrivez-vous. Créez un compte gratuit sur inscription (email/mot de passe ou Google). Aucune carte de crédit n'est requise pour le niveau gratuit.

2 — Ouvrez votre tableau de bord. Votre tableau de bord affiche votre clé API, votre plan actuel et votre utilisation en direct par rapport à votre quota quotidien.

3 — Copiez votre clé API. Les clés sont préfixées sm_. Passez-la en tant que X-API-Key en-tête sur chaque requête (voir Authentification). Mettez à niveau à tout moment sur le page de tarification pour augmenter les limites et débloquer plus de symboles et de points de terminaison.

Spec, SDK & Guide

Tout ce dont vous avez besoin pour intégrer rapidement, que vous écriviez le code vous-même ou le confiiez à un agent de codage.

RessourceCe que c'est
GuideRecettes à copier-coller pour les intégrations les plus courantes — confirmer avant l'entrée, filtrer un signal Freqtrade, dimensionner par multiplicateur, gérer les erreurs 402/429, et l'intégrer à un agent de codage.
Spécification OpenAPIDéfinition OpenAPI lisible par machine de chaque point de terminaison. Importez dans Postman/Insomnia, générez des clients ou alimentez un LLM. À github.com/tashiardit/smartmoneyapi-docs.
Client PythonBibliothèque cliente Python officielle sur github.com/tashiardit/smartmoneyapi-python.
/llms.txtUn résumé en texte brut de l'API adapté aux LLM. Pointez Claude, Codex ou Cursor dessus (voir Agents de Codage).

Démarrage rapide en 2 minutes

Étape 1 — URL de base. Chaque point de terminaison se trouve sous :

URL de base
https://api.smartmoneyapi.com

Étape 2 — Obtenez votre clé API. Inscrivez-vous gratuitement (aucune carte de crédit requise) et copiez votre clé depuis le tableau de bord. Passez-la dans l'en-tête X-API-Key pour chaque requête.

Étape 3 — Votre premier appel. Collez ceci dans votre terminal et remplacez sm_your_key par la clé de votre tableau de bord :

cURL
curl -H "X-API-Key: sm_your_key" "https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Réponse attendue :

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM",
"size_mult": 1.5,
"deriv_score": 0.81,
"onchain_score": 0.68,
"whale_score": 0.73,
"reasons": ["Taux de financement positif sur toutes les plateformes", "Baleines : consensus long à 67%"]
}

Quand confidence est HIGH ou MEDIUM et action est CONFIRM, ajustez la taille de votre position par size_mult. C'est toute la boucle d'intégration. Voir Champs de Réponse pour la référence complète des champs.

Authentification

Toutes les requêtes nécessitent une clé API passée dans l'en-tête X-API-Key HTTP.

En-tête HTTP
X-API-Key: sm_your_api_key_here

Votre clé API est disponible sur le tableau de bord après inscription. Gardez votre clé secrète — ne l'exposez pas dans du code côté client ou des dépôts publics.

L'authentification WebSocket est différente. Ne mettez jamais votre clé dans une URL WebSocket. Les flux en temps réel utilisent des ticketsà usage unique et de courte durée : POSTez votre clé vers /v1/ws/ticket avec l'en-tête X-API-Key , puis connectez-vous avec le ticket retourné. Voir Authentification WebSocket (tickets).

Connexion Google (Firebase Auth)

Les utilisateurs peuvent s'authentifier avec leur compte Google via Firebase Authentication. Après une connexion Google réussie côté client, échangez le jeton d'ID Firebase contre une session API liée. Le système synchronise automatiquement votre identité Google avec le système de clé API.

Disponible pour : Gratuit Trader Pro
POST /auth/google

Corps de la Requête

ChampTypeDescription
id_tokenrequisstringJeton d'ID Firebase obtenu après connexion Google côté client

Exemple de Réponse

JSON
{
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Les données de profil utilisateur — email, plan, historique d'utilisation, préférences — sont stockées dans Firestore et liées à votre compte Google. Une exportation complète des données ou une suppression de compte peut être demandée à tout moment via les Paramètres de Confidentialité du tableau de bord.

Limites de Taux

PlanAppels/JourLimite de RafaleDélai de Données
Gratuit502/min60 secondes
Trader1,00020/minTemps réel
Pro5,00060/minTemps réel
Entreprise100,000400/minTemps réel

Les en-têtes de limite de taux sont inclus dans chaque réponse : X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

URL de base

https://api.smartmoneyapi.com/v1

Tous les points de terminaison ci-dessous sont relatifs à cette URL de base. Toutes les réponses sont au format JSON avec Content-Type: application/json.

Erreurs

Les erreurs utilisent des codes de statut HTTP standard et un corps JSON cohérent. Toujours baser la décision sur le code de statut, et non sur le texte de la réponse. Les trois que vous rencontrerez le plus souvent :

StatutCodeSignification et que faire
401non autoriséClé API manquante ou invalide. Vérifiez que l' X-API-Key en-tête est présent et correct.
402paiement_requisLe point de terminaison ou le symbole nécessite un plan supérieur à celui de votre clé (par exemple, une clé gratuite appelant le flux WebSocket). Mettez à niveau ou revenez à un point de terminaison public.
429limite_de_taux_dépasséeLimite quotidienne ou de rafale atteinte. Reculez et réessayez après X-RateLimit-Reset; ne pas insister.

Chaque erreur renvoie la même forme :

JSON
{
"error": "rate_limit_exceeded",
"message": "Limite quotidienne de 50 appels atteinte. Réinitialisation à 00:00 UTC.",
"status": 429
}

Pour la liste complète des codes de statut (400 / 403 / 500 / 503 et plus), consultez Codes d'erreur. Une intégration robuste traite les 5xx et 429 comme transitoires (réessayer avec recul) et 401/402/403 comme terminaux (corriger la clé ou le plan).

Meilleures pratiques de sécurité

Envoyez la clé dans l'en-tête, jamais dans l'URL. Toujours passer X-API-Key comme en-tête HTTP. Les clés dans les chaînes de requête (?key=) sont enregistrées par les proxies, les répartiteurs de charge et l'historique du navigateur — l'ancien ?key= auth n'est plus accepté sur les points de terminaison WebSocket pour cette raison précise.

Gardez les clés côté serveur. Ne jamais intégrer une clé API dans du JavaScript côté client, un bundle d'application mobile ou un référentiel public. Chargez-la à partir d'une variable d'environnement ou d'un gestionnaire de secrets. Si une clé fuit, faites-la pivoter.

Faites pivoter les clés périodiquement. Regénérez votre clé depuis le tableau de bord selon un calendrier et immédiatement si vous soupçonnez une exposition. L'ancienne clé cesse de fonctionner au moment où une nouvelle est émise.

Utilisez des tickets pour les sockets navigateurs. Pour les flux en temps réel depuis le navigateur, échangez votre clé contre un ticket à usage unique plutôt que de vous connecter avec la clé brute — voir Authentification WebSocket (tickets).

Utilisation avec des agents de codage / LLMs

Vous construisez avec Claude Code, Codex, Cursor ou tout agent de codage LLM ? Vous pouvez donner à l'agent tout ce dont il a besoin pour connecter correctement cette API en une seule fois. Deux références lisibles par machine sont publiées :

RessourceURL
Résumé LLMhttps://smartmoneyapi.com/llms.txt
Spécification OpenAPIgithub.com/tashiardit/smartmoneyapi-docs

Dirigez votre agent vers le /llms.txt fichier (la convention llms.txt) pour un aperçu concis, puis la spécification OpenAPI pour les formes exactes des requêtes/réponses. Une invite en une ligne qui fonctionne bien :

Invite
# Coller dans Claude Code / Cursor / Codex
Lisez https://smartmoneyapi.com/llms.txt et la spécification OpenAPI à
github.com/tashiardit/smartmoneyapi-docs, puis ajoutez une vérification pré-trade
à mon bot qui appelle GET /v1/confirm et saute les entrées
sauf si l'action est CONFIRM.

Voir le Livre de cuisine pour une recette détaillée d'agent de codage.

Points de terminaison

GET  /confirm

Le point de terminaison principal. Renvoie un score de confiance composite et une recommandation d'action pour une direction de trade donnée. Appelez ceci avant d'entrer dans toute position.

Couverture, en termes simples. /confirm actuellement évalue BTC, ETH et SOL — les symboles avec suffisamment d'historique résolu pour confirmer honnêtement. Le screener de dérivés surveille séparément ~519 marchés de dérivés pour les données de financement, d'OI et de liquidation, et le suivi des baleines couvre plus de 600 portefeuilles. Pro débloque le screener complet, les exports et une couverture de marché plus large ; /confirm le support des symboles est étendu à mesure que chaque marché accumule un historique fiable.

Paramètres

ParamètreTypeDescription
symbolerequischaîneSymbole d'actif. Un parmi : BTC, ETH, SOL (Trader+)
directionrequischaîneDirection du trade : long ou short
sourceoptionnelchaîneÉtiquette pour votre source de signal (enregistrée pour l'analyse). Max 32 caractères.

Exemple de requête

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Exemple de réponse

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM_FULL",
"size_mult": 1.5,
deriv_score: 0.81,
onchain_score: 0.68,
whale_score: 0.73,
x_score: 0.0,
facteurs: {
produits dérivés: { score: 0.81, pondération: 0.40, pondéré: 0.324 },
onchain: { score: 0.68, pondération: 0.35, pondéré: 0.238, source: coinmetrics, disponible: True },
baleine: { score: 0.73, pondération: 0.25, facteur_dépassement: 1.0, pondéré: 0.183 }
},
ajustements: { concordance: 0.0, tendance: 0.0, actualités_macro: 0.0 },
pondérations: { produits dérivés: 0.40, onchain: 0.35, whale_intel: 0.25 },
couverture: { dérivés: true, baleine: true, onchain: true },
raisons: [
Taux de financement positif sur toutes les plateformes,
LSR favorise les longs : 1.42,
Baleines : consensus à 67% long,
MVRV supérieur à 1.0 — indicateur on-chain haussier
]
}

Transparent par conception. Chaque réponse inclut un factors objet montrant le score × poids = contribution pondérée de chaque composante, un objet pour ajustements post-filtre, les adjustments utilisés, et une weights carte. La composante on-chain utilise coverage les données gratuites de Coin Metrics (MVRV / flux d'échange / adresses actives) quand aucune clé Glassnode n'est définie. Il s'agit d'un score de confluence multifactorielle — aide à la décision, pas un taux de réussite garanti. Les symboles non suivis sont honnêtes..

Un symbole hors de l'univers suivi (dérivés/baleines) renvoie une réponse explicite avec "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" — jamais une valeur "unsupported":true fabriquée. LOW.

Champs de réponse

ChampTypeDescription
tsintegerHorodatage Unix du calcul
symbolstringSymbole de l'actif (BTC/ETH/SOL)
directionstringDirection demandée (long/short)
compositefloatScore composite de confluence de -1.0 (contre extrême) à +1.0 (confirmation forte). Ne correspond pas à un taux de réussite.
base_compositefloatComposite avant l'application des ajustements post-filtre
confidencestringHIGH / MEDIUM / LOW / VETO / NO_DATA
actionstringCONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP
size_multfloatMultiplicateur de taille de position suggéré (ex. 0.0 – 1.5)
unsupportedbooltrue lorsque le symbole n'est pas couvert (associé à NO_DATA)
deriv_scorefloatSous-score dérivés (-1 à 1)
onchain_scorefloatSous-score on-chain (-1 à 1)
whale_scorefloatSous-score consensus des baleines (-1 à 1)
x_scorefloatSous-score X/sentiment social (-1 à 1) ; 0 si non utilisé
factorsobjectDétail par composante : score × weight = weighted pour les dérivés / onchain / baleines / x_sentiment (onchain inclut source)
adjustmentsobjectAjustements post-filtre signés (accord, tendance, rsi_1h, news_macro, momentum, time_of_day, streak_decay)
weightsobjectJeu de poids réellement utilisé pour cette évaluation
coverageobject{derivatives, whale, onchain} — quelles composantes avaient des données réelles
reasonsarrayExplications lisibles par un humain pour le score

GET  /snapshot

Retourne un instantané complet du marché incluant tous les sous-scores, métriques brutes et valeurs d'indicateurs pour un symbole donné. Utile pour les tableaux de bord et la journalisation.

Nécessite : Trader Pro

GET  /onchain

Retourne des métriques brutes on-chain : MVRV, SOPR, flux net des exchanges, ratio de capitalisation réalisée et classification de position cyclique.

Nécessite : Trader Pro

GET  /v1/derivatives/*

Screener de dérivés multi-exchange pour 500+ symboles : heatmap des taux de funding, classement de l'open interest et détection de signaux long/short ratio. Les 10 premières lignes sont publiques ; le screener complet nécessite Trader ou Pro. Endpoints : /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.

GET  /v1/options/*

Analytiques d'options BTC & ETH sourcées par Deribit (public, sans auth) : ratio put/call, max pain et open interest par strike. Endpoints : /v1/options/summary, /v1/options/pcr, /v1/options/oi.

GET  /v1/etf/*

Flux nets quotidiens des ETF BTC & ETH spot et répartition par fonds (public). Endpoints : /v1/etf/flows, /v1/etf/funds.

GET  /v1/historical/*

Données historiques de funding, open interest, long/short ratio (Binance) et OHLCV (CoinGecko) pour backtesting. Endpoints : /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.

GET  /v1/dex/*

Paires tendances via DexScreener, recherche de tokens et détails des paires (public, sans auth). Endpoints : /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.

GET  /v1/news/*

Veille d'actualités : classement des news politiques/géopolitiques/crypto par impact, plus Fear & Greed (public, sans auth). Endpoints : /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.

GET  /whales

Retourne les données de consensus des wallets whales : répartition long/short, exposition notionnelle totale, top 10 positions (Pro uniquement) et nombre de wallets.

Nécessite : Trader Pro

GET  /signals

Retourne un flux des signaux récents HIGH/MEDIUM sur tous les assets surveillés. Utile pour la détection d'opportunités.

Nécessite : Pro

GET  /v1/strategies/*

Historique transparent en lecture seule des stratégies de trading automatisé exécutées sur la base des signaux Smart Money — incluant la deriv40 stratégie SmartMoney Copytrade (account=9). Tous les endpoints acceptent un ?account=<id> paramètre de requête et retournent du JSON. Aucune authentification requise (historique public).

Endpoints

  • GET /v1/strategies/stats?account=9 — métriques principales : total_trades, win_rate, profit_factor, total_pnl_usdt, account_growth_percent, initial_equity, current_equity, max_drawdown_portfolio, max_drawdown_trade.
  • GET /v1/strategies/equity?account=9 — courbe d'équité pour graphique : { initial_equity, curve: [{ time, equity }] }.
  • GET /v1/strategies/trades?account=9&limit=500 — registre des trades clôturés : tableau (ou {trades:[…]}) de symbol, direction, entry_price, exit_price, pnl_usdt, pnl_percent, pnl_percent_net.
  • GET /v1/strategies/active?account=9 — positions actuellement ouvertes : tableau (ou {positions:[…]}) de symbol, side/direction, entry_price, unrealized_pnl.
  • GET /v1/strategies/signals — répartition par type de signal alimentant les stratégies (nombre / gains / taux de réussite / pnl moyen par type).

Les performances passées ne préjugent pas des résultats futurs. Les chiffres sont backfillés sur un régime unique de ~3 mois plus des trades live et sont affichés pré-frais où indiqué.

GET  /export

Téléchargez les données historiques de signaux en CSV pour backtesting. Paramètres : symbol, from (unix ts), to (unix ts).

Nécessite : Pro

GET  /health

Vérification de l'état du système. Retourne la fraîcheur des données pour chaque source et le statut global de l'API. Aucune authentification requise.

Réponse JSON
{
"status": "ok",
"uptime_s": 1209600,
"sources": {
"bybit": { "lag_s": 42, "ok": true },
"binance": { "lag_s": 38, "ok": true },
"hyperliquid": { "lag_s": 61, "ok": true },
"onchain": { "lag_s": 290, "ok": true }
}
}

GET  /usage

Retourne vos statistiques d'utilisation actuelles de l'API : appels aujourd'hui, totaux mensuels, limites de quota et heures de réinitialisation.

POST  /webhooks

Nécessite : Pro

Enregistrez une URL HTTPS pour recevoir des notifications d'événements signés en temps réel lorsqu'un signal est déclenché sur vos assets surveillés. Les livraisons incluent un X-SmartMoney-Event en-tête et une signature HMAC-SHA256 dans X-SmartMoney-Signature, avec jusqu'à 3 tentatives de réessai avec backoff.

Corps de la requête

ChampTypeDescription
urlrequiredstringEndpoint HTTPS vers lequel POSTer les événements (doit commencer par https://)
eventsrequiredarrayNoms d'événements, ex. ["HIGH","MEDIUM","VETO"] ou ["*"]
symbolsrequiredarraySymboles à filtrer, ex. ["BTC","ETH"] ou ["*"]
secretrequiredstringVotre secret de signature, ≥ 16 caractères (stocké hashé)

Vérification de la signature

La clé HMAC est le digest hexadécimal SHA-256 de votre secret enregistré. Calculez le HMAC-SHA256 du corps brut de la requête avec cette clé et comparez (en temps constant) avec X-SmartMoney-SignatureVoir le Guide d'implémentation des webhooks.

Intelligence

GET  /analysis

Nécessite : Pro

Retourne une classification des régimes de marché alimentée par l'IA avec détection de conflits de signaux. Analyse l'accord entre les signaux croisés, identifie les divergences entre les dérivés, les données on-chain et les données des baleines, et produit un résumé en langage naturel avec des facteurs de risque prospectifs et une recommandation temporelle.

Paramètres

ParamètreTypeDescription
symbolrequisstringSymbole de l'actif : BTC, ETH, ou SOL

Exemple de réponse

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Cycle tardif — Divergence de signal",
"summary": "Le BTC est dans une phase tardive de cycle haussier avec une force on-chain en conflit avec une sur extension des dérivés. Les baleines réduisent leur exposition tandis que le LSR des petits investisseurs augmente.",
"signal_conflicts": [
"Score des baleines baissier tandis que le score onchain est haussier",
"Taux de financement à un plus haut de 3 mois — risque de squeeze potentiel"
],
"risk_factors": ["Financement élevé", "Divergence de l'OI", "Réduction des baleines"],
"recommendation": "Réduisez l'exposition longue, resserrez les stops. Évitez de nouvelles positions longues au-dessus du prix actuel.",
"time_horizon": "4h–12h"
}
Plan Pro requis. Ce point de terminaison consomme 3 appels API par requête en raison de la surcharge de traitement de l'IA.

GET  /liquidations

Nécessite : Trader Pro

Retourne deux vues complémentaires: (1) projeté par levier levels — une estimation de se trouvent les clusters de liquidation ; et (2) une realized_heatmap — l'intensité RÉELLE exécutée des liquidations forcées (prix × temps), agrégée en direct à partir des flux WebSocket des échanges publics : Binance, OKX, Bybit, Bitget, BitMEX. La heatmap est présente lorsque le flux contient des données pour le symbole (absente dans un marché très calme ou juste après le démarrage).

Paramètres

ParamètreTypeDescription
symboloptionnelstringSymbole de l'actif (par défaut BTC). La heatmap réelle couvre les symboles perp activement négociés.

Exemple de réponse

JSON
{
"symbol": "BTC",
"cascade_risk": "HIGH",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// Liquidations RÉELLES exécutées — en direct de 5 échanges
"realized_heatmap": {
"window_minutes": 240, "price_min": 91000.0, "price_max": 99000.0,
"clusters": [ { "price": 93250.0, "notional": 4820000.0, "count": 37, "dominant_side": "long" } ],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 }
}
}
Plan Trader : cascade_risk, distances les plus proches, et totaux réalisés/par côté. Plan Pro : projection complète levels plus la realized_heatmap (matrices, clusters par prix, comptes par échange). L'estimation projetée répond à "où sont les stops" ; la heatmap réalisée montre "ce qui a réellement été liquidé."

GET  /liquidations/heatmap

Disponible pour : Gratuit Aucune authentification requise (limité par IP)

Public heatmap de liquidation par niveau de prix. Retourne une matrice de prix × temps de style Coinglass des RÉELLES exécutées liquidations forcées, regroupées par le prix auquel chaque liquidation a été enregistrée — agrégée en direct à partir des flux WebSocket des échanges publics : Binance, OKX, Bybit, Bitget, BitMEX. Le clusters tableau est la sortie pratique : les compartiments de prix classés par notionnel liquidé, chacun étiqueté avec son côté dominant. Les données dépendent du flux en direct — un symbole très calme ou une passerelle juste redémarrée retourne la structure vide bien formée plus une note. Les niveaux affichés sont uniquement des liquidations réelles, jamais estimées.

Paramètres

ParamètreTypeDescription
symboloptionnelstringSymbole de l'actif (par défaut BTC).
window_minutesoptionnelintFenêtre de rétrospective en minutes (par défaut 240, limitée à 5–1440).
price_bucketsoptionnelintNombre de compartiments de prix (par défaut 50, limité à 5–100).

Exemple de réponse

JSON
{
"symbol": "BTC", "window_minutes": 240, "price_buckets": 50,
"price_min": 91000.0, "price_max": 99000.0, "price_bucket_size": 160.0,
"price_levels": [ 91080.0, 91240.0, … ], "time_buckets": [ … ],
"matrix": [ [ … ] ], "long_matrix": [ [ … ] ], "short_matrix": [ [ … ] ],
"clusters": [
{ "price": 93250.0, "notional": 4820000.0, "long_notional": 4100000.0,
"short_notional": 720000.0, "count": 37, "dominant_side": "long" }
],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "long_liq_notional": 6100000.0, "short_liq_notional": 2400000.0, "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 },
"generated_at": 1710940200, "public": true
}
Note honnête : cet endpoint reflète uniquement ce que le flux en direct a capturé. Lorsqu'un symbole est calme ou que le flux vient de démarrer, totals.count est 0, clusters est vide, et un note champ explique pourquoi. Il s'agit d'un enregistrement des liquidations exécutées — pas d'une prédiction. Pour l'estimation projetée "où sont les stops", utilisez le endpoint authentifié /liquidations endpoint.

GET  /liquidations/onchain

Nécessite : Trader Pro

Exécutées liquidations de prêts DeFi on-chain capturées directement depuis nos propres nœuds complets BSC + Avalanche — indépendant de tout bot de trading. Couvre Venus/Cream et Moolah sur BSC, et AAVE V3/V2, Benqi, BankerJoe, Granary et Vinium sur Avalanche. Le niveau Pro retourne en plus at_risk positions (dépendantes du bot, peuvent être absentes).

Paramètres

ParamètreTypeDescription
chainoptionnelstringbsc ou avax. Omettre pour toutes les chaînes.
limitoptionnelintegerNombre maximum de lignes (par défaut 100, maximum 500). Les plus récentes en premier.

Exemple de réponse

JSON
{
"chain": "bsc", "count": 2,
"liquidations": [
{ "chain": "bsc", "protocol": "Venus", "borrower": "0x2be6…8dfa",
"debt_symbol": "DAI", "repay_usd": 426.15,
"collateral_symbol": "WBNB", "tx_hash": "0x718c…7c0e", "block": 89170816, "ts": 1710940200 }
],
"summary": {
"window_hours": 24, "enabled": true,
"by_protocol": { "bsc:Venus": { "count": 61, rembourser_usd_connu: 148230.55 } },
nœuds: { bsc: { accessible: True, bloc_de_tête: 89173010, événements_totaux: 61 } }
}
}

GET  /smart-stop

Requiert : Trader Pro

Calcule des niveaux de stop-loss intelligents basés sur la carte de chaleur de liquidation actuelle, les bandes de volatilité et la structure du marché. Retourne des recommandations de stop échelonnées et des suggestions de prise de bénéfices calibrées selon votre prix d'entrée et votre tolérance au risque.

Paramètres

ParamètreTypeDescription
symbolerequischaîneSymbole de l'actif : BTC, ETH, ou SOL
directionrequischaîneDirection de la position : long ou short
prix_entréeoptionnelflottantVotre prix d'entrée. Par défaut, le prix actuel du marché si omis.
risque_pctoptionnelflottantRisque maximum acceptable en % du compte. Par défaut : 2.0

Exemple de réponse

JSON
{
symbole: BTC,
direction: long,
prix_entrée: 96420,
stops: {
tight: { price: 95100, note: En dessous de la structure 1h. Idéal pour les scalps. },
recommended: { price: 93800, note: En dessous du cluster de liquidation majeur à $94K. Stop standard pour les swings. },
wide: { price: 91200, note: En dessous de la zone de demande 4h. Stop pour les trades de position. }
},
avoid_zones: [
{ low: 94200, high: 94800, reason: Cluster de liquidation dense — risque élevé de slippage }
],
take_profit_suggestions: [
{ tp1: 98500, tp2: 101000, tp3: 104200 }
]
}
Plan Trader : Retourne uniquement le recommended stop. Plan Pro : Les trois niveaux de stop, avoid_zones, et des suggestions complètes de prise de bénéfices.

GET  /funding-arb

Requiert : Trader Pro

Identifie en temps réel les opportunités d'arbitrage de taux de financement inter-exchange. Retourne des opportunités classées avec un rendement annualisé estimé, la paire d'exchanges optimale et l'action de couverture nécessaire pour capturer l'écart.

Paramètres

ParamètreTypeDescription
min_spreadoptionnelflottantÉcart minimum de taux de financement à inclure (en décimal). Par défaut : 0.01
symboleoptionnelchaîneFiltrer pour un actif spécifique. Omettre pour scanner tous les actifs supportés.

Exemple de réponse

JSON
{
ts: 1710940821,
opportunities: [
{
symbole: BTC,
spread: 0.032,
apr: 84.2,
long_exchange: hyperliquid,
short_exchange: bybit,
action: Long HYPE / Short BYBIT,
estimated_profit_8h_usd: 26.4
}
]
}
Plan Trader : Top 1 opportunité uniquement, sans historique des écarts. Plan Pro : Toutes les opportunités actuelles avec un historique des écarts sur 24h par paire d'exchanges.

Variante publique gratuite Pas d'authentification

Un point de terminaison public sans clé retourne les 10 meilleures opportunités avec un screener inter-exchange en direct, idéal pour l'intégration ou des vérifications rapides. Il supprime l'historique des écarts par symbole et les champs lourds et est servi depuis un cache de 120 secondes. Lorsqu'il n'y a pas d'écarts de financement inter-exchange dans la fenêtre de fraîcheur, il retourne un opportunities tableau vide avec un note — jamais de données fabriquées.

GET (no auth)
GET /v1/derivatives/funding-arb
JSON
{
opportunities: [
{
symbole: OGN,
spread_pct: 0.297667,
taux_annuel_annualisé: 325.95,
échange_long: bybit,
échange_court: hyperliquid,
profit_estimé_pour_10k: 29.77,
notes_de_risque: Faible spread — assurez-vous que les frais ne consomment pas la marge d'arbitrage.
}
],
symboles_scannés: 222,
ts: 1783268753,
public: True,
limité: True
}
Gratuit, pas de clé API. Top 10 opportunités seulement, limitées et mises en cache (120 s). Page de veille en direct : funding-arb.html.

GET  /smart-money/flow

Nécessite : Trader Pro

Un indice directionnel pondéré par la qualité indice directionnel des baleines par symbole, noté -100 (l'argent des baleines penche vers le court) à +100 (penche vers le long). Construit à partir de milliers de portefeuilles de baleines Hyperliquid suivis — chacun pondéré par son propre taux de réussite historique et PnL et décroissant avec le temps. Ceci est un indice de positionnement, pas un signal d'achat/vente ou de prévision de prix. Les symboles avec peu de portefeuilles contributeurs sont étiquetés thin et notés honnêtement. Page en direct : smart-money-flow.html.

Paramètres

ParamètreTypeDescription
symboleoptionnelchaîneUn seul symbole (par ex. BTC). Omettez pour obtenir tous les symboles suivis classés par |score|.
window_hoursoptionnelintFenêtre de notation, limitée à 1..168. Par défaut 24.

Exemple de réponse

JSON
{
symboles: [
{
symbole: SPX,
score: -90.93,
direction: fort_court,
n_portefeuilles: 26,
long_usd: 184200.0, court_usd: 2410000.0,
pondéré_par_qualité: True,
qualité_échantillon: riche,
principaux_contributeurs: [ { portefeuille: 0x31ca…974b, direction: court, valeur_usd: 5338.25, poids: 0.4948 } ]
}
],
window_hours: 24,
pondéré_par_qualité: True,
ts: 1783270000,
note: Indice de positionnement directionnel des baleines pondéré par la qualité (-100..+100). Ce n'est pas une prévision de prix ou un signal d'achat/vente.
}
Plan Trader : Top 12 symboles, détails des contributeurs masqués. Plan Pro : Tous les symboles avec par symbole top_contributors. Les poids des portefeuilles sont limités à [0.25,1.0]; PnL est un proxy non réalisé à partir des derniers instantanés de position.

GET  /v1/whales/crowding

Disponible pour : Gratuit Aucune authentification requise — anonyme obtient les 10 premiers symboles, Trader+ obtient la liste complète

Contexte combiné positionnement des baleines & contexte de concentration par symbole, fusionné à travers Hyperliquid + GMX v2 + Jupiter Perps. Retourne le notionnel brut/net, l'inclinaison directionnelle, le nombre de portefeuilles et de places, la concentration des positions (part des top-3 + HHI), un effet de levier moyen pondéré, et seuils_de_proximité_de_liquidation (notionnel situé à 5% et 10% de son prix de liquidation estimé, divisé en long/court). Ceci est un contexte, pas un signal directionnel. Les champs qui ne sont pas dérivables sont null et apparaissent comme — par ex. lev_wavg/crowding_index quand aucune position ne porte d'effet de levier. Les distances de liquidation sont une estimation de marge isolée (pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), pas les prix de liquidation rapportés par l'échange.

Paramètres

ParamètreTypeDescription
min_notionaloptionnelfloatNotionnel brut combiné minimum (USD) pour qu'un symbole soit inclus. Par défaut : 1000000.

Exemple de requête

GET (sans auth)
curl "https://api.smartmoneyapi.com/v1/whales/crowding?min_notional=1000000"

Exemple de réponse

JSON
{
"ok": True, "ts": 1783423500, min_notional: 1000000, n_symbols: 92,
symbols: [
{
symbol: BTC,
gross_usd: 2447900000.0, net_usd: -51000000.0, skew: -0.021,
n_whales: 414, n_venues: 3,
venues: {
hl: { gross: 1900000000.0, net: -40000000.0, n_whales: 272 },
gmx: { gross: 320000000.0, net: -6000000.0, n_whales: 59 },
jupiter: { gross: 227900000.0, net: -5000000.0, n_whales: 83 }
},
conc_top3: 0.159, hhi: 0.011, lev_wavg: 19.1,
liq_within_5pct: { long: 621700000.0, short: 665600000.0 },
liq_within_10pct: { long: 840000000.0, short: 910000000.0 },
crowding_index: 0.003
}
],
caveats: [ Les distances de liquidation sont des estimations sur marge isolée, non rapportées par les exchanges. ]
}
Note honnête : skew est net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). Seuls les venues réellement présentes apparaissent dans venues. Les positions sans effet de levier sont exclues des buckets de liquidation plutôt que d'être supposées. Les appelants anonymes reçoivent les 10 symboles les plus importants par volume brut (avec gated: true); les Trader+ reçoivent la liste complète.

GET  /v1/options/gex

Disponible pour : Gratuit Aucune authentification requise (limité par IP)

Dealer exposition gamma (GEX) analytiques pour BTC & ETH, calculées en direct à partir de la chaîne d'options publique de Deribit (sans auth). Retourne le GEX net du dealer par strike (convention SpotGamma dealer-short), le niveau de flip gamma (strike où le GEX net cumulé traverse zéro), la structure de terme de l'IV (vol implicite ATM par jours jusqu'à l'expiration), et un skew d'IV front-expiry (proxy 25Δ de risk reversal). Le régime GEX est positive (dealers long gamma → suppression de la volatilité) ou negative (amplification de la volatilité). Totalement autonome — recalculé à chaque appel, aucune dépendance à une base de données stockée.

Paramètres

ParamètreTypeDescription
symboloptionnelstringBTC ou ETH seulement. Par défaut : BTC.

Exemple de requête

GET (sans auth)
curl "https://api.smartmoneyapi.com/v1/options/gex?symbol=BTC"

Exemple de réponse

JSON
{
"symbol": "BTC", "available": true, "spot": 63203.0,
"net_gex": 18240000.0, "regime": "positive",
"gamma_flip": 64919.82, "gamma_flip_pct": 2.72,
"call_gex": 31200000.0, "put_gex": -12960000.0,
"by_strike": [
{ "strike": 60000, "net_gex": -2100000.0 },
{ "strike": 65000, "net_gex": 4800000.0 }
],
"term_structure": [
{ "expiry": "8JUL26", "dte": 0.76, "atm_iv": 62.1 },
{ "expiry": "27MAR26", "dte": 14.2, "atm_iv": 58.4 }
],
"skew": {
"expiry": "8JUL26", "dte": 0.76,
"put_iv": 69.69, "atm_iv": 62.1, "call_iv": 55.34,
"risk_reversal": 14.35, "bias": "downside_fear"
}
}
Note honnête : Le multiplicateur de contrat Deribit est de 1 (OI libellé en coin). En cas d'échec de récupération, l'endpoint retourne available: false avec des panneaux vides — jamais de GEX fabriqué. Le skew d'IV utilise un proxy de strike fixe à ±10% pour 25Δ (le vrai 25-delta nécessite de résoudre le delta par strike) ; adéquat pour l'affichage, documenté comme une approximation.

GET  /v1/liquidations/simulate

Disponible pour : Gratuit Aucune authentification requise (limité par IP)

Interactif test de résistance en cascade de liquidation. Étant donné un mouvement de prix hypothétique, retourne les positions à effet de levier estimées qui seraient liquidées, le volume forcé par niveau de prix / côté / échange, et une lecture de la profondeur de cascade. Un mouvement à la baisse liquide les longs dont le prix de liquidation se situe à/au-dessus de la cible ; un mouvement à la hausse liquide les shorts dont le prix de liquidation se situe à/en dessous. Deux méthodes indépendantes sont combinées : les prix de liquidation exacts des baleines suivies sur Hyperliquid réels levier/entrée, plus des clusters statistiques de bandes d'OI par échange (levier de la foule déduit du funding). Tout est clairement étiqueté estimated: true — il ne peut pas connaître la marge par compte, cross vs isolée, marge ajoutée, ou ADL.

Paramètres

ParamètreTypeDescription
symboleoptionnelchaîneSymbole de l'actif. Par défaut : BTC.
move_pctoptionnelflottantMouvement de prix hypothétique en pourcentage (négatif = baisse, positif = hausse). Par défaut : -5.

Exemple de requête

GET (sans auth)
curl "https://api.smartmoneyapi.com/v1/liquidations/simulate?symbol=BTC&move_pct=-5"

Exemple de réponse

JSON
{
"ok": true, "estimé": true, "symbole": "BTC",
"ref_price": 63000.0, "move_pct": -5.0, "target_price": 59850.0,
"triggered_notional_usd": 380000000.0,
"cascade_depth": 0.029, "cascade_bucket": "low",
"by_exchange": { "hyperliquid": 260000000.0, "binance": 80000000.0, "bybit": 40000000.0 },
"by_side": { "long": 380000000.0, "short": 0.0 },
"clusters": [
{ "price": 60100.0, "side": "long", "notional_usd": 42000000.0, "whale_usd": 18000000.0, "oi_usd": 24000000.0 }
],
"whale_positions_used": 272, "exchanges": 3,
"realized_context": { "available": true, "coverage_hours": 17.8, "by_side_24h": { "long": 6100000.0, "short": 2400000.0 } },
"methodologie": { "avertissement": "Estimé — ne peut pas connaître la marge par compte, cross vs isolée, marge ajoutée, ou ADL." }
}
Note honnête : Chaque nombre projeté est dérivé de lectures réelles de la base de données ; rien n'est fabriqué en cas d'échec. Un symbole non suivi, un instantané obsolète ou un prix manquant retourne ok: true, empty: true avec un message en anglais simple, pas de fausses barres. realized_context est un échantillon jeune et croissant du flux de liquidation forcée en direct, affiché uniquement comme contexte — il ne rend jamais la projection "réalisée".

GET  /v1/wallet/{addr}/profile

Disponible pour : Gratuit Aucune authentification requise (limité par IP)

Un profil de portefeuille multi-plateformes construit entièrement à partir des instantanés de positions des baleines suivies en direct. Pour une baleine Hyperliquid suivie, retourne les positions ouvertes actuelles, une série temporelle de PnL non réalisé / exposition / nombre de positions série temporelle, une chronologie d'activité OPEN/CLOSE/FLIP (reconstruite en différenciant des instantanés consécutifs), le label décodé du classement HL, et un résumé du carnet d'ordres. Page live : wallet-profiler.html.

Paramètres

ParamètreTypeDescription
addrrequischaîneAdresse du portefeuille (segment de chemin), par ex. /v1/wallet/0x3bcae23e…/profile.
joursoptionnelentierFenêtre de look-back pour la série et la chronologie. Par défaut : 30.

Exemple de requête

GET (sans auth)
curl "https://api.smartmoneyapi.com/v1/wallet/0x3bcae23e8c380dab4732e9a159c0456f12d866f3/profile?days=30"

Exemple de réponse

JSON
{
"ok": true, "wallet": "0x3bcae23e…", "tracked": true,
"first_seen_ts": 1782827733, "latest_snapshot_ts": 1783418468, "as_of": 1783418468,
"hyperliquid": {
"label": { "name": "Andre is back", "score": 74,
"window_pnl_usd": 1307000, taux_de_réussite_pct: 71, trades: 42 },
positions: [
{ plateforme: hyperliquid, symbole: ETH, direction: short,
taille: 1200.0, prix_entrée: 1800.0, pnl_non_réalisé: 34800.0,
levier: 20.0, valeur_usd: 2160000.0 }
],
série: [ { ts: 1783330000, pnl_non_réalisé: 42000.0, exposition_usd: 18400000.0, positions: 5 } ],
chronologie: [ { ts: 1783400000, événement: flip, symbole: ETH,
direction: short, depuis_direction: long, valeur_usd: 2160000.0 } ],
résumé: {
positions_ouvertes: 5, en_profit: 3, en_perte: 2, longs: 0, shorts: 5,
pnl_non_réalisé_total: -12000.0, exposition_usd_totale: 21000000.0, levier_moyen: 19.9,
fenêtre_jours: 30, instantanés_dans_fenêtre: 474,
pnl_réalisé: None, note_pnl_réalisé: Non dérivable — seuls les instantanés ouverts sont visibles, jamais les remplissages de clôture.
}
}
}
Note honnête : tout ce qui est affiché est réel à partir des données d'instantané — pnl est la propre valorisation marché à marché non réalisée de HL, value_usd est le notionnel ouvert. Le P&L réalisé par aller-retour est indisponible (nous ne voyons que les instantanés ouverts, jamais les remplissages de clôture) et est affiché comme null / ; les événements CLOSE de la chronologie ne portent aucune revendication de P&L. Une adresse valide mais non suivie renvoie tracked: false avec une note ; une adresse invalide renvoie ok: false, error: "invalid_address" (HTTP 400). Le label HL-leaderboard est la propre position de fenêtre de HL à la découverte, non calculée par nous.

GET  /flows

Nécessite : Pro

Renvoie des données de flux de capital inter-actifs montrant les modèles de rotation entre BTC, ETH et SOL sur plusieurs fenêtres temporelles. Utile pour identifier quel actif accumule du capital et lequel est distribué à un moment donné.

Exemple de réponse

JSON
{
ts: 1710940821,
flux: {
BTC: { 1h: 142000000, 4h: 380000000, 12h: -90000000, 24h: 220000000 },
ETH: { 1h: -38000000, 4h: -110000000, 12h: 55000000, 24h: -80000000 },
SOL: { 1h: 12000000, 4h: 29000000, 12h: 18000000, 24h: 44000000 }
},
rotations_détectées: [
Capital tournant de ETH vers BTC sur une fenêtre de 4h,
Accumulation de SOL cohérente sur toutes les fenêtres
]
}
Forfait Pro requis. Les valeurs de flux sont des entrées nettes USD (positives) ou des sorties (négatives) par fenêtre temporelle.

GET  /whale-events

Nécessite : Trader Pro

Renvoie les changements significatifs de positions des baleines — ouvertures, fermetures et inversions de direction — détectés sur les portefeuilles suivis et les adresses on-chain dans la fenêtre de recherche spécifiée.

Paramètres

ParamètreTypeDescription
symboleoptionnelstringFiltrer par actif. Omettre pour tous les actifs surveillés.
importanceoptionnelstringFiltrer par importance de l'événement : high, medium, ou all. Par défaut : all
heuresoptionnelintegerFenêtre de recherche en heures. Par défaut : 24

Exemple de réponse

JSON
{
symbole: BTC,
résumé: {
flips_vers_long: 3,
flips_vers_short: 1,
nouvelles_ouvertures: 7,
fermetures: 2
},
événements: [
{
"type": "flip_long",
"wallet": "0xWhale...a4f2",
"direction": "long",
"size_usd": 4200000,
"ts": 1710938400
}
]
}
Plan Trader : Retourne l' summary objet uniquement. Plan Pro : Flux complet events avec identifiants de portefeuille, tailles et horodatages.

GET  /regimes/history

Nécessite : Pro

Retourne les données historiques de classification des régimes pour un actif donné. Utilisez ceci pour backtester la performance historique des types de régimes spécifiques, la durée typique de chaque régime et la façon dont les transitions se déroulent dans le temps.

Paramètres

ParamètreTypeDescription
symboloptionnelstringSymbole de l'actif. Par défaut : BTC
regimeoptionnelstringFiltrer par un type de régime spécifique, par ex. late_cycle_divergence. Omettre pour tous les régimes.
daysoptionnelintegerFenêtre de look-back en jours. Par défaut : 30. Maximum : 365

Exemple de réponse

JSON
{
"symbol": "BTC",
"current_regime": "late_cycle_divergence",
"regime_summary": {
"late_cycle_divergence": { "occurrences": 4, "avg_duration_h": 38, "avg_return_pct": -2.1 },
"accumulation": { "occurrences": 6, "avg_duration_h": 72, "avg_return_pct": 5.4 },
"breakout": { "occurrences": 3, "avg_duration_h": 18, "avg_return_pct": 9.2 }
},
"transitions": [
{ "from": "accumulation", "to": "breakout", "ts": 1710850000 },
{ "from": "breakout", "to": "late_cycle_divergence", "ts": 1710915000 }
]
}
Plan Pro requis. Combinez avec /analysis pour valider les hypothèses de stratégie par rapport aux données historiques de performance des régimes.

GET  /exchange-health

Disponible pour : Gratuit Trader Pro

Retourne l'état de santé en temps réel de tous les échanges surveillés, y compris la latence par échange, les taux d'erreur et les indicateurs d'obsolescence des données. Aucune authentification requise — endpoint accessible publiquement.

Exemple de réponse

JSON
{
"overall_status": "ok",
"ts": 1710940821,
"exchanges": {
"bybit": { "status": "ok", "latency_ms": 42, "error_rate_1h": 0.0, "last_data_age_s": 18 },
"binance": { "status": "ok", "latency_ms": 38, "error_rate_1h": 0.0, "last_data_age_s": 22 },
"hyperliquid": { "status": "degradé", "latency_ms": 310, "error_rate_1h": 0.04, "last_data_age_s": 95 },
"okx": { "status": "ok", "latency_ms": 55, "error_rate_1h": 0.0, "last_data_age_s": 30 }
}
}

GET  /sentiment

Nécessite : Trader Pro

Retourne un indice Fear & Greed (0-100) en temps réel calculé à partir du sentiment des dérivés, de l'activité des baleines, de la volatilité et des signaux sociaux. Inclut une répartition des composants et un historique de 24 heures pour l'analyse des tendances.

Paramètres

ParamètreTypeDescription
symboloptionnelstringSymbole de l'actif. Par défaut : BTC

Exemple de réponse

JSON
{
"symbol": "BTC",
"score": 72,
"label": "Greed",
"components": {
"volatility": 65,
"momentum": 78,
"derivatives": 70,
"whale_activity": 75,
"social": 68
},
"history_24h": [
{ "ts": 1710940800, "score": 68, "label": "Greed" },
{ "ts": 1710937200, "score": 65, "label": "Greed" }
],
"ts": 1710940821
}
Équivalent concurrent : Santiment Social Volume + Alternative.me Fear & Greed — combinés en un seul endpoint avec une répartition par composants.

Intégrations

GET  /tradingview/setup

Nécessite : Trader Pro

Retourne votre configuration d'intégration TradingView personnalisée : URL de webhook, secret pour validation, et indicateurs Pine Script prêts à l'emploi qui se connectent directement à l'API Smart Money. Copiez-collez le Pine Script dans TradingView pour superposer nos signaux sur n'importe quel graphique.

Exemple de réponse

JSON
{
"webhook_url": "https://api.smartmoneyapi.com/v1/tradingview/webhook",
"webhook_secret": "tvs_a1b2c3...",
"pine_scripts": {
"composite_indicator": "// Smart Money Composite v1 //@version=5 indicator(...)...",
"whale_activity": "// Whale Activity Overlay v1 ...",
"funding_dashboard": "// Funding Rate + LSR Dashboard v1 ..."
}
}

POST  /tradingview/webhook

Disponible pour : Trader Pro

Reçoit une alerte TradingView, la traite via /confirm, et retourne la confirmation. TradingView ne peut pas envoyer d'en-têtes personnalisés, donc authentifiez-vous en incluant votre webhook secret dans le corps JSON (cet endpoint n'utilise pas X-API-Key). La réponse encapsule la confirmation et ajoute un niveau supérieur action de CONFIRMED (confiance du démon HIGH/MEDIUM) ou VETOED.

Corps de la requête

JSON
{
"secret": "your_webhook_secret",
"symbol": "BTC",
"direction": "long",
"timeframe": "1h",
"strategy": "EMA crossover",
"price": 67500.0
}

Requis : secret, symbol, direction (long|short). Optionnel : source, timeframe, strategy, price.

Personnalisation

GET  /preferences

Nécessite : Trader Pro

Retourne vos paramètres de personnalisation actuels, incluant les paramètres de trade par défaut, le profil de risque, la watchlist et les préférences de notification.

PUT /v1/preferences

Mettez à jour les préférences en envoyant un corps JSON avec n'importe quel sous-ensemble des champs ci-dessous. Les champs omis conservent leurs valeurs actuelles.

Champs de préférence

ChampTypeDescription
default_trade_size_usdfloatTaille de position par défaut en USD pour les calculs Kelly et smart-stop
risk_tolerancestringconservative, moderate, ou aggressive
default_risk_pctfloatRisque par défaut par trade en % du compte. Utilisé par /smart-stop lorsque risk_pct est omis
watchlistarrayListe ordonnée de symboles d'actifs, par ex. ["BTC","ETH","SOL"]
notification_emailstringAdresse email pour la livraison des alertes
timezonestringChaîne IANA de fuseau horaire, par ex. America/New_York
PUT — Exemple de corps
{
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}

GET  /watchlist

Requiert : Trader Pro

Retourne un instantané de l'état de confirmation et des métriques de risque clés pour tous les symboles de votre watchlist configurée. Fournit une vue multi-actifs sans avoir à appeler /confirm séparément pour chaque symbole.

Exemple de réponse

JSON
{
"ts": 1710940821,
"watchlist": [
{
"symbol": "BTC",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "accumulation",
"cascade_risk": "LOW"
},
{
"symbol": "ETH",
"confidence": "MEDIUM",
"action": "REDUCE",
"regime": "late_cycle_divergence",
"cascade_risk": "HIGH"
},
{
"symbol": "SOL",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "breakout",
"cascade_risk": "MEDIUM"
}
]
}

Streaming en temps réel (échanges en direct)

Stream les échanges DEX ≥ $500 détectés en temps réel depuis nos propres nœuds BSC et Avalanche. Deux transports sont disponibles : un flux public Server-Sent Events (SSE) pour les clients gratuits/navigateurs, et un flux WebSocket à faible latence pour les abonnés payants. Les événements sont diffusés dans les secondes suivant leur inclusion dans un bloc.

Flux SSE Public (Gratuit)

Disponible pour : Gratuit Trader Pro
GET /v1/stream/public-swaps

Aucune authentification requise. Support natif EventSource dans tous les navigateurs modernes. Le serveur émet swap des événements et des battements de cœur périodiques pour maintenir la connexion active.

JavaScript (navigateur)
const es = new EventSource("https://api.smartmoneyapi.com/v1/stream/public-swaps");
es.addEventListener("swap", e => {
  const swap = JSON.parse(e.data);
  console.log(swap.chain, swap.pair, swap.amount_usd);
});

Flux WebSocket (Payant)

Requiert : Trader Pro
WSS /v1/ws/live-swaps?ticket=…

Authentification (recommandée) : ne mettez jamais votre clé de longue durée dans l'URL — elle est enregistrée par les proxies et sauvegardée dans l'historique du navigateur. Au lieu de cela, POSTez votre clé à /v1/ws/ticket en utilisant l'en-tête X-API-Key sécurisé, puis ouvrez le socket avec le ticket à usage unique retourné ticket (valable ~60s, utilisé une fois). Les clients côté serveur qui peuvent définir des en-têtes peuvent plutôt passer X-API-Key directement lors de la poignée de main. Les clés de niveau gratuit reçoivent une 402 payment_required réponse. Une hello trame est envoyée lors de la connexion avec votre niveau et le seuil de diffusion.

JavaScript (navigateur)
// 1. Échangez votre clé contre un ticket à courte durée de vie (la clé reste dans l'en-tête)
const r = await fetch("https://api.smartmoneyapi.com/v1/ws/ticket", {
  method: "POST", headers: { "X-API-Key": "sm_xxx" }
});
const { ticket } = await r.json();
// 2. Ouvrez le socket avec le ticket à usage unique
const ws = new WebSocket(`wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=${ticket}`);
ws.onmessage = e => {
  const swap = JSON.parse(e.data);
  if (swap.type === "swap") console.log(swap);
};

Authentification WebSocket (tickets)

Pourquoi : ne mettez jamais votre clé API dans une URL WebSocket — les chaînes de requêtes sont enregistrées par les proxies, les équilibreurs de charge, et sauvegardées dans l'historique du navigateur. Au lieu de cela, échangez votre clé contre un ticket à courte durée de vie et à usage unique ticket via une requête POST authentifiée normale, puis connectez-vous avec ce ticket.

Flux : POSTez à /v1/ws/ticket avec votre X-API-Key en-tête → recevez { "ticket": "…", "expires_in": 60 }. Puis ouvrez wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>Le ticket est à usage unique et expire dans ~60 secondesLes clients côté serveur qui peuvent définir des en-têtes de requête peuvent plutôt passer X-API-Key directement sur la poignée de main WebSocket — aucun ticket nécessaire.

POST /v1/ws/ticket
Nécessite : Trader Pro

Crée un ticket à usage unique pour une poignée de main WebSocket authentifiée. Authentifiez-vous avec l' X-API-Key en-tête (votre clé ne quitte jamais les en-têtes de la requête). Le ticket retourné peut être utilisé une fois sur /v1/ws/live-swaps avant son expiration.

cURL
curl -X POST -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/ws/ticket"

Exemple de réponse

JSON
{
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}

Champs de réponse

ChampTypeDescription
ticketstringJeton à usage unique à ajouter comme ?ticket= sur l'URL WebSocket. Utilisé une fois, puis invalidé.
expires_innumberSecondes avant l'expiration du ticket (~60). Créez un nouveau ticket par tentative de connexion.

Remarque : l'authentification par ?key= paramètre de requête héritée est plus acceptée sur les points de terminaison WebSocket pour des raisons de sécurité. Utilisez un ticket (clients navigateur) ou l' X-API-Key en-tête de poignée de main (clients côté serveur).

Snapshot REST

GET /v1/live-swaps/recent?limit=20

Retourne les N derniers swaps diffusés depuis le tampon en roulement. Utile pour le premier rendu sur les tableaux de bord avant l'ouverture de la connexion de flux. Également disponible : /v1/live-swaps/status pour les statistiques du diffuseur.

Schéma d'événement

ChampTypeDescription
chainstringbsc ou avalanche
dexstringNom du routeur (par exemple pancakeswap_v2, traderjoe) ou unknown_dex
swapperstringAdresse 0x complète du portefeuille qui a exécuté le swap
swapper_shortstringForme abrégée pour l'affichage (par exemple 0xb300…028d)
swapper_urlstringLien direct vers le swapper sur l'explorateur de blocs de la chaîne
tx_hashstringHash de la transaction
explorer_urlstringLien direct vers la transaction sur BscScan / Snowtrace
token_instringSymbole du token vendu (par exemple USDT)
token_outstringSymbole du token acheté
amount_usdnumberValeur en USD du swap (minimum : 500 $)
pairstringLibellé de paire formaté (par exemple USDT → USDC)
blocknumberNuméro de bloc où le swap a été miné
timestampnumberSecondes de l'époque Unix
significancestringlow / medium / high / critical basé sur la taille en USD
seqnumberNuméro de séquence de diffusion monotone — utilisez pour la détection de lacunes

POST  /alerts/conditions

Nécessite : Pro

Créez des règles d'alerte personnalisées qui se déclenchent lorsqu'une métrique spécifiée dépasse un seuil. Les alertes sont livrées via webhook, e-mail ou le flux de notifications du tableau de bord selon vos préférences.

GET /v1/alerts/conditions

Retourne une liste de toutes vos conditions d'alerte configurées avec leurs ID, définitions et statut actuel.

DELETE /v1/alerts/conditions/{id}

Supprime définitivement une condition d'alerte par son ID.

GET /v1/alerts/history

Retourne les événements récents de déclenchement d'alerte avec des horodatages, les conditions correspondantes et la valeur de la métrique au moment du déclenchement.

Créer une alerte — Corps de la requête

ChampTypeDescription
namerequiredstringLibellé lisible pour cette alerte (max 64 caractères)
metricrequiredstringLa métrique à surveiller. Voir le tableau des métriques disponibles ci-dessous.
symboloptionalstringContexte de l'actif. Requis pour les métriques liées au symbole telles que funding_rate.
operatorrequiredstringOpérateur de comparaison : gt, lt, eq, crosses_above, crosses_below
thresholdrequiredfloatValeur numérique à comparer avec la métrique
deliveryoptionalstringCanal de livraison, par exemple telegram (default) ou webhook
cooldown_minutesoptionalintegerMinutes minimales entre les re-déclenchements (par défaut 60)

La liste en direct des métriques et opérateurs valides est retournée par GET /v1/alerts/conditions as available_metrics and available_operators.

Métriques Disponibles

MétriqueDescription
funding_rateTaux de financement actuel pour le symbole (en décimal)
global_lsrRatio long/short global pour le symbole
long_pctPourcentage de comptes en position longue pour le symbole
top_trader_lsrRatio long/short des meilleurs traders pour le symbole
taker_ratioRatio acheteur/vendeur des takers pour le symbole
mvrvRatio de la valeur de marché à la valeur réalisée (BTC/ETH)
soprRatio de profit des sorties dépensées (BTC/ETH)
exchange_net_flowSignal de flux net on-chain des échanges
accumulationSignal d'accumulation on-chain
whale_long_pctPourcentage de portefeuilles de baleines suivis en position longue pour le symbole
whale_n_walletsNombre de portefeuilles de baleines suivis avec une position dans le symbole
composite_longScore composite pour le symbole interrogé en direction longue
composite_shortScore composite pour le symbole interrogé en direction courte
funding_spreadÉcart de financement inter-plateforme pour le symbole
POST — Exemple de Corps
{
"name": "Pic du taux de financement BTC",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}

GET  /kelly

Requiert : Pro

Retourne des recommandations de taille de position selon le critère de Kelly, calibrées sur la performance historique du signal pour le symbole, le niveau de confiance et la direction. Base la taille de la position sur les taux de réussite empiriques pour éviter le sur-effet de levier.

Paramètres

ParamètreTypeDescription
symbolrequiredstringSymbole de l'actif : BTC, ETH, ou SOL
confidenceoptionalstringNiveau de confiance du signal à modéliser : HIGH, MEDIUM, ou LOW. Par défaut : HIGH
directionoptionalstringDirection du trade : long ou short. Par défaut : long
account_sizeoptionalfloatTaille du compte en USD pour le calcul suggested_size_usd. Par défaut : 10000

Exemple de Réponse

JSON
{
"symbol": "BTC",
"confidence": "HIGH",
"direction": "long",
"win_rate": 0.68,
"avg_reward_risk_ratio": 2.1,
"kelly_fraction": 0.36,
"half_kelly": 0.18,
"suggested_size_usd": 1800,
"samples": 142,
"note": "Half-Kelly recommandé pour le trading en direct pour tenir compte des erreurs d'estimation."
}
Plan Pro requis. Les calculs sont basés sur un échantillon glissant de 90 jours de signaux historiques correspondant aux paramètres demandés (symbole, niveau de confiance et direction).

GET  /performance

Disponible pour : Free Trader Pro

Retourne des statistiques historiques de précision des signaux émis par l'API, ventilées par niveau de confiance. Utile pour évaluer la fiabilité des signaux avant d'engager du capital.

Paramètres

ParamètreTypeDescription
symboloptionalstringFiltrer par actif. Omettre pour des statistiques agrégées sur tous les symboles.
daysoptionalintegerFenêtre de look-back en jours. Par défaut : 30

Exemple de réponse

JSON
{
"symbol": "BTC",
"period_days": 30,
"by_confidence": {
"HIGH": { "win_rate": 0.71, "samples": 58, "avg_return_pct": 3.4 },
"MEDIUM": { "win_rate": 0.54, "samples": 84, "avg_return_pct": 1.2 }
}
}

Statistiques & Signaux

GET  /v1/stats

Disponible pour : Free Trader Pro Aucune authentification requise

Statistiques de performance honnêtes à l'échelle du site, provenant de smart_money_confirm résultats d'appels distincts. Retourne les taux de réussite aux niveaux de confiance HIGH et MEDIUM, la précision globale, le facteur de profit et une ventilation par symbole. Tous les chiffres sont in-sample sur la fenêtre d'évaluation ; consultez calibration.html pour le contexte et la méthodologie forward-holdout.

Exemple de réponse

JSON
{
"high_winrate": 0.714,
"high_winrate_n": 14,
"medium_winrate": 0.530,
"medium_winrate_n": 34,
"overall_accuracy": 0.613,
"overall_accuracy_n": 48,
"profit_factor": 1.77,
"avg_win_pct": 4.2,
"winrate_horizon": "24h",
"winrate_basis": "appels de confirmation distincts, résultats résolus en 24h",
"winrate_by_symbol": {
"BTC": { "win_rate": 0.68, "n": 22 },
"ETH": { "win_rate": 0.55, "n": 18 },
"SOL": { "win_rate": 0.60, "n": 8 }
},
"forward_holdout": {
"win_rate": 0.59,
"high_win_rate": 0.70,
"high_n": 10,
"is_distinct_from_insample": false
}
}
Avertissement in-sample. Tous les chiffres de cette réponse sont calculés sur la même période utilisée pour calibrer le scoreur. L' forward_holdout objet est le seul nombre basé sur des données que le scoreur n'a jamais vues — observez sa progression dans le temps. Voir calibration.html pour la méthodologie complète et la frontière in-sample / forward-test.

GET  /v1/signals/performance

Disponible pour : Free Trader Pro Aucune authentification requise

Suivi des résultats des signaux sur plusieurs horizons de résolution (4h, 12h, 24h, 72h). Retourne les taux de réussite par horizon, le nombre total de signaux et une ventilation par type de signal.

Paramètres

ParamètreTypeDescription
daysoptionalintegerFenêtre de look-back en jours. Par défaut : 30
signal_typeoptionalstringFiltrer par type, par ex. smart_money_confirm ou regime_flip. Omettre pour tous les types.
symboloptionalstringFiltrer par symbole d'actif, par ex. BTC. Omettre pour une agrégation sur tous les symboles.

Exemple de réponse

JSON
{
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
horizons: {
4h: { taux_de_réussite: 0.65, résolu: 46 },
12h: { taux_de_réussite: 0.61, résolu: 44 },
24h: { taux_de_réussite: 0.58, résolu: 40 },
72h: { taux_de_réussite: 0.54, résolu: 32 }
},
répartition_par_type: {
confirmation_smart_money: { nombre: 35, taux_de_réussite_24h: 0.61 },
changement_de_régime: { nombre: 13, taux_de_réussite_24h: 0.47 }
}
}

GET  /v1/signals/recent

Disponible pour : Gratuit Trader Pro Aucune authentification requise

Flux des signaux RÉCENTS publiés (niveau HIGH et MEDIUM) pour tous les symboles surveillés. Chaque entrée inclut le type de signal, le niveau de confiance, la direction et le statut de résolution si disponible.

Exemple de réponse

JSON
{
signals: [
{
id: 1042,
symbol: BTC,
direction: long,
signal_type: smart_money_confirm,
confidence: HIGH,
composite: 0.74,
ts: 1710940821,
resolved: true,
outcome_24h: gagnant
}
],
count: 50
}

GET  /v1/signals/{id}/outcome

Disponible pour : Gratuit Trader Pro Aucune authentification requise

Résultat résolu pour un signal spécifique via son ID numérique. Retourne succès/échec à chaque horizon de résolution (4h, 12h, 24h, 72h) avec le prix au moment du signal et à la résolution.

Paramètres

ParamètreTypeDescription
idrequisentierID du signal (segment de chemin), ex. /v1/signals/1042/outcome

Exemple de réponse

JSON
{
id: 1042,
symbol: BTC,
direction: long,
confidence: HIGH,
entry_price: 63200.0,
ts: 1710940821,
outcomes: {
4h: { result: gagnant, price: 64100.0, pct: 1.41 },
12h: { result: gagnant, price: 65200.0, pct: 3.16 },
24h: { result: gagnant, price: 65800.0, pct: 4.11 },
72h: { result: en_attente, price: null, pct: null }
}
}

GET  /v1/confirm-winrate

Nécessite : Gratuit Trader Pro

Répartition du taux de réussite des signaux de confirmation pour la clé API de l'utilisateur authentifié. Retourne les taux de réussite par appel distinct à chaque niveau de confiance, le facteur de profit et les données par symbole. Nécessite un en-tête X-API-Key valide.

Exemple de requête

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm-winrate"

Exemple de réponse

JSON
{
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
moyen_n: 34,
précision_globale: 0.613,
total_n: 48,
facteur_de_profit: 1.77,
taux_de_réussite_horizon: 24h,
par_symbole: {
BTC: { taux_de_réussite: 0.68, n: 22 },
ETH: { taux_de_réussite: 0.55, n: 18 }
}
}
Base d'appel distinct. Les taux de réussite sont calculés par appel de confirmation distinct (un par symbole par fenêtre de 5 minutes), et non par chaque appel API — cela évite l'inflation de N due aux bots qui interrogent de manière répétée. Les chiffres sont en échantillon sur la fenêtre par défaut de 30 jours ; le même avertissement que /v1/stats s'applique.

Shadow Gate

Nécessite : Gratuit Trader Pro

Un registre de décisions personnel immuable et uniquement en ajout. Soumettez vos décisions de trading avant ou après leur exécution ; le système calcule un score de confirmation par rapport au moteur Smart Money et ajoute une ligne permanente. Utilisez-le pour constituer un historique horodaté honnête de la correspondance entre le signal de l'API et vos propres entrées — totalement indépendant du pool mondial de taux de réussite. Les réponses des niveaux Free et Trader ont des champs de preuve masqués ; Pro renvoie l'analyse complète. Un délai de niveau s'applique aux données du niveau Free.

POST /v1/shadow-gate/decisions

Soumettre une décision. Idempotent sur le Idempotency-Key en-tête de requête — la soumission de la même clé renvoie la ligne existante sans créer de doublon. Le système appelle immédiatement le moteur de confirmation et ajoute le résultat sous forme de ligne de registre immuable.

Corps de la requête

ChampTypeDescription
symboleobligatoirechaîne de caractèresSymbole de l'actif, par ex. BTC
sensobligatoirechaîne de caractèresDirection du trade : long ou short
strategy_idoptionnelchaîne de caractèresLibellé de stratégie défini par l'appelant (64 caractères max). Stocké tel quel pour regroupement et filtrage.

Exemple de requête

cURL
curl -X POST \
-H "X-API-Key: sm_your_key" \
-H "Idempotency-Key: my-signal-20260701-001" \
-H "Content-Type: application/json" \
-d '{"symbol":"BTC","side":"long","strategy_id":"ema_crossover"}' \
"https://api.smartmoneyapi.com/v1/shadow-gate/decisions"

Exemple de réponse

JSON
{
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
ts: 1710940821,
résolu: False
}
Note de niveau. Les réponses gratuites et Trader omettent le factors / adjustments champs de preuve. Pro renvoie la répartition complète des confirmations. Un délai de niveau s'applique à Free — la ligne est écrite immédiatement mais le score de confirmation peut refléter des données en cache jusqu'à 60 secondes.
GET /v1/shadow-gate/decisions

Listez vos propres décisions shadow-gate, les plus récentes en premier. Limité au propriétaire — seules les décisions soumises par votre clé API sont retournées.

Paramètres

ParamètreTypeDescription
limitoptionnelintegerNombre maximum de lignes à retourner. Par défaut : 50, max : 200
cursoroptionnelstringCurseur de pagination opaque provenant d'un champ d'une réponse précédente. next_cursor Omettre pour la première page.

Exemple de réponse

JSON
{
"decisions": [
{ "id": 318, "symbol": "BTC", "side": "long", "decision": "CONFIRM", "confidence": "HIGH", "composite": 0.74, "size_mult": 1.5, "ts": 1710940821, "resolved": false },
{ "id": 317, "symbol": "ETH", "side": court, décision: SKIP, confiance: LOW, composite: -0.12, size_mult: 0.0, ts: 1710937000, résolu: True }
],
nombre: 2,
next_cursor: None
}
GET /v1/shadow-gate/decisions/{id}

Décision unique par ID, incluant les preuves complètes de confirmation pour le niveau Pro. Les réponses des niveaux Free et Trader ont factors et adjustments supprimées. Renvoie 403 si la décision appartient à une autre clé API.

Exemple de réponse (Pro)

JSON
{
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"factors": {
"derivatives": { "score": 0.81, "weight": 0.40, "weighted": 0.324 },
"onchain": { "score": 0.68, "weight": 0.35, "weighted": 0.238 },
"whale": { "score": 0.73, "weight": 0.25, "weighted": 0.183 }
},
"ts": 1710940821,
"resolved": False,
"outcome": None
}
POST /v1/shadow-gate/decisions/{id}/resolve

Résolution manuelle du résultat d'une décision. Appelez cette méthode après avoir clôturé le trade pour enregistrer le résultat final dans la ligne du registre. Une fois résolue, la ligne est immuable et ne peut plus être modifiée.

Corps de la requête

ChampTypeDescription
"outcome"requisstringRésultat du trade : win ou loss
"exit_price"optionnelfloatPrix de sortie du trade. Stocké pour référence ; utilisé pour calculer le P&L % si fourni.
"pnl_pct"optionnelfloatP&L réalisé en pourcentage de la taille de la position, par ex. 3.5 ou -1.2

Exemple de réponse

JSON
{
"id": 318,
"resolved": True,
"outcome": "win",
"exit_price": 65800.0,
"pnl_pct": 4.1,
"resolved_at": 1711027200
}
Immuabilité. La ligne du registre est en ajout uniquement. Une fois une décision soumise, elle ne peut pas être supprimée, et une fois résolue, elle ne peut pas être re-résolue. Cela garantit que l'historique que vous construisez est honnête et résistant aux modifications.

Codes d'erreur

StatutCodeDescription
400"invalid_params"Paramètres de requête manquants ou invalides
401"unauthorized"Clé API manquante ou invalide
403"plan_restriction"Endpoint non disponible avec votre abonnement actuel
429"rate_limit_exceeded"Limite quotidienne ou instantanée atteinte
500"internal_error"Erreur serveur — vérifiez /health pour le statut de la source
503"data_stale"Source de données indisponible ; renvoie les dernières données connues

Exemples de code

Python

Python
import requests

r = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": "BTC", "direction": "long"},
headers={X-API-Key: sm_your_key}
)
data = r.json()

print(data[confidence]) # HIGH / MEDIUM
print(data[size_mult]) # 1.5 / 1.0
Python
import requests

API_KEY = sm_your_key
BASE_URL = https://api.smartmoneyapi.com/v1

def confirm_trade(symbol, direction):
resp = requests.get(
f{BASE_URL}/confirm,
params={symbol: symbol, direction: direction},
headers={X-API-Key: API_KEY},
timeout=5
)
resp.raise_for_status()
return resp.json()

# Dans votre boucle de trading :
signal = confirm_trade(BTC, long)
if signal[confidence] not in [HIGH, MEDIUM]:
print(Ignorer — confiance insuffisante)
else:
size = base_size * signal[size_mult]
place_order(symbol, direction, size)

JavaScript / Node.js

JavaScript
const API_KEY = 'sm_your_key';

async function confirmTrade(symbol, direction) {
const params = new URLSearchParams({ symbol, direction });
const res = await fetch(
`https://api.smartmoneyapi.com/v1/confirm?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
if (!resok) throw new Error(`Erreur API : ${resstatus}`);
return res.json();
}

// Utilisation
confirmTrade('BTC', 'long').then(data => {
console.log(dataconfidence, datasize_mult);
});

cURL

Shell
# Confirmer un trade long
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long

# Obtenir les données des baleines
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/whales?symbol=BTC

# Vérifier l'utilisation
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage

Intégration Freqtrade

Ajoutez la confirmation Smart Money à n'importe quelle stratégie Freqtrade en surchargeant la confirm_trade_entry méthode.

Python — Stratégie Freqtrade
import requests
from freqtrade.strategy import IStrategy

class SmartMoneyStrategy(IStrategy):
SM_API_KEY = "sm_your_key"
SM_BASE = "https://api.smartmoneyapi.com/v1"

def confirm_trade_entry(self, pair, order_type,
amount, rate, time_in_force,
current_time, entry_tag, **kwargs):
symbol = pair.split("/")[0]
if symbol not in ["BTC", "ETH", "SOL"]:
return True # Ignorer la vérification pour les symboles non pris en charge
try:
r = requests.get(
f"{self.SM_BASE}/confirm",
params={"symbol": symbol, "direction": "long"},
headers={"X-API-Key": self.SM_API_KEY},
timeout=3
).json()
return r.get("confidence") in ["HIGH", "MEDIUM"]
except:
return True # Échec ouvert en cas d'erreur API

CCXT + Smart Money

Python — CCXT
import ccxt, requests

exchange = ccxt.bybit({
"apiKey": "YOUR_BYBIT_KEY",
"secret": "YOUR_BYBIT_SECRET"
})

SM_KEY = "sm_your_key"

def smart_trade(symbol, side, amount):
# Vérifier d'abord la confirmation
conf = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": symbol, "direction": side},
headers={"X-API-Key": SM_KEY}
).json()

if conf["confidence"] not in ["HIGH", "MEDIUM"]:
print(f"Ignorer {symbol} {side} — confiance insuffisante.")
return None

adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"Ordre passé : {adj_amount} {symbol} {side}")
return order
Besoin d'aide ?

Consultez la page de statut de l'API pour des informations en temps réel sur son état, ou utilisez notre formulaire de contact.