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 "sm_your_key" BASE = "https://api.smartmoneyapi.com/v1" def 확인(symbol, direction): r = requests.get( f{BASE}/confirm, params={"symbol": symbol, "direction": direction}, headers={"X-API-Key"API_KEY}, timeout=5,)raise_for_status() return r.json() sig = confirm(BTC, ) if sig["action"] == "CONFIRM": place_order("BTC", "long") # your execution else: print("skip:", sig["reasons"])
응답
{ "symbol": "BTC", "direction": "long", "action": "CONFIRM", "confidence": "HIGH", "composite": 0.74, "size_mult": 1.5, "reasons": ["Funding positive across venues", "Whales 67% long"] }
레시피 2

Freqtrade 신호 게이트

재정의 confirm_trade_entry API가 확인한 진입만 Freqtrade가 실행하도록 설정. 실패 시 열기 API 오류 시에도 거래가 완전히 차단되지 않도록 시간 초과 설정.

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 # fail open on API error
Recipe 3

Size by size_multiplier

Let conviction set position size. Multiply your base size by size_mult (0.0–1.5) so HIGH-confidence trades get more capital and weak ones get less.

Python
BASE_SIZE_USD = 1000 sig = 확인("ETH", ) mult = sig.get("size_mult", 0.0) size = BASE_SIZE_USD * mult if 사이즈 > 0: 주문하기(ETH, , size_usd=size) print(f"entered ${size:.0f} (mult {mult})")
A size_mult 0.0은 진입하지 않음을 의미합니다 — SKIP과 동일한 결과입니다. 자신의 기준치 미만은 모두 SKIP으로 처리하세요.
Recipe 4

SKIP 시 건너뛰기 / REDUCE 시 축소

세 가지 액션을 명시적으로 처리하세요. CONFIRM은 전체 크기로 진입, REDUCE는 (더 작은) 승수로 진입, SKIP은 제외합니다.

Python
sig = confirm(symbol, direction)action = sig[] "action" if action ==: 주문하기(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) elif action == "REDUCE": # 구조가 혼합됨 — 진입 규모 줄이고, 스탑 손실 강화 주문하기(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은 종료적(플랜 또는 키 수정 필요)로 처리하세요.

Python
import time, requests def confirm_safe(symbol, direction, retries=3): for attempt in range(retries):get({BASE}/confirm,"symbol": symbol, "direction": direction},"X-API-Key": API_KEY}, timeout=5, ) if r.status_code == 200: return r.json() if r.status_code in (401, 402, 403): raise RuntimeError(r.json()) # 터미널: 키/플랜 수정 if r.status_code == 429: reset =int(r.headers.(get, 2))시간.(슬립2 (초기화, ** 시도)) 계속시간.(2 슬립 ** 시도) # 5xx / 일시적 오류
None 반환

레시피 6

코딩 에이전트와 함께 사용 /llms.txt Claude Code, Codex 또는 Cursor에 기계가 읽을 수 있는 레퍼런스를 제공하고 통합을 연결하도록 합니다. 개요는 Smart Money API를, 정확한 구조는 OpenAPI 스펙을 참조하도록 지시하세요.

프롬프트
# Claude Code / Cursor / Codex에 붙여넣기 https://smartmoneyapi.com/llms.txt와 github.com/tashiardit/smartmoneyapi-docs의 OpenAPI 스펙을 읽고, 내 봇에 사전 거래 확인을 추가하세요: X-API-Key로 GET /v1/confirm을 호출하고, action == "CONFIRM"이 아닌 경우에는 항목을 건너뛰세요. size_multiplier로 크기를 조정하세요.

리소스: /llms.txt · OpenAPI 스펙 · Python 클라이언트.

첫 거래를 준비하셨나요?

무료 키를 받고 전체 엔드포인트 참조 문서를 읽어보세요.

결정 지원, 실행 조언이 아닙니다. 재무 조언이 아닙니다. 암호화폐 거래는 상당한 손실 위험이 있습니다.