Cookbook

API Cookbook

实用即用型代码示例,展示如何将Smart Money交易确认API集成至机器人。每个示例都调用 GET /v1/confirm 并对 action, confidence进行操作 size_multiplier。发送您的密钥至 X-API-Key 页眉 — 查看 完整文档.

需要先获取密钥? 免费注册,从您的 仪表板复制,并替换 sm_your_key 下方。
配方1

入场前确认(Python)

经典循环。在您的策略开仓之前,询问API市场结构是否一致。只有当 action == "CONFIRM".

Python
import requests API_KEY = sm_your_key BASE = https://api.smartmoneyapi.com/v1 def confirm(symbol, direction): r = requests.get({BASE}/confirm, params={"symbol": symbol, "direction": direction},"X-API-Key"API_KEY}, timeout=5, ) r.raise_for_status() return r.json() sig = confirm(BTC, 做多) 如果 信号[操作] == 确认: 下单(BTC, 做多) # 您的执行 否则: 打印(跳过:, 信号[原因])
Response
{ symbol: BTC, direction: long, action: CONFIRM, confidence: HIGH, composite: 0.74, size_mult: 1.5, reasons: [Funding positive across venues, Whales 67% long] }
Recipe 2

Gate a Freqtrade signal

Override confirm_trade_entry so Freqtrade only takes entries the API confirms. Fail open on API errors so a timeout never blocks all trading.

Python — Freqtrade
import requests from freqtrade.strategy import IStrategy class SmartMoneyStrategy(IStrategy): SM_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 尝试: r = requests.({self.SM_BASE}/confirm,"symbol": symbol, "direction": "long"}, headers={X-API-Key: self.SM_KEY}, timeout=3, ).json() return r.get("action") == "CONFIRM" except Exception: return True # API 错误时默认通过
策略 3

根据 size_multiplier 调整规模

让信念决定仓位大小。将你的基础规模乘以 size_mult (0.0–1.5),以便高信心的交易获得更多资金,低信心的交易获得更少资金。

Python
BASE_SIZE_USD = 1000 sig = 确认("ETH", "long") mult = sig.获取("size_mult", 0.0仓位大小 = 基础美元规模 * 倍数 如果 数量 > 0: 下单(ETH, 多头, size_usd=size) print(f已入场 ${size:.0f}(倍数 {mult}))
A size_mult 0.0 表示不进场——与跳过(SKIP)结果相同。任何低于您自身底线的数值均视为跳过。
方案 4

遇到 SKIP 时跳过 / 遇到 REDUCE 时减仓

明确处理所有三种操作:CONFIRM 以全仓入场,REDUCE 按(较小)乘数入场,SKIP 保持观望。

Python
sig = confirm(symbol, direction) action = sig["action"] 如果 action == "CONFIRM": place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) elif action == "REDUCE": # structure is mixed — enter smaller, tighten stop place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) else: # SKIP log(f"skip {symbol} {direction}: {sig['reasons']}")
策略5

处理402/429错误

A 402 表示该交易对或接口需要更高级的套餐; 429 表示触发了速率限制。将429/5xx视为临时错误(延迟重试),将402/401/403视为终止错误(需升级套餐或检查API密钥)。

Python
import time, requests def confirm_safe(symbol, direction, retries=3): for attempt in range(重试):get(f"{BASE}/confirm",{"symbol" 方向: direction},X-API-Key: API_KEY},5, ) if r.status_code == 200: return r.json() 如果 r.status_code (401, 402, 403): 抛出 RuntimeError(r.json()) # 终端:修复密钥/计划 如果 r.status_code == 429: reset =int(r.headers.(get, 2))时间。(睡眠分钟 2 (重置, ** 尝试)) 继续时间。(2 睡眠 ** 尝试) # 5xx / 临时性错误
返回 None

方案6

与编码代理配合使用 /llms.txt 将机器可读的参考资料交给Claude Code、Codex或Cursor,让它完成集成。引导它查看概述和OpenAPI规范以获取确切的数据结构。

提示
# 粘贴到 Claude Code / Cursor / Codex 阅读 https://smartmoneyapi.com/llms.txt 和 OpenAPI 规范位于 github.com/tashiardit/smartmoneyapi-docs,然后为我的机器人添加交易前检查:使用我的 X-API-Key 调用 GET /v1/confirm,并跳过任何 action != "CONFIRM" 的条目。根据 size_multiplier 调整交易规模。

资源: /llms.txt · OpenAPI 规范 · Python 客户端.

准备好进行首次交易了吗?

获取免费密钥并阅读完整的端点参考。

决策支持,非执行建议。非财务建议。加密货币交易存在重大损失风险。