Smart Money API
プロフェッショナルグレードのインテリジェンスAPIで、デリバティブデータ、オンチェーンメトリクス、およびクジラウォレットのアクティビティを単一の信頼スコアに集約し、トレーディングボットに提供します。
https://api.smartmoneyapi.com/v1デザイン原則
このAPIが返すすべてのエンドポイントとスコアを形作る4つのアイデアです。それらはまた、このAPIが約束するものと約束しないものの正直な境界線でもあります。
戦略ファースト、シグナルファーストではありません。 これは買い/売りシグナルのフィードではありません。あなたが戦略とエントリーを持ち込み、APIは周囲の市場構造(デリバティブポジション、ファンディング、オープンインタレスト、清算、オンチェーンフロー、クジラのコンセンサス)が、あなたが既に取りたいと考えているトレードに同意しているかどうかを教えます。
信頼スコア付き、バイナリ予測ではありません。 すべての回答には段階的な confidence (HIGH / MEDIUM / LOW)と composite -1.0から+1.0までのスコアが付いています。保証はなく、オラクルコールもありません。あなたは同意の調整された読み取りとその背後にある理由を得るので、確信に比例してサイズを調整できます。
意思決定サポート、実行アドバイスではありません。 APIはCONFIRM / REDUCE / SKIPの推奨とサイズ乗数を返します。 あなたの ロジックが行動するために。それは注文を出すことはなく、ここにあるものは金融アドバイスではありません。リスク、サイジング、実行の責任はあなたにあります。
固定された保証ではなく、生きているメトリクスです。 勝率、レジーム統計、精度の数値はローリングサンプルから計算され、市場が動くにつれて移動します。それらが平凡な場合も含めて、正直に公開します。すべてのメトリクスを将来の約束ではなく、現在の観察として扱ってください。
このAPIは誰のためのものか
このAPIは 暗号通貨ボット、アルゴリズム、AIエージェント開発者向けに構築されています テクニカル分析戦略、機械学習モデル、Freqtradeパイプライン、TradingViewアラート、LLMエージェントなどからロング/ショートシグナルを既にお持ちで、資本を投入する前に迅速な事前取引 CONFIRM / REDUCE / SKIP の判断を求めている方々のために設計されています
典型的なループ:あなたの戦略が発動し 「BTCをロングせよ」 → あなたが呼び出し GET /v1/confirm?symbol=BTC&direction=long → エントリーを確認、縮小、またはスキップし、サイズをスケールします size_mult。単一の低遅延JSONレスポンス、追加のインフラストラクチャ不要です
これは ではありません スタンドアロンのシグナルジェネレーター、チャート製品、または執行場ではありません。ゲートする独自のシグナルがない場合は、 パフォーマンスページ からスコアの過去の動作を確認し、ライブボットに組み込む前に確認してください
アクセス方法
1 — サインアップ 無料アカウントを signup で作成(メール/パスワードまたはGoogle)。無料枠ではクレジットカード不要です
2 — ダッシュボードを開く あなたの ダッシュボード にはAPIキー、現在のプラン、デイリークォータに対するライブ使用状況が表示されます
3 — APIキーをコピー キーには接頭辞 sm_が付いています。すべてのリクエストで X-API-Key ヘッダーとして渡してください( 認証参照)。いつでも 料金ページ 制限を引き上げ、より多くのシンボルとエンドポイントを開放するには。
仕様、SDK & クックブック
自分でコードを書く場合でも、コーディングエージェントに任せる場合でも、迅速に統合するために必要なすべてが揃っています。
| リソース | 概要 |
|---|---|
| クックブック | 最も一般的な統合のためのコピー&ペーストレシピ - エントリー前の確認、Freqtradeシグナルのゲート、乗数によるサイジング、402/429の処理、コーディングエージェントへの接続。 |
| OpenAPI仕様 | すべてのエンドポイントの機械可読なOpenAPI定義。Postman/Insomniaにインポートしたり、クライアントを生成したり、LLMにフィードしたりできます。 github.com/tashiardit/smartmoneyapi-docs. |
| Pythonクライアント | 公式Pythonクライアントライブラリ github.com/tashiardit/smartmoneyapi-python. |
| /llms.txt | LLM向けのAPIのプレーンテキスト要約。Claude、Codex、またはCursorで参照してください( コーディングエージェント). |
2分で始められるクイックスタート
ステップ1 — ベースURL。 すべてのエンドポイントは以下の下にあります:
ステップ2 — APIキーを取得。 無料で登録 (クレジットカード不要)して、ダッシュボードからキーをコピー ダッシュボード。すべてのリクエストで X-API-Key ヘッダーとして渡します。
ステップ3 — 最初の呼び出し。 これをターミナルに貼り付け、ダッシュボードから取得したキーで sm_your_key を置き換えてください:
期待されるレスポンス:
"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": ["全取引所でファンディングレートがプラス", "クジラ: 67%がロングで一致"]
}
いつ confidence が HIGH または MEDIUM かつ action が CONFIRMの場合、ポジションサイズを size_multでスケールします。これが統合ループの全体です。詳細なフィールドリファレンスは レスポンスフィールド を参照してください。
認証
すべてのリクエストには、 X-API-Key HTTPヘッダーとしてAPIキーが必要です。
APIキーは、登録後に ダッシュボード から取得できます。キーは秘密にしてください — クライアントサイドコードや公開リポジトリに公開しないでください。
/v1/ws/ticket にPOSTし、 X-API-Key ヘッダーを付けて、返されたチケットで接続します。詳細は WebSocket認証(チケット).Googleサインイン(Firebase認証)
ユーザーはFirebase認証を介してGoogleアカウントで認証できます。クライアントでGoogleサインインが成功した後、Firebase IDトークンをリンクされたAPIセッションと交換します。システムは自動的にGoogle IDをAPIキーシステムと同期します。
リクエストボディ
| フィールド | タイプ | 説明 |
|---|---|---|
| id_token必須 | 文字列 | クライアントでGoogleサインイン後に取得したFirebase IDトークン |
レスポンス例
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
レート制限
| プラン | 呼び出し/日 | バースト制限 | データ遅延 |
|---|---|---|---|
| 無料 | 50 | 2/分 | 60秒 |
| トレーダー | 1,000 | 20/分 | リアルタイム |
| プロ | 5,000 | 60/分 | リアルタイム |
| エンタープライズ | 100,000 | 400/分 | リアルタイム |
レート制限ヘッダーはすべてのレスポンスに含まれています: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
ベースURL
以下のすべてのエンドポイントはこのベースURLを基準としています。すべてのレスポンスはJSON形式で返されます。 Content-Type: application/json.
エラー
エラーは標準的なHTTPステータスコードと一貫したJSONボディを使用します。常にステータスコードで分岐し、レスポンステキストでは判断しないでください。最も頻繁に遭遇する3つのエラー:
| ステータス | コード | 意味と対処法 |
|---|---|---|
| 401 | unauthorized | APIキーが不足しているか無効です。 X-API-Key ヘッダーが存在し正しいか確認してください。 |
| 402 | payment_required | エンドポイントまたはシンボルが、あなたのキーのプランよりも高いレベルを必要としています(例: 無料キーでWebSocket firehoseを呼び出そうとした場合)。 アップグレード または公開エンドポイントにフォールバックしてください。 |
| 429 | rate_limit_exceeded | デイリーまたはバースト制限に達しました。 X-RateLimit-Reset後に再試行してください; 連続してリクエストを送信しないでください。 |
すべてのエラーは同じ形式で返されます:
"error": "rate_limit_exceeded",
"message": 1日100回の呼び出し制限に達しました。リセットはUTC 00:00です。,
ステータス: 429
}
ステータスコードの完全なリスト(400 / 403 / 500 / 503 など)については、 エラーコードを参照してください。堅牢な統合では、5xxと429は一時的なエラー(バックオフ付きで再試行)、401/402/403は致命的なエラー(キーの修正またはプラン変更が必要)として扱います。
セキュリティのベストプラクティス
キーはURLではなくヘッダーで送信してください。 常に X-API-Key をHTTPヘッダーとして渡してください。クエリ文字列(?key=)のキーはプロキシ、ロードバランサー、ブラウザ履歴に記録されます。このため、従来の ?key= 認証はWebSocketエンドポイントで受け入れられなくなりました。
キーはサーバー側で保持してください。 APIキーをクライアントサイドのJavaScript、モバイルアプリバンドル、公開リポジトリに埋め込まないでください。環境変数またはシークレットマネージャーから読み込みます。キーが漏洩した場合はローテーションしてください。
定期的にキーをローテーションしてください。 ダッシュボード からキーを再生成します。定期的に、または漏洩の疑いがある場合はすぐに行ってください。新しいキーが発行されると、古いキーはすぐに無効になります。 ブラウザソケットにはチケットを使用してください。
ブラウザからのリアルタイムストリームには、生のキーではなく、使い捨てチケットと交換して接続します。詳細は WebSocket認証(チケット) を参照してください。.
コーディングエージェント/LLMでの使用
Claude Code、Codex、Cursor、または任意のLLMコーディングエージェントを使用して構築しますか?このAPIを正しく接続するために必要なすべてをエージェントに一度に渡すことができます。2つの機械可読リファレンスが公開されています:
| リソース | URL |
|---|---|
| LLMサマリー | https://smartmoneyapi.com/llms.txt |
| OpenAPI仕様 | github.com/tashiardit/smartmoneyapi-docs |
エージェントに /llms.txt ファイル( llms.txt規約)を指定して簡潔な概要を取得し、次にOpenAPI仕様で正確なリクエスト/レスポンスの形状を確認します。効果的なワンライナープロンプト:
https://smartmoneyapi.com/llms.txt と OpenAPI 仕様を読み、
github.com/tashiardit/smartmoneyapi-docs を確認し、取引前に
GET /v1/confirm を呼び出し、action が CONFIRM でない場合はエントリーをスキップする
プリトレードチェックをボットに追加してください。
参照してください クックブック 実際のコーディング例については。
エンドポイント
GET /confirm
コアエンドポイントです。指定された取引方向に対する複合的な信頼度スコアとアクション推奨を返します。ポジションを建てる前に呼び出してください。
カバレッジ(平易な説明) /confirm 現在のスコア BTC、ETH、SOL — 十分な解決済みの履歴を持ち、信頼性が確認されたシンボル。デリバティブスクリーナーは別途 約519のデリバティブ市場を監視 し、資金調達、OI、清算データを追跡し、600以上のウォレットをカバーします。Proでは、完全なスクリーナー、エクスポート、広範な市場カバレッジが利用可能です。 /confirm 各市場が信頼できるトラックレコードを蓄積するにつれて、シンボルサポートが拡張されます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| シンボル必須 | 文字列 | 資産シンボル。次のいずれか: BTC, ETH, SOL (Trader+) |
| directionrequired | string | 取引方向: long または short |
| sourceoptional | string | シグナルソースのラベル(分析のために記録されます)。最大32文字。 |
リクエスト例
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
レスポンス例
"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,
factors: {
デリバティブ: { スコア: 0.81, 重み: 0.40, 加重値: 0.324 },
オンチェーン: { スコア: 0.68, 重み: 0.35, 加重値: 0.238, ソース: coinmetrics, 利用可能: True },
クジラ: { スコア: 0.73, 重み: 0.25, 陳腐化係数: 1.0, 加重値: 0.183 }
},
調整: { 合意度: 0.0, トレンド: 0.0, ニュース・マクロ: 0.0 },
重み付け: { デリバティブ: 0.40, オンチェーン: 0.35, クジラ情報: 0.25 },
カバレッジ: { デリバティブ: True, クジラ: True, オンチェーン: True },
理由: [
全取引所でファンディングレートがプラス,
LSRがロング優位:1.42,
クジラ:67%がロングで一致,
MVRVが1.0以上 — オンチェーン強気
]
}
設計段階から透明性を確保。 全てのレスポンスには factors 各要素の内訳を示すオブジェクト スコア × 重み = 加重値 の貢献度、 adjustments ポストフィルタ調整用オブジェクト、 weights 使用された coverage マップが含まれます。オンチェーン要素では 実際の無料Coin Metricsデータ (MVRV/取引所フロー/アクティブアドレス)をGlassnodeキー未設定時に使用。これは複数要素の 合流点 スコア — 意思決定支援用であり、 勝利率を保証するものではありません.
未追跡シンボルは正直に処理。 追跡対象外のデリバティブ/クジラ銘柄は明示的に "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" を返し、 "unsupported":true 決して捏造された LOW.
レスポンスフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
| ts | integer | 計算時のUnixタイムスタンプ |
| symbol | string | 資産シンボル (BTC/ETH/SOL) |
| direction | string | リクエスト方向 (long/short) |
| composite | float | コンポジット・コンフルエンス・スコア (-1.0 [極端な逆張り] から +1.0 [強力な順張り])。勝率ではありません。 |
| base_composite | float | ポストフィルター調整前のコンポジットスコア |
| confidence | string | HIGH / MEDIUM / LOW / VETO / NO_DATA |
| action | string | CONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP |
| size_mult | float | 推奨ポジションサイズ乗数 (例: 0.0 – 1.5) |
| unsupported | bool | true シンボルがカバレッジ外の場合 (NO_DATAとペアで表示) |
| deriv_score | float | デリバティブサブスコア (-1 から 1) |
| onchain_score | float | オンチェーンサブスコア (-1 から 1) |
| whale_score | float | クジラコンセンサスサブスコア (-1 から 1) |
| x_score | float | X/ソーシャルセンチメントサブスコア (-1 から 1)。未使用時は0 |
| factors | object | 各要素の内訳: score × weight = weighted derivatives / onchain / whale / x_sentiment 用 (onchainには調整値含む source) |
| adjustments | object | 符号付きポストフィルタ調整値 (agreement, trend, rsi_1h, news_macro, momentum, time_of_day, streak_decay) |
| weights | object | この評価で実際に使用された重みセット |
| coverage | object | {derivatives, whale, onchain} — 実際にデータがあった要素 |
| reasons | array | スコアの人間が読める説明文 |
GET /snapshot
指定シンボルの全サブスコア・生データ・指標値を含む市場スナップショットを返します。ダッシュボードやログ記録に便利です。
GET /onchain
生のオンチェーンメトリクスを返します:MVRV、SOPR、取引所純流入、実現時価総額比率、およびサイクル位置分類。
GET /v1/derivatives/*
500以上のシンボルにわたるクロス取引所デリバティブスクリーナー:ファンディングレートヒートマップ、オープンインタレストランキング、ロング/ショートレシオシグナル検出。上位10行は公開されています;フルスクリーナーにはトレーダーまたはプロが必要です。エンドポイント: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.
GET /v1/options/*
Deribit提供のBTCおよびETHオプション分析(公開、認証不要):プット/コール比率、最大ペイン、ストライク別オープンインタレスト。エンドポイント: /v1/options/summary, /v1/options/pcr, /v1/options/oi.
GET /v1/etf/*
スポットBTCおよびETFの日次純流入およびファンド別内訳(公開)。エンドポイント: /v1/etf/flows, /v1/etf/funds.
GET /v1/historical/*
バックテストのための過去のファンディング、オープンインタレスト、ロング/ショートレシオ(Binance)、およびOHLCV(CoinGecko)。エンドポイント: /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.
GET /v1/dex/*
DexScreener提供のトレンドペア、トークン検索、ペア詳細(公開、認証不要)。エンドポイント: /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.
GET /v1/news/*
ニュースインテリジェンス:政策/地政学/暗号ニュースを影響カテゴリに分類、さらにFear & Greed(公開、認証不要)。エンドポイント: /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.
GET /whales
クジラウォレットのコンセンサスデータを返します:ロング/ショート分割、総名目エクスポージャー、上位10ポジション(プロのみ)、およびウォレット数。
GET /signals
監視対象資産全体で最も最近のHIGH/MEDIUMシグナルのストリームを返します。機会スキャンに有用です。
GET /v1/strategies/*
Smart Moneyシグナル上で実行される自動取引戦略の透明で読み取り専用の実績記録 — 含む deriv40 SmartMoneyコピートレード戦略(account=9)。すべてのエンドポイントは ?account=<id> クエリパラメータを受け取り、JSONを返します。認証不要(公開実績記録)。
エンドポイント
GET /v1/strategies/stats?account=9— ヘッドラインメトリクス: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— チャート用エクイティカーブ:{ initial_equity, curve: [{ time, equity }] }.GET /v1/strategies/trades?account=9&limit=500— クローズドトレード台帳:配列(または{trades:[…]})のsymbol,direction,entry_price,exit_price,pnl_usdt,pnl_percent,pnl_percent_net.GET /v1/strategies/active?account=9— 現在のオープンポジション:配列(または{positions:[…]})のsymbol,side/direction,entry_price,unrealized_pnl.GET /v1/strategies/signals— 戦略にフィードされるシグナルタイプ別内訳(シグナルタイプ別カウント/勝利数/勝率/平均PNL)。
過去の実績は将来の結果を示すものではありません。数字は単一の約3ヶ月間のレジームにわたるバックフィルとライブトレードを示し、記載されている場合には手数料前の数値です。
GET /export
バックテスト用の過去のシグナルデータをCSVとしてダウンロードします。パラメータ: symbol, from (UNIXタイムスタンプ) to (UNIXタイムスタンプ)。
GET /health
システムヘルスチェック。各データソースの更新状況とAPIの総合ステータスを返します。認証不要です。
"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
現在のAPI使用状況(本日の呼び出し回数、月間合計、クォータ制限、リセット時間)を返します。
POST /webhooks
監視対象資産でシグナルが発生した際、リアルタイムで署名付きイベントをHTTPS URLにプッシュ配信します。登録には、 X-SmartMoney-Event ヘッダーとHMAC-SHA256署名が X-SmartMoney-Signatureに含まれ、最大3回までバックオフ付きで再試行されます。
リクエストボディ
| フィールド | タイプ | 説明 |
|---|---|---|
| url必須 | 文字列 | イベントをPOSTするHTTPSエンドポイント( https://) |
| events必須 | 配列 | イベント名(例: ["HIGH","MEDIUM","VETO"] または ["*"] |
| symbols必須 | 配列 | フィルターする銘柄(例: ["BTC","ETH"] または ["*"] |
| secret必須 | 文字列 | 署名用シークレット( 16文字以上 (ハッシュ化されて保存) |
署名の検証
HMACキーは登録済みシークレットのSHA-256ヘックスダイジェストです。生リクエストボディに対してこのキーでHMAC-SHA256を計算し、(定数時間比較で)署名と照合します。 X-SmartMoney-Signature. See the Webhook実装ガイド.
インテリジェンス
GET /analysis
AIを活用した市場レジーム分類とシグナル衝突検出を返します。デリバティブ、オンチェーン、クジラデータ間のクロスシグナル合意を分析し、乖離を特定。自然言語による要約と将来を見据えたリスク要因、時間軸を考慮した推奨事項を生成します。
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
| symbol必須 | string | 資産シンボル: BTC, ETH、または SOL |
レスポンス例
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "後期サイクル — シグナル乖離",
"summary": "BTCは後期ブルサイクル段階にあり、オンチェーンの強さとデリバティブの過度な拡大が衝突しています。クジラがエクスポージャーを減らす一方で、小口投資家のLSRが上昇中です。",
"signal_conflicts": [
"クジラスコアは弱気だがオンチェーンスコアは強気",
"資金調達率が3ヶ月ぶりの高値 — スクイーズリスクの可能性"
],
"risk_factors": ["資金調達率の上昇", "OI乖離", "クジラの減少"],
"recommendation": "ロングポジションを減らし、ストップを厳格化。現在価格以上の新規ロングは避ける。",
"time_horizon": "4h–12h"
}
GET /liquidations
返却値 2つの補完的ビュー: (1) レバレッジ予測 levels — 清算クラスターが位置する 場所 の推定値; および (2) realized_heatmap — 公開取引所WebSocketフィード( 実際に実行された 強制清算の強度(価格×時間)をリアルタイム集計: Binance, OKX, Bybit, Bitget, BitMEX。ヒートマップはシンボルに対するデータストリームがある場合に表示されます(極めて平静な市場や起動直後は非表示)。
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
| シンボルオプション | 文字列 | 資産シンボル(デフォルト BTC)。実際のヒートマップは活発に取引されているパーペチュアル銘柄をカバーします。 |
レスポンス例
"symbol": "BTC",
"cascade_risk": "HIGH",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// 実際に執行された清算 — 5取引所からのライブデータ
"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 }
}
}
cascade_risk、最近接距離、および実現済み合計/サイド別。 プロプラン: 完全な予測 levels に加えて完全な realized_heatmap (マトリックス、価格別クラスター、取引所別カウント)。予測推定は「ストップがどこにあるか」に答え、実現済みヒートマップは「実際に何が清算されたか」を示します。GET /liquidations/heatmap
公開 価格レベル清算ヒートマップ。CoinGlassスタイルの価格×時間マトリックスを返します。 実際に執行された 強制清算で、各清算が実行された価格でバケット化され、公開取引所WebSocketフィードからライブで集計されます: Binance、OKX、Bybit、Bitget、BitMEX。この clusters 配列が実用的な出力です: 清算された名目金額でランク付けされた価格バケットで、各バケットは支配的なサイドでタグ付けされています。データはライブストリームに依存します — 非常に静かな銘柄や再起動直後のゲートウェイは、整形式の空の構造と正直な noteを返します。表示されるレベルは常に実際の清算であり、推定値ではありません。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symbolオプション | 文字列 | 資産シンボル(デフォルト BTC). |
| window_minutesオプション | 整数 | 分単位のルックバックウィンドウ(デフォルト 240、5〜1440に制限)。 |
| price_bucketsオプション | 整数 | 価格バケット数(デフォルト 50、5〜100に制限)。 |
レスポンス例
"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
}
totals.count は 0, clusters 空であり、 note フィールドがその理由を説明します。これは実行された清算の記録です — 予測ではありません。予測される「ストップはどこにあるか」の推定値については、認証済みの /liquidations エンドポイントを使用してください。GET /liquidations/onchain
実行済み オンチェーンDeFiレンディング清算 直接私たち自身のローカルからキャプチャ BSC + Avalancheフルノード — 任意のトレーディングボットとは独立。BSC上のVenus/CreamとMoolah、およびAvalanche上のAAVE V3/V2、Benqi、BankerJoe、Granary、Viniumをカバー。プロティアはさらに at_risk ポジション(ボット依存、存在しない場合あり)を返します。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| chainオプション | 文字列 | bsc または avax。すべてのチェーンを対象にする場合は省略。 |
| limitオプション | 整数 | 最大行数(デフォルト100、最大500)。最新順。 |
レスポンス例
"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, repay_usd_known: 148230.55 } },
nodes: { bsc: { reachable: true, head_block: 89173010, events_total: 61 } }
}
}
GET /smart-stop
現在の清算ヒートマップ、ボラティリティバンド、市場構造に基づいてインテリジェントなストップロスレベルを計算します。エントリー価格とリスク許容度に合わせて調整された段階的なストップ推奨値と利益確定提案を返します。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symbol必須 | string | 資産シンボル: BTC, ETH, または SOL |
| direction必須 | string | ポジション方向: long または short |
| entry_price任意 | float | エントリー価格。省略時は現在の市場価格が適用されます。 |
| risk_pct任意 | float | 許容可能な最大リスク(アカウントの%)。デフォルト: 2.0 |
レスポンス例
symbol: BTC,
direction: long,
entry_price: 96420,
stops: {
tight: { price: 95100, note: 1時間足の構造を下回る。スキャルピングに最適。 },
recommended: { price: 93800, note: 94Kドルの主要清算クラスターを下回る。スイングトレード向け標準ストップ。 },
wide: { price: 91200, note: 4時間足の需要ゾーンを下回る。ポジショントレード向けストップ。 }
},
avoid_zones: [
{ low: 94200, high: 94800, reason: 清算クラスターが密集 — スリッページリスクが高い }
],
take_profit_suggestions: [
{ tp1: 98500, tp2: 101000, tp3: 104200 }
]
}
recommended ストップのみ。 プロプラン: 3つのストップティアすべて、 avoid_zonesそして完全なテイクプロフィットの提案。GET /funding-arb
クロス取引所の資金調達率アービトラージの機会をリアルタイムで特定します。推定年率利回り、最適な取引所ペア、およびスプレッドをキャプチャするために必要なヘッジアクションを含むランク付けされた機会を返します。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| min_spreadオプション | float | 含める最小資金調達率スプレッド(小数)。デフォルト: 0.01 |
| symbolオプション | string | 特定の資産にフィルタリング。省略するとすべてのサポート対象資産をスキャン。 |
レスポンス例
"ts": 1710940821,
"opportunities": [
{
"symbol": "BTC",
"spread": 0.032,
"apr": 84.2,
"long_exchange": "hyperliquid",
"short_exchange": "bybit",
"action": "Long HYPE / Short BYBIT",
"estimated_profit_8h_usd": 26.4
}
]
}
無料公開版 認証不要
キー不要の公開エンドポイントは、ライブのクロス取引所スクリーナーでトップ10の機会を返し、埋め込みや簡単なチェックに最適です。シンボルごとのスプレッド履歴や重いフィールドを削除し、120秒のキャッシュから提供されます。新鮮さウィンドウ内にクロス取引所の資金調達スプレッドが存在しない場合、空の opportunities 配列を返します note — 決してでっち上げたデータはありません。
"opportunities": [
{
symbol: OGN,
spread_pct: 0.297667,
annualized_apr: 325.95,
long_exchange: bybit,
short_exchange: hyperliquid,
estimated_profit_per_10k: 29.77,
risk_notes: スプレッドが狭いため、手数料がアービトラージの利益を上回らないように注意してください。
}
],
scanned_symbols: 222,
ts: 1783268753,
public: True,
limited: True
}
GET /smart-money/flow
品質加重された クジラの方向性指数 シンボルごとにスコア化され、 -100 (クジラの資金がショート傾向)から +100 (ロング傾向)まで。数千の追跡されたHyperliquidのクジラウォレットから構築され、各ウォレットはその過去の勝率とPnLで加重され、新近性で減衰されます。これは ポジショニング指数であり、売買シグナルや価格予測ではありません。 貢献ウォレットが少ないシンボルは thin と表示され、正直にスコア化されます。ライブページ: smart-money-flow.html.
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symbol任意 | 文字列 | 単一シンボル(例: BTC)。省略すると、|score|でランク付けされたすべての追跡シンボルを取得します。 |
| window_hours任意 | 整数 | スコアリングウィンドウ、 1..168にクランプされます。デフォルト: 24. |
レスポンス例
symbols: [
{
symbol: SPX,
score: -90.93,
direction: strong_short,
n_wallets: 26,
long_usd: 184200.0, short_usd: 2410000.0,
quality_weighted: True,
sample_quality: rich,
top_contributors: [ { wallet: 0x31ca…974b, direction: short, value_usd: 5338.25, weight: 0.4948 } ]
}
],
window_hours: 24,
quality_weighted: True,
ts: 1783270000,
note: 品質加重されたクジラの方向性ポジショニング指数(-100..+100)。価格予測や売買シグナルではありません。
}
top_contributors。ウォレットの重みは [0.25,1.0]に制限されます; PnLは最新のポジションスナップショットからの未実現の代理値です。GET /v1/whales/crowding
統合された クジラのポジショニングと混雑状況 シンボルごとに、 Hyperliquid + GMX v2 + Jupiter Perpsを跨いでマージされます。グロス/ネット建玉、方向性スキュー、ウォレットと取引所数、ポジション集中度(トップ3シェア + HHI)、加重平均レバレッジ、および 清算接近度バケット (推定清算価格の5%および10%以内にある建玉USD、ロング/ショート別)。これは 状況把握のためのもので、方向性シグナルではありません。 導出不可能なフィールドは null で、 — として表示されます — 例: lev_wavg/crowding_index レバレッジがかかっていないポジションの場合。清算距離は隔離証拠金の推定値です(pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), 取引所が報告する清算価格 ではありません)。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| min_notional任意 | 浮動小数点数 | シンボルが含まれるための最小合計グロス建玉(USD)。デフォルト: 1000000. |
リクエスト例
レスポンス例
ok: True, ts: 1783423500, 最低取引金額: 1000000, 銘柄数: 92,
銘柄一覧: [
{
銘柄: BTC,
総額(USD): 2447900000.0, 正味(USD): -51000000.0, スキュー: -0.021,
クジラ数: 414, 取引所数: 3,
取引所一覧: {
ハイ・ロー: { 総額: 1900000000.0, 正味: -40000000.0, クジラ数: 272 },
gmx: { 総額: 320000000.0, 正味: -6000000.0, クジラ数: 59 },
jupiter: { 総額: 227900000.0, 正味: -5000000.0, クジラ数: 83 }
},
上位3銘柄集中度: 0.159, HHI指数: 0.011, 加重平均レバレッジ: 19.1,
5%圏内清算価格: { ロング: 621700000.0, ショート: 665600000.0 },
10%圏内清算価格: { ロング: 840000000.0, ショート: 910000000.0 },
クラウディングインデックス: 0.003
}
],
注意点: [ 清算距離は隔離証拠金の推定値であり、取引所が報告したものではありません。 ]
}
skew は net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1)。実際に存在する取引所のみが表示されます。 venues。レバレッジのないポジションは、仮定されるのではなく、清算バケットから除外されます。匿名の呼び出し元は、総額でトップ10のシンボルを受け取ります( gated: true)。Trader+は完全なリストを受け取ります。GET /v1/options/gex
ディーラー ガンマエクスポージャー(GEX) の分析 BTC & ETH、公開されているDeribitオプションチェーンからリアルタイムで計算されます(認証不要)。ストライクごとのネットディーラーGEX(SpotGammaのディーラーショート慣例)、 ガンマフリップレベル (累積ネットGEXがゼロを超えるストライク)、 IV期間構造 (満期までの日数によるATMインプライドボラティリティ)、およびフロント満期 IVスキュー (25Δプロキシリスクリバーサル)。GEXレジームは positive (ディーラーがロングガンマ→ボラティリティ抑制)または negative (ボラティリティ増幅)。完全に自己完結型 — 呼び出しごとに再計算され、保存されたDBへの依存はありません。
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
| シンボルオプション | 文字列 | BTC または ETH のみ。デフォルト: BTC. |
リクエスト例
レスポンス例
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 },
{ ストライク: 65000, ネットGEX: 4800000.0 }
],
タームストラクチャー: [
{ 満期日: 8JUL26, 残存日数: 0.76, ATM IV: 62.1 },
{ 満期日: 27MAR26, 残存日数: 14.2, ATM IV: 58.4 }
],
スキュー: {
満期日: 8JUL26, 残存日数: 0.76,
プットIV: 69.69, ATM IV: 62.1, コールIV: 55.34,
リスクリバーサル: 14.35, バイアス: ダウンサイドフィア
}
}
available: false Deribitの契約乗数は1(コイン建てのOI)です。フェッチに失敗した場合、エンドポイントは空のパネルを返します — 決して捏造されたGEXは返しません。IVスキューは25Δ(真の25デルタはストライクごとのデルタを解く必要がある)に対して固定の±10%ストライクプロキシを使用します。表示には十分であり、近似として文書化されています。GET /v1/liquidations/simulate
インタラクティブ 清算カスケードのストレステスト仮想的な価格変動を想定し、清算されると推定されるレバレッジポジション、価格レベル/サイド/取引所ごとの強制出来高、およびカスケード深度の読み取り値を返します。下落相場では、清算価格が目標価格以上にある ロング ポジションが清算され、上昇相場では、清算価格が目標価格以下にある ショート ポジションが清算されます。2つの独立した方法を統合しています:追跡対象のHyperliquidの巨鯨(ホエール)の 実際の レバレッジ/エントリー価格から得られる正確な清算価格と、取引所ごとの統計的なOIバンドクラスター(資金調達から推測される群衆のレバレッジ)です。すべて明確にラベル付けされており、 estimated: true — 個々のアカウントの証拠金、クロスと隔離の区別、追加証拠金、またはADLを把握することはできません。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symboloptional | string | 資産シンボル。デフォルト: BTC. |
| move_pctoptional | float | 仮想的な価格変動(パーセント表示、負値=下落、正値=上昇)。デフォルト: -5. |
リクエスト例
レスポンス例
"ok": true, "estimated": true, "symbol": "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 } },
"methodology": { "disclaimer": "推定値 — 個々のアカウントの証拠金、クロスと隔離の区別、追加証拠金、またはADLを把握できません。" }
}
ok: true, empty: true 偽のバーではなく、平易な英語のメッセージが返されます。 realized_context は、ライブの強制清算ストリームからの若く成長中のサンプルであり、コンテキストとしてのみ表示されます — 予測を「実現済み」とすることはありません。GET /v1/wallet/{addr}/profile
クロスベニュー ウォレットプロファイル 完全にライブで追跡された巨鯨(ホエール)のポジションスナップショットから構築されます。追跡対象のHyperliquid巨鯨の場合、現在のオープンポジション、未実現PnL/エクスポージャー/ポジション数の 時系列、OPEN/CLOSE/FLIPの アクティビティタイムライン (連続するスナップショットの差分から再構築)、デコードされたHLリーダーボードラベル、およびオープンブックの概要が返されます。ライブページ: wallet-profiler.html.
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| addrrequired | string | ウォレットアドレス(パスセグメント)、例: /v1/wallet/0x3bcae23e…/profile. |
| daysoptional | integer | 時系列とタイムラインの遡及期間。デフォルト: 30. |
リクエスト例
レスポンス例
"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, 勝率_pct: 71, トレード: 42 },
ポジション: [
{ 取引所: ハイパーリキッド, シンボル: ETH, 方向: ショート,
サイズ: 1200.0, エントリー価格: 1800.0, 未実現損益: 34800.0,
レバレッジ: 20.0, 価値_USD: 2160000.0 }
],
シリーズ: [ { タイムスタンプ: 1783330000, 未実現損益: 42000.0, エクスポージャー_USD: 18400000.0, ポジション: 5 } ],
タイムライン: [ { タイムスタンプ: 1783400000, イベント: フリップ, シンボル: ETH,
方向: ショート, 元の方向: ロング, 価値_USD: 2160000.0 } ],
サマリー: {
オープンポジション: 5, 利益中: 3, 損失中: 2, ロング: 0, ショート: 5,
総未実現損益: -12000.0, 総エクスポージャー_USD: 21000000.0, ブレンドレバレッジ: 19.9,
ウィンドウ日数: 30, ウィンドウ内スナップショット: 474,
実現損益: None, 実現損益_注記: 導出不可 — クロージングフィルは見られず、オープンスナップショットのみが表示されます。
}
}
}
pnl HL独自の未実現マークトゥーマーケットであり、 value_usd オープンノーショナルです。 ラウンドトリップごとの実現損益は利用不可 (クロージングフィルは見られず、オープンスナップショットのみが表示されます)であり、 null / —として表示されます; タイムラインのCLOSEイベントには損益の主張はありません。有効だが追跡されていないアドレスは tracked: false 注記付きで返されます; 無効なアドレスは ok: false, error: "invalid_address" (HTTP 400) で返されます。HLリーダーボードのラベルはHL独自のウィンドウスタンディングであり、私たちが計算したものではありません。GET /flows
複数の時間ウィンドウでBTC、ETH、SOL間の資本回転パターンを示すクロスアセット資本フローデータを返します。特定の瞬間にどのアセットが資本を蓄積し、どのアセットが分配されているかを特定するのに役立ちます。
例の応答
タイムスタンプ: 1710940821,
フロー: {
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 }
},
検出された回転: [
4時間ウィンドウでETHからBTCへの資本回転,
すべてのウィンドウでSOLの蓄積が一貫
]
}
GET /whale-events
指定されたルックバックウィンドウ内で追跡されたウォレットとオンチェーンアドレスで検出された重要なホエールポジションの変更 — オープン、クローズ、方向転換 — を返します。
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
| シンボルオプション | 文字列 | アセットでフィルタリング。すべての監視対象アセットの場合は省略。 |
| 重要性オプション | 文字列 | イベントの重要性でフィルタリング: high, medium, または all. デフォルト: all |
| 時間オプション | 整数 | ルックバックウィンドウの時間。デフォルト: 24 |
例の応答
シンボル: BTC,
サマリー: {
ロングへのフリップ: 3,
ショートへのフリップ: 1,
新規オープン: 7,
クローズ: 2
},
イベント: [
{
type: flip_long,
wallet: 0xWhale...a4f2,
direction: long,
size_usd: 4200000,
ts: 1710938400
}
]
}
summary object only. プロプラン: Full events ウォレット識別子、サイズ、タイムスタンプを含む完全なフィード。GET /regimes/history
指定された資産の過去のレジーム分類データを返します。これを使用して、特定のレジームタイプが過去にどのように機能したか、各レジームタイプが通常どのくらい続くか、レジーム遷移が時間とともにどのように展開するかをバックテストできます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symboloptional | string | 資産シンボル。デフォルト: BTC |
| regimeoptional | string | 特定のレジームタイプでフィルタリング、例: late_cycle_divergence。すべてのレジームを取得する場合は省略。 |
| daysoptional | integer | 遡及期間(日数)。デフォルト: 30。最大: 365 |
レスポンス例
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 }
]
}
/analysis と組み合わせて、戦略の仮定を過去のレジームパフォーマンスデータに対して検証します。GET /exchange-health
監視対象のすべての取引所のリアルタイムヘルスステータスを返します。取引所ごとのレイテンシ、エラーレート、データの鮮度指標を含みます。認証不要 — 公開アクセス可能なエンドポイント。
レスポンス例
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: degraded, 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
デリバティブセンチメント、クジラ活動、ボラティリティ、ソーシャルシグナルから計算されたリアルタイムのFear & Greed指数(0-100)を返します。トレンド分析のためのコンポーネント内訳と24時間履歴を含みます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symboloptional | string | 資産シンボル。デフォルト: BTC |
レスポンス例
"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
}
連携機能
GET /tradingview/setup
個人用TradingView連携設定(ウェブフックURL、検証用シークレット、Smart Money APIに直接接続するPine Scriptインジケーター)を返します。Pine ScriptをTradingViewにコピペすることで、当社のシグナルを任意のチャートに重ねて表示可能。
レスポンス例
"webhook_url": "https://api.smartmoneyapi.com/v1/tradingview/webhook",
"webhook_secret": "tvs_a1b2c3...",
"pine_scripts": {
"composite_indicator": "// Smart Money Composite v1\n//@version=5\nindicator(...)...",
"whale_activity": "// Whale Activity Overlay v1\n...",
"funding_dashboard": "// Funding Rate + LSR Dashboard v1\n..."
}
}
POST /tradingview/webhook
TradingViewアラートを受信し、 /confirmを経由して確認を返します。TradingViewはカスタムヘッダーを送信できないため、JSONボディにウェブフック secret を含めて認証してください(このエンドポイントはX-API-Keyを使用しません)。レスポンスは確認をラップし、トップレベルに action を追加します CONFIRMED (デーモン信頼度 HIGH/MEDIUM)または VETOED.
リクエストボディ
"secret": "your_webhook_secret",
"symbol": "BTC",
"direction": "long",
"timeframe": "1h",
"strategy": "EMAクロスオーバー",
"price": 67500.0
}
必須: secret, symbol, direction (long|short)。任意: source, timeframe, strategy, price.
個人設定
GET /preferences
現在の個人設定(デフォルト取引パラメータ、リスクプロファイル、ウォッチリスト、通知設定)を返します。
以下のフィールドの任意のサブセットを含むJSONボディを送信して設定を更新。省略されたフィールドは現在の値を保持します。
設定フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
| default_trade_size_usd | float | ケリー基準やスマートストップ計算用のデフォルトポジションサイズ(USD) |
| risk_tolerance | string | conservative, moderate、または aggressive |
| default_risk_pct | float | 取引ごとのデフォルトリスク(口座の%)。 /smart-stop で使用 risk_pct が省略された場合 |
| watchlist | array | 資産シンボルの順序付きリスト(例: ["BTC","ETH","SOL"] |
| notification_email | string | アラート配信用メールアドレス |
| timezone | string | IANAタイムゾーン文字列(例: America/New_York |
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}
GET /watchlist
設定済みウォッチリスト内の全銘柄について、確認ステータスのスナップショットと主要リスク指標を返します。各銘柄を個別に呼び出すことなく、マルチアセットの概要を提供します。 /confirm
レスポンス例
"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": 高
},
{
シンボル: SOL,
信頼度: 高,
アクション: 確認,
レジーム: ブレイクアウト,
カスケードリスク: 中
}
]
}
リアルタイムストリーミング(ライブスワップ)
当社のBSCおよびAvalancheノードから検出された$500以上のDEXスワップをリアルタイムでストリーミング。無料/ブラウザクライアント向けの公開Server-Sent Events(SSE)ストリームと、有料層向けの低遅延WebSocketファイアホースの2つのトランスポートが利用可能です。イベントはブロックに含まれてから数秒以内にブロードキャストされます。
公開SSEストリーム(無料)
認証不要。ネイティブ EventSource 対応はすべての最新ブラウザで。サーバーは発信 swap 接続を維持するためのイベントと定期的なハートビート。
es.addEventListener("swap", e => {
const swap = JSON.parse(e.data);
console.log(swap.chain, swap.pair, swap.amount_usd);
});
WebSocket Firehose (有料)
認証(推奨): 長期間有効なキーをURLに直接記載しないでください — プロキシやブラウザの履歴に記録される可能性があります。代わりに、キーをPOSTリクエストで送信し、 /v1/ws/ticket 安全な X-API-Key ヘッダーを使用して、返却された一時的な ticket (有効期限約60秒、1回限り利用可能)を使用してソケットを開きます。ヘッダーを設定可能なサーバーサイドクライアントは、ハンドシェイク時に直接 X-API-Key を渡すことも可能です。無料枠のキーは 402 payment_required レスポンスを受け取ります。接続時には、 hello フレームが送信され、利用可能な枠とブロードキャストの閾値が通知されます。
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. 1回限りのチケットでソケットを開く
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);
};
WebSocket認証(チケット)
理由: APIキーをWebSocketのURLに直接記載しないでください — クエリストリングはプロキシやロードバランサー、ブラウザの履歴に記録される可能性があります。代わりに、通常の認証済みPOSTリクエストでキーを短命の1回限りの チケット と交換し、そのチケットを使用して接続します。
フロー: POSTリクエストを /v1/ws/ticket に送信し、 X-API-Key ヘッダーを添付 → { "ticket": "…", "expires_in": 60 }を受け取ります。その後、開きます wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>. The ticket is 1回限り で、有効期限は 約60秒です。リクエストヘッダーを設定できるサーバーサイドクライアントは、代わりに X-API-Key WebSocketハンドシェイク時に直接渡すことができます — チケット不要。
認証済みWebSocketハンドシェイク用の1回限りチケットを発行します。 X-API-Key ヘッダーで認証を行います(APIキーはリクエストヘッダーから漏れません)。返却されたチケットは、有効期限までに /v1/ws/live-swaps で1回利用できます。
"https://api.smartmoneyapi.com/v1/ws/ticket"
レスポンス例
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
レスポンスフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
| ticket | string | 1回限りのトークン。WebSocket URLに ?ticket= として追加します。1回利用すると無効化されます。 |
| expires_in | number | チケットの有効期限(約60秒)。接続試行ごとに新しいチケットを発行してください。 |
注意: 従来の ?key= クエリパラメータ認証は セキュリティ上の理由で WebSocketエンドポイントでは受け付けられなくなりました。チケット(ブラウザクライアント)または X-API-Key ハンドシェイクヘッダー(サーバーサイドクライアント)を使用してください。
RESTスナップショット
ローディングバッファから直近のブロードキャストスワップをN件返します。ストリーム接続開始前のダッシュボード初期表示に便利です。ブロードキャスタ統計用の /v1/live-swaps/status も利用可能です。
イベントスキーマ
| フィールド | タイプ | 説明 |
|---|---|---|
| chain | string | bsc または avalanche |
| dex | string | ルーター名(例: pancakeswap_v2, traderjoe)または unknown_dex |
| swapper | string | スワップを実行したウォレットの完全な0xアドレス |
| swapper_short | string | 表示用省略形(例: 0xb300…028d) |
| swapper_url | string | ブロックエクスプローラーのスワッパー直接リンク |
| tx_hash | string | トランザクションハッシュ |
| explorer_url | string | BscScan/Snowtrace上のトランザクション直接リンク |
| token_in | string | 売却されたトークンのシンボル(例: USDT) |
| token_out | string | 購入されたトークンのシンボル |
| amount_usd | number | スワップのUSD価値(最低$500) |
| pair | string | フォーマット済みペアラベル(例: USDT → USDC) |
| block | number | スワップが採掘されたブロック番号 |
| timestamp | number | Unixエポック秒 |
| significance | string | low / medium / high / critical USDサイズに基づく |
| seq | number | 単調増加ブロードキャストシーケンス番号 — ギャップ検出用 |
POST /alerts/conditions
指定したメトリックが閾値を超えた時にトリガーするカスタムアラートルールを作成します。アラートはWebhook、メール、またはダッシュボード通知フィード経由で配信されます(設定に依存)。
設定済みの全アラート条件をID、定義、現在のステータスと共にリスト返します。
ID指定でアラート条件を完全削除します。
最近のアラートトリガーイベントをタイムスタンプ、マッチした条件、トリガー時のメトリック値と共に返します。
アラート作成 — リクエストボディ
| フィールド | タイプ | 説明 |
|---|---|---|
| name必須 | string | このアラートの人間が読めるラベル(最大64文字) |
| metricrequired | string | 監視するメトリック。利用可能なメトリックは以下の表を参照してください。 |
| symboloptional | string | 資産コンテキスト。シンボルスコープのメトリック(例: funding_rate. |
| operatorrequired | string | 比較演算子: gt, lt, eq, crosses_above, crosses_below |
| thresholdrequired | float | メトリックと比較する数値 |
| deliveryoptional | string | 配信チャネル、例: telegram (デフォルト)または webhook |
| cooldown_minutesoptional | integer | 再トリガー間の最小分数(デフォルト60) |
有効なメトリックと演算子の最新リストは以下から返されます GET /v1/alerts/conditions として available_metrics および available_operators.
利用可能なメトリック
| メトリック | 説明 |
|---|---|
| funding_rate | シンボルの現在の資金調達率(10進数) |
| global_lsr | シンボルのグローバルロング/ショート比率 |
| long_pct | シンボルのネットロングアカウントの割合 |
| top_trader_lsr | シンボルのトップトレーダーロング/ショート比率 |
| taker_ratio | シンボルのテイカーの買い/売り比率 |
| mvrv | 市場価値と実現価値の比率(BTC/ETH) |
| sopr | 支出出力利益比率(BTC/ETH) |
| exchange_net_flow | オンチェーン取引所正味フローシグナル |
| accumulation | オンチェーン蓄積シグナル |
| whale_long_pct | シンボルのロングポジションを保持している追跡クジラウォレットの割合 |
| whale_n_wallets | シンボルにポジションを持つ追跡クジラウォレットの数 |
| composite_long | ロング方向でクエリされたシンボルの複合スコア |
| composite_short | ショート方向でクエリされたシンボルの複合スコア |
| funding_spread | シンボルのクロスベニュー資金調達スプレッド |
"name": "BTC資金調達率スパイク",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}
GET /kelly
指定されたシンボル、信頼レベル、方向に対して、過去のシグナルパフォーマンスに基づいて調整されたケリー基準ポジションサイジング推奨を返します。実証済みの勝率に基づいてポジションサイズを決定し、過剰なレバレッジを防ぎます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symbolrequired | string | 資産シンボル: BTC, ETH、または SOL |
| confidenceoptional | string | モデル化するシグナルの信頼レベル: HIGH, MEDIUM、または LOW。デフォルト: HIGH |
| directionoptional | string | 取引方向: long または short。デフォルト: long |
| account_sizeoptional | float | 計算するUSD建てのアカウントサイズ suggested_size_usd。デフォルト: 10000 |
レスポンス例
"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": "推定誤差を考慮し、実際の取引ではハーフケリーを推奨します。"
}
GET /performance
APIが発行したシグナルの過去の精度統計を、信頼度レベル別に分解して返します。資金を投入する前にシグナルの信頼性を理解するのに役立ちます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| symboloptional | string | 資産でフィルタリングします。すべてのシンボルにわたる集計統計の場合は省略します。 |
| daysoptional | integer | 遡及期間(日数)。デフォルト: 30 |
レスポンス例
"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 }
}
}
統計 & シグナル
GET /v1/stats
サイト全体の公正なパフォーマンス統計は、 smart_money_confirm の個別コール結果から取得されます。HIGHおよびMEDIUM信頼度層での勝率、全体の精度、プロフィットファクター、およびシンボル別の内訳を返します。すべての数値はスコアリング期間内のインサンプルです。コンテキストとフォワードホールドアウト手法については、 calibration.html を参照してください。
レスポンス例
"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": "個別確認コール、24時間解決結果",
"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
}
}
forward_holdout オブジェクトは、スコアラーが未確認のデータから得られた唯一の数値です。時間の経過とともに増加する様子を確認してください。完全な手法とインサンプル/フォワードテストの境界については、 calibration.html を参照してください。GET /v1/signals/performance
複数の解決期間(4h、12h、24h、72h)にわたるシグナル結果の追跡。期間ごとのヒット率、総シグナル数、およびシグナルタイプ別の内訳を返します。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| daysoptional | integer | 遡及期間(日数)。デフォルト: 30 |
| signal_typeoptional | string | タイプでフィルタリングします(例: smart_money_confirm または regime_flip)。すべてのタイプの場合は省略します。 |
| symboloptional | string | 資産シンボルでフィルタリングします(例: BTC)。すべてのシンボルにわたる集計の場合は省略します。 |
レスポンス例
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
時間軸: {
4時間: { ヒット率: 0.65, 解決済み: 46 },
12時間: { ヒット率: 0.61, 解決済み: 44 },
24時間: { ヒット率: 0.58, 解決済み: 40 },
72時間: { ヒット率: 0.54, 解決済み: 32 }
},
タイプ別内訳: {
Smart Money確認: { 件数: 35, 24時間ヒット率: 0.61 },
レジーム反転: { 件数: 13, 24時間ヒット率: 0.47 }
}
}
GET /v1/signals/recent
監視対象全銘柄で最近公開されたHIGHおよびMEDIUMシグナルのフィード。各エントリには、シグナルタイプ、信頼度ティア、方向、および可能な場合は解決ステータスが含まれます。
レスポンス例
signals: [
{
id: 1042,
symbol: BTC,
direction: ロング,
signal_type: smart_money_confirm,
confidence: HIGH,
composite: 0.74,
ts: 1710940821,
resolved: true,
outcome_24h: 勝利
}
],
count: 50
}
GET /v1/signals/{id}/outcome
数値IDによる単一シグナルの解決結果。各解決時間軸(4h、12h、24h、72h)でのヒット/ミスと、シグナル時および解決時の価格を返します。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| id必須 | 整数 | シグナルID(パスセグメント)、例: /v1/signals/1042/outcome |
レスポンス例
id: 1042,
symbol: BTC,
direction: ロング,
confidence: HIGH,
entry_price: 63200.0,
ts: 1710940821,
outcomes: {
4h: { result: 勝利, price: 64100.0, pct: 1.41 },
12h: { result: 勝利, price: 65200.0, pct: 3.16 },
24h: { result: 勝利, price: 65800.0, pct: 4.11 },
72h: { result: 保留中, price: null, pct: null }
}
}
GET /v1/confirm-winrate
認証済みユーザーのAPIキー固有のConfirmシグナル勝率内訳。各信頼度ティア、利益率、銘柄別数値のユニークコール勝率を返します。有効な X-API-Key ヘッダーが必要です。
リクエスト例
"https://api.smartmoneyapi.com/v1/confirm-winrate"
レスポンス例
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
medium_n: 34,
全体の精度: 0.613,
overall_n: 48,
プロフィットファクター: 1.77,
勝率の期間: 24h,
シンボル別: {
BTC: { 勝率: 0.68, n: 22 },
ETH: { 勝率: 0.55, n: 18 }
}
}
シャドウゲート
変更不可で追記専用の個人意思決定台帳。取引の意思決定を実行前または実行後に提出すると、システムがSmart Moneyエンジンに対する確認スコアを計算し、恒久的な行を追加します。APIのシグナルと自身のエントリーがどの程度一致していたかを、タイムスタンプ付きで正直に記録するために使用できます。これはグローバルな勝率プールとは完全に独立しています。FreeおよびTraderティアのレスポンスからは証拠フィールドが削除されます。Proでは完全な内訳が返されます。Freeティアのデータにはティア遅延が適用されます。
意思決定を提出します。冪等性があります。 Idempotency-Key リクエストヘッダー — 同じキーを再送信すると、既存の行が返され、重複は作成されません。システムはすぐに確認エンジンを呼び出し、結果を不変の台帳行として追加します。
リクエストボディ
| フィールド | タイプ | 説明 |
|---|---|---|
| シンボル必須 | 文字列 | 資産シンボル(例: BTC |
| サイド必須 | 文字列 | 取引方向: long または short |
| strategy_id任意 | 文字列 | 呼び出し側定義の戦略ラベル(最大64文字)。グループ化とフィルタリングのためにそのまま保存されます。 |
リクエスト例
-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"
レスポンス例
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"ts": 1710940821,
"resolved": false
}
factors / adjustments evidenceフィールドを省略します。Proは完全なconfirmの内訳を返します。Freeにはティア遅延が適用され、行は即座に書き込まれますが、confirmスコアは最大60秒前のキャッシュデータを反映している場合があります。自身のshadow-gateの決定を新しい順にリストします。所有者スコープ — あなたのAPIキーによって送信された決定のみが返されます。
パラメータ
| パラメータ | タイプ | 説明 |
|---|---|---|
| limitoptional | integer | 返される最大行数。デフォルト: 50, 最大: 200 |
| cursoroptional | string | 前回のレスポンスからの不透明なページネーションカーソル next_cursor field。最初のページでは省略してください。 |
レスポンス例
"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": ショート, 決定: SKIP, 信頼度: LOW, 複合: -0.12, size_mult: 0.0, ts: 1710937000, 解決済み: True }
],
カウント: 2,
next_cursor: None
}
IDによる単一の決定。Proティアには完全な確認証拠を含む。FreeおよびTraderティアのレスポンスには factors および adjustments が削除されています。 403 異なるAPIキーに属する決定の場合、
レスポンス例(Pro)
id: 318,
シンボル: BTC,
サイド: ロング,
strategy_id: ema_crossover,
決定: CONFIRM,
信頼度: HIGH,
複合: 0.74,
size_mult: 1.5,
要因: {
デリバティブ: { スコア: 0.81, 重み: 0.40, 加重: 0.324 },
オンチェーン: { スコア: 0.68, 重み: 0.35, 加重: 0.238 },
クジラ: { スコア: 0.73, 重み: 0.25, 加重: 0.183 }
},
ts: 1710940821,
解決済み: False,
結果: None
}
決定の結果を手動で解決します。取引を閉じた後、このAPIを呼び出して元帳行に最終結果を記録します。一度解決されると、行は不変となり再度変更できません。
リクエストボディ
| フィールド | タイプ | 説明 |
|---|---|---|
| outcome必須 | 文字列 | 取引結果: win または loss |
| exit_price任意 | 浮動小数点数 | 取引の終値。参照用に保存され、提供された場合はP&L%の計算に使用されます。 |
| pnl_pct任意 | 浮動小数点数 | 実現済みP&Lをポジションサイズのパーセンテージで表したもの。例: 3.5 または -1.2 |
レスポンス例
id: 318,
解決済み: True,
結果: 勝利,
exit_price: 65800.0,
pnl_pct: 4.1,
resolved_at: 1711027200
}
エラーコード
| ステータス | コード | 説明 |
|---|---|---|
| 400 | invalid_params | クエリパラメータが不足または無効 |
| 401 | unauthorized | APIキーが不足または無効 |
| 403 | plan_restriction | 現在のプランでは利用できないエンドポイント |
| 429 | rate_limit_exceeded | 1日またはバースト制限に達しました |
| 500 | internal_error | サーバーエラー — /healthでソースステータスを確認してください |
| 503 | data_stale | データソースが利用不可。最後に取得したデータが返されます |
コード例
Python
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
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()
# トレードループ内での使用例:
signal = confirm_trade("BTC", "long")
if signal["confidence"] not in ["HIGH", "MEDIUM"]:
print("スキップ — 信頼度が不足しています")
else:
size = base_size * signal["size_mult"]
place_order(symbol, direction, size)
JavaScript / Node.js
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(`APIエラー: ${resstatus}`);
return res.json();
}
// 使用例
confirmTrade('BTC', 'long').then(data => {
console.log(dataconfidence, datasize_mult);
});
cURL
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
# クジラデータを取得
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/whales?symbol=BTC"
# 使用量を確認
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage
Freqtrade連携
Smart Moneyの確認を任意のFreqtrade戦略に追加するには、 confirm_trade_entry メソッドをオーバーライドします。
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 # 未対応のシンボルはチェックをスキップ
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 # APIエラー時はオープンで失敗
CCXT + Smart Money
exchange = ccxt.bybit({
"apiKey": "YOUR_BYBIT_KEY",
"secret": "YOUR_BYBIT_SECRET"
})
SM_KEY = "sm_your_key"
def smart_trade(symbol, side, amount):
# まず確認を行う
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"Skipping {symbol} {side} — 信頼度が不足しています。")
return None
adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"注文を実行: {adj_amount} {symbol} {side}")
return order
リアルタイムの稼働状況は APIステータスページ をご確認いただくか、 お問い合わせフォーム.