Smart Money API
프로페셔널 등급의 인텔리전스 API로, 파생상품 데이터, 온체인 메트릭스, 고래 지갑 활동을 단일 신뢰도 점수로 집계하여 트레이딩 봇에 제공합니다.
https://api.smartmoneyapi.com/v1디자인 원칙
이 API의 모든 엔드포인트와 반환되는 모든 점수는 네 가지 아이디어로 구성됩니다. 또한 이 API가 제공하는 것과 제공하지 않는 것의 정직한 경계이기도 합니다.
전략 우선, 신호 우선 아님. 이것은 매수/매도 신호 피드가 아닙니다. 당신이 전략과 진입을 제공하면, API는 주변 시장 구조(파생상품 포지셔닝, 펀딩, 미결제약정, 청산, 온체인 흐름, 고래 합의)가 이미 실행하려는 트레이드와 일치하는지 알려줍니다.
신뢰도 점수 기반, 이진 예측 아님. 모든 답변에는 등급이 부여됩니다 confidence (HIGH / MEDIUM / LOW) 그리고 composite -1.0에서 +1.0까지의 점수가 포함됩니다. 보장된 결과나 오라클 호출은 없습니다. 당신은 합의에 대한 보정된 판독값과 그 뒤에 있는 이유를 얻어, 확신에 비례하여 사이즈를 조정할 수 있습니다.
의사 결정 지원, 실행 조언 아님. API는 CONFIRM / REDUCE / SKIP 권장 사항과 당신의 로직이 실행할 사이즈 승수를 반환합니다. 주문을 직접 처리하지 않으며, 여기에 포함된 어떤 것도 금융 조언이 아닙니다. 위험, 사이징, 실행에 대한 책임은 당신에게 있습니다.
살아있는 메트릭, 고정된 보장 아님. 승률, 체제 통계, 정확도 수치는 롤링 샘플에서 계산되며 시장이 움직임에 따라 변동합니다. 우리는 이 수치를 정직하게 공개하며, 평범할 때도 포함합니다. 모든 메트릭을 미래에 대한 약속이 아닌 현재의 관찰로 취급하십시오.
이 API의 대상
이 API는 암호화폐 봇, 알고리즘, AI 에이전트 개발자 를 위해 제작되었습니다. 이미 TA 전략, ML 모델, 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 | API의 LLM 친화적인 일반 텍스트 요약. 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로 조정하세요. 이것이 전체 통합 루프입니다. 전체 필드 참조는 응답 필드 를 참조하세요.
인증
모든 요청은 API 키가 X-API-Key HTTP 헤더로 전달되어야 합니다.
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/분 | 실시간 |
| Pro | 5,000 | 60/min | 실시간 |
| Enterprise | 100,000 | 400/min | 실시간 |
모든 응답에 Rate limit 헤더가 포함됩니다: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Base URL
아래의 모든 엔드포인트는 이 base URL을 기준으로 합니다. 모든 응답은 JSON 형식이며 Content-Type: application/json.
오류
오류는 표준 HTTP 상태 코드와 일관된 JSON 본문을 사용합니다. 항상 응답 텍스트가 아닌 상태 코드를 기준으로 분기하세요. 가장 자주 접하게 될 세 가지는 다음과 같습니다:
| 상태 | 코드 | 의미 및 조치 |
|---|---|---|
| 401 | unauthorized | API 키가 누락되었거나 유효하지 않습니다. X-API-Key 헤더가 존재하고 올바른지 확인하세요. |
| 402 | payment_required | 해당 엔드포인트 또는 심볼은 현재 키의 플랜보다 더 높은 등급이 필요합니다 (예: 무료 키로 WebSocket firehose 호출). 업그레이드 또는 공개 엔드포인트로 되돌아가세요. |
| 429 | rate_limit_exceeded | 일일 또는 버스트 한도에 도달했습니다. 잠시 후 다시 시도하세요. X-RateLimit-Reset연속적으로 요청하지 마세요. |
모든 오류는 동일한 형식으로 반환됩니다:
"error": "rate_limit_exceeded",
"message": 일일 100회 호출 제한에 도달했습니다. UTC 00:00에 재설정됩니다.,
상태: 429
}
전체 상태 코드 목록(400 / 403 / 500 / 503 등)은 에러 코드를 참조하세요. 견고한 통합은 5xx 및 429를 일시적인 오류로 처리(백오프와 함께 재시도)하고 401/402/403을 종료 오류로 처리(키 수정 또는 요금제 변경)합니다.
보안 모범 사례
키를 URL이 아닌 헤더로 전송하세요. 항상 X-API-Key 를 HTTP 헤더로 전달하세요. 쿼리 문자열의 키(?key=)는 프록시, 로드 밸런서 및 브라우저 기록에 로깅됩니다 — 이러한 이유로 레거시 ?key= 인증은 더 이상 WebSocket 엔드포인트에서 허용되지 않습니다.
키를 서버 측에 보관하세요. 클라이언트 측 JavaScript, 모바일 앱 번들 또는 공개 저장소에 API 키를 포함하지 마세요. 환경 변수 또는 비밀 관리자에서 로드하세요. 키가 유출되면 교체하세요.
주기적으로 키를 교체하세요. 대시보드에서 키를 재생성하세요. 대시보드 에서 일정에 따라 또는 노출이 의심될 경우 즉시 재생성하세요. 새 키가 발급되면 이전 키는 즉시 작동을 중지합니다.
브라우저 소켓에 티켓을 사용하세요. 브라우저에서 실시간 스트림을 사용할 때, 원시 키로 연결하는 대신 키를 일회용 티켓으로 교환하세요 — 참조 WebSocket 인증(티켓).
코딩 에이전트 / LLM과 함께 사용하기
Claude Code, Codex, Cursor 또는 어떤 LLM 코딩 에이전트를 사용하여 구축 중이신가요? 이 API를 올바르게 연결하는 데 필요한 모든 것을 한 번에 에이전트에게 전달할 수 있습니다. 두 가지 기계 판독 가능한 참조가 게시되어 있습니다:
| 리소스 | 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개 이상의 지갑을 커버합니다. 프로 버전은 전체 스크리너, 내보내기 기능 및 더 넓은 시장 커버리지를 제공합니다; /confirm 각 시장이 신뢰할 수 있는 실적을 축적함에 따라 심볼 지원이 확장됩니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol필수 | 문자열 | 자산 심볼. 다음 중 하나: 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, 소스: 코인메트릭스, 사용 가능: 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 맵. 온체인 요소는 실제 무료 코인메트릭스 데이터를 사용합니다 (MVRV / 거래소 유출입 / 활성 주소) Glassnode 키가 설정되지 않은 경우. 이는 다중 요소 융합 점수 — 의사 결정 지원용이며, 보장된 승률이 아닙니다.
추적되지 않는 심볼은 정직합니다. 추적되는 파생상품/고래 범위 밖의 심볼은 명시적인 "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" 반환하며 "unsupported":true — 절대 조작된 LOW.
응답 필드
| 필드 | 유형 | 설명 |
|---|---|---|
| ts | 정수 | 계산의 유닉스 타임스탬프 |
| symbol | 문자열 | 자산 심볼 (BTC/ETH/SOL) |
| direction | 문자열 | 요청된 방향 (롱/숏) |
| composite | 부동소수점 | -1.0(극단적 반대)부터 +1.0(강력한 확인)까지의 복합 융합 점수. 승률이 아닙니다. |
| base_composite | 부동소수점 | 후필터 조정 적용 전의 복합 점수 |
| confidence | 문자열 | HIGH / MEDIUM / LOW / VETO / NO_DATA |
| action | 문자열 | CONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP |
| size_mult | 부동소수점 | 제안된 포지션 크기 승수 (예: 0.0 – 1.5) |
| unsupported | 불리언 | true 심볼이 커버리지 밖일 때 (NO_DATA와 함께) |
| deriv_score | 부동소수점 | 파생상품 하위 점수 (-1 ~ 1) |
| onchain_score | 부동소수점 | 온체인 하위 점수 (-1 ~ 1) |
| whale_score | 부동소수점 | 고래 합의 하위 점수 (-1 ~ 1) |
| x_score | 부동소수점 | X/소셜 감정 하위 점수 (-1 ~ 1); 사용되지 않을 때 0 |
| factors | 객체 | 요소별 상세: score × weight = weighted 파생상품 / 온체인 / 고래 / x_sentiment (온체인 포함 source) |
| adjustments | 객체 | 부호 있는 후필터 조정 (일치도, 추세, rsi_1h, news_macro, 모멘텀, time_of_day, streak_decay) |
| weights | 객체 | 이 평가에 실제 사용된 가중치 집합 |
| coverage | 객체 | {derivatives, whale, onchain} — 실제 데이터가 있었던 요소 |
| reasons | 배열 | 점수에 대한 인간이 읽기 쉬운 설명 문자열 |
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 & ETH 스팟 ETF 일일 순 유입 및 펀드별 세부 내역 (공개). 엔드포인트: /v1/etf/flows, /v1/etf/funds.
GET /v1/historical/*
백테스팅을 위한 과거 펀딩, 미결제약정, 롱/숏 비율 (바이낸스), OHLCV (코인게코) 데이터. 엔드포인트: /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/*
뉴스 인텔리전스: 정책/지정학적/크립토 뉴스를 영향 범주별 분류, 공포 & 탐욕 지수 포함 (공개, 인증 불필요). 엔드포인트: /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 (유닉스 타임스탬프), to (유닉스 타임스탬프).
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. 다음을 참조하세요 웹훅 구현 가이드.
인텔리전스
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
반환 두 가지 보완적 뷰: (1) 레버리지 기반 levels — 다음의 추정치 어디에 청산 클러스터가 위치하는지; 및 (2) realized_heatmap — 실제 실행된 강제 청산 강도(가격 × 시간), 공개 거래소 웹소켓 피드에서 실시간 집계: Binance, OKX, Bybit, Bitget, BitMEX. 히트맵은 해당 심볼에 대한 데이터가 스트림에 있을 때 표시됩니다(매우 차분한 시장이나 시작 직후에는 없음).
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol선택 | string | 자산 심볼(기본값 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 스타일의 가격 × 시간 행렬을 반환합니다. 실제 실행된 강제 청산, 각 청산이 기록된 가격으로 버킷팅 — 공개 거래소 웹소켓 피드에서 실시간 집계: 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": "9만 4천 달러 주요 청산 클러스터 아래. 일반적인 스윙 스탑." },
"wide": { "price": 91200, "note": "4시간 수요 존 아래. 포지션 트레이딩 스탑." }
},
"avoid_zones": [
{ "low": 94200, "high": 94800, "reason": "밀집 청산 클러스터 — 높은 슬리피지 위험" }
],
"take_profit_suggestions": [
{ "tp1": 98500, "tp2": 101000, "tp3": 104200 }
]
}
recommended 스탑만. Pro 플랜: 세 가지 스탑 단계 모두, 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": "HYPE 롱 / 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선택 사항 | string | 단일 심볼 (예: BTC). 생략하면 모든 추적된 심볼을 |score| 순으로 정렬하여 제공합니다. |
| window_hours선택 사항 | int | 점수화 기간, 최대 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선택 사항 | float | 포함될 심볼의 최소 총 노션(USD). 기본값: 1000000. |
예시 요청
예시 응답
"ok": true, "ts": 1783423500, 최소 명목 금액: 1000000, 심볼 수: 92,
심볼 목록: [
{
심볼: BTC,
총 USD: 2447900000.0, 순 USD: -51000000.0, 스큐: -0.021,
고래 수: 414, 거래소 수: 3,
거래소: {
hl: { 총액: 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가 0을 교차하는 스트라이크), 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 },
{ "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"
}
}
available: false 빈 패널을 반환합니다 — 절대 조작된 GEX를 반환하지 않습니다. IV 스큐는 25Δ에 대한 고정 ±10% 스트라이크 프록시를 사용합니다(진정한 25-델타는 스트라이크별 델타 계산 필요); 표시에 적합하며 근사치로 문서화되었습니다.GET /v1/liquidations/simulate
인터랙티브 청산 연쇄 스트레스 테스트. 가상의 가격 변동을 가정하여, 청산될 레버리지 포지션의 예상치, 가격 수준/방향/거래소별 강제 거래량, 그리고 연쇄 깊이 분석 결과를 반환합니다. 하락 시 청산되는 것은 롱 포지션으로 청산 가격이 목표 가격 이상인 경우이며, 상승 시 청산되는 것은 숏 포지션으로 청산 가격이 목표 가격 이하인 경우입니다. 두 가지 독립적인 방법이 통합됩니다: 추적 중인 Hyperliquid 고래들의 실제 레버리지/진입 가격에서 정확한 청산 가격을 계산하는 방법과, 거래소별 통계적 미체결약물(오픈인터레스트) 밴드 클러스터(펀딩으로 추정한 대중 레버리지)를 분석하는 방법입니다. 모든 정보는 명확히 표시되지만, estimated: true — 개별 계정의 마진, 크로스 vs 격리, 추가 마진, 또는 ADL(자동 감손)은 알 수 없습니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol선택 사항 | string | 자산 심볼. 기본값: BTC. |
| move_pct선택 사항 | 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": "추정치 — 계정별 마진, 크로스 vs 격리, 추가 마진 또는 ADL을 알 수 없음." }
}
ok: true, empty: true 가짜 바가 아닌 일반적인 영어 메시지로 반환됩니다. realized_context 이는 라이브 강제 청산 스트림에서 얻은 젊고 성장 중인 샘플로, 단지 맥락으로 제공될 뿐 — 이는 예측을 "실현"시키지 않습니다.GET /v1/wallet/{addr}/profile
크로스-벤처 지갑 프로필 라이브로 추적되는 고래 포지션 스냅샷으로 완전히 구성됩니다. 추적 중인 Hyperliquid 고래의 경우 현재 오픈 포지션, 미실현 PnL / 노출 / 포지션 카운트 시계열, OPEN/CLOSE/FLIP 활동 타임라인 (연속 스냅샷 비교로 재구성), 디코딩된 HL-리더보드 레이블 및 오픈북 요약. 라이브 페이지: wallet-profiler.html.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| addr필수 | string | 지갑 주소 (경로 세그먼트), 예: /v1/wallet/0x3bcae23e…/profile. |
| days선택 | 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, 승률(%): 71, 거래 횟수: 42 },
포지션: [
{ 거래소: hyperliquid, 심볼: 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 오픈 노셔널입니다. 라운드트립 당 실현 P&L은 확인할 수 없음 (오픈 스냅샷만 확인되며 청산 체결은 볼 수 없음)으로 표시되며, null / —; 타임라인의 CLOSE 이벤트는 P&L 정보를 포함하지 않습니다. 유효하지만 추적되지 않은 주소는 tracked: false 참고와 함께 반환되며, 유효하지 않은 주소는 ok: false, error: "invalid_address" (HTTP 400)을 반환합니다. HL-리더보드 레이블은 HL 자체의 검색 시점 기준 순위이며, 저희가 계산한 값이 아닙니다.GET /flows
BTC, ETH, SOL 간의 자금 흐름 데이터를 다양한 시간대별로 제공하여 자금이 어느 자산으로 이동하는지 식별하는 데 유용합니다.
예시 응답
타임스탬프: 1710940821,
자금 흐름: {
BTC: { 1시간: 142000000, 4시간: 380000000, 12시간: -90000000, 24시간: 220000000 },
ETH: { 1시간: -38000000, 4시간: -110000000, 12시간: 55000000, 24시간: -80000000 },
SOL: { 1시간: 12000000, 4시간: 29000000, 12시간: 18000000, 24시간: 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 객체만 반환합니다. 프로 계획: 전체 events 지갑 식별자, 규모 및 타임스탬프가 포함된 피드.GET /regimes/history
주어진 자산에 대한 과거 레짐 분류 데이터를 반환합니다. 이를 사용하여 특정 레짐 유형의 과거 성과, 각 레짐 유형의 일반적인 지속 시간, 그리고 레짐 전환이 시간에 따라 어떻게 전개되는지 백테스트할 수 있습니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol선택 사항 | string | 자산 심볼. 기본값: BTC |
| regime선택 사항 | string | 특정 레짐 유형으로 필터링, 예: late_cycle_divergence. 모든 레짐을 보려면 생략하세요. |
| days선택 사항 | 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
파생상품 감정, 고래 활동, 변동성 및 소셜 신호를 기반으로 계산된 실시간 공포 & 탐욕 지수(0-100)를 반환합니다. 트렌드 분석을 위한 구성 요소 분석 및 24시간 기록이 포함됩니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol선택 사항 | 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 //@version=5 indicator(...)...",
"whale_activity": "// Whale Activity Overlay v1 ...",
"funding_dashboard": "// Funding Rate + LSR Dashboard v1 ..."
}
}
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 crossover",
"price": 67500.0
}
필수: secret, symbol, direction (long|short). 선택 사항: source, timeframe, strategy, price.
개인화
GET /preferences
기본 거래 매개변수, 위험 프로필, 관심 목록 및 알림 설정을 포함한 현재 개인화 설정을 반환합니다.
아래 필드 중 일부를 JSON 본문으로 전송하여 설정을 업데이트하세요. 생략된 필드는 현재 값을 유지합니다.
설정 필드
| 필드 | 유형 | 설명 |
|---|---|---|
| default_trade_size_usd | float | Kelly 및 스마트 스톱 계산을 위한 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 파이어호스입니다. 이벤트는 블록에 포함된 후 몇 초 내에 전송됩니다.
공개 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초 유효, 한 번만 사용 가능)으로 소켓을 열 수 있습니다. 헤더를 설정할 수 있는 서버 측 클라이언트는 핸드셰이크 시 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. 일회용 티켓으로 소켓 열기
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를 통해 티켓으로 연결하세요.
흐름: POST 요청을 /v1/ws/ticket 에 X-API-Key 헤더와 함께 전송 → { "ticket": "…", "expires_in": 60 }을(를) 받습니다. 그런 다음 열기 wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>. The ticket is 일회용 이며 유효 기간은 ~60초입니다. 요청 헤더를 설정할 수 있는 서버 측 클라이언트는 대신 X-API-Key 를 WebSocket 핸드셰이크에 직접 전달할 수 있습니다. 티켓이 필요 없습니다.
인증된 WebSocket 핸드셰이크를 위한 일회용 티켓을 생성합니다. 인증은 X-API-Key 헤더로 진행됩니다(키는 요청 헤더를 벗어나지 않음). 반환된 티켓은 만료 전에 /v1/ws/live-swaps 에서 한 번만 사용할 수 있습니다.
"https://api.smartmoneyapi.com/v1/ws/ticket"
응답 예시
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
응답 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| ticket | string | 일회용 토큰으로, WebSocket URL에 ?ticket= 로 추가됩니다. 한 번 사용 후 무효화됩니다. |
| 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 | 유닉스 epoch 초 |
| significance | string | low / medium / high / critical USD 규모 기반 |
| seq | number | 모노토닉 브로드캐스트 시퀀스 번호 — 갭 감지용 |
POST /alerts/conditions
지정된 메트릭이 임계값을 넘을 때 트리거되는 사용자 정의 알림 규칙을 생성합니다. 알림은 웹훅, 이메일 또는 대시보드 알림 피드로 전달됩니다(설정에 따라).
구성된 모든 알림 조건과 해당 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 as available_metrics and available_operators.
사용 가능한 메트릭
| 메트릭 | 설명 |
|---|---|
| funding_rate | 심볼의 현재 펀딩 비율 (소수로 표시) |
| 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에서 발행한 신호의 과거 정확도 통계를 신뢰도 수준별로 분류하여 반환합니다. 자본을 투자하기 전에 신호의 신뢰성을 이해하는 데 유용합니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| symbol선택 사항 | string | 자산별로 필터링합니다. 모든 심볼에 대한 집계 통계를 보려면 생략하세요. |
| days선택 사항 | 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)에 걸친 신호 결과 추적. 각 기간별 적중률, 총 신호 수 및 신호 유형별 세부 정보를 반환합니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| days선택 사항 | integer | 조회 기간(일 단위). 기본값: 30 |
| signal_type선택 사항 | string | 유형별로 필터링, 예: smart_money_confirm 또는 regime_flip. 모든 유형을 보려면 생략하세요. |
| symbol선택 사항 | string | 자산 심볼별로 필터링, 예: BTC. 모든 심볼에 대한 집계를 보려면 생략하세요. |
예시 응답
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
호라이즌: {
4h: { 적중률: 0.65, 해결됨: 46 },
12h: { 적중률: 0.61, 해결됨: 44 },
24h: { 적중률: 0.58, 해결됨: 40 },
72h: { 적중률: 0.54, 해결됨: 32 }
},
유형별 분류: {
스마트 머니 확인: { 횟수: 35, 24h 적중률: 0.61 },
레짐 전환: { 횟수: 13, 24h 적중률: 0.47 }
}
}
GET /v1/signals/recent
모니터링 중인 모든 심볼에 대해 최근에 발행된 HIGH 및 MEDIUM 신호 피드. 각 항목에는 신호 유형, 신뢰도 등급, 방향 및 가능한 경우 해결 상태가 포함됩니다.
예시 응답
신호: [
{
ID: 1042,
심볼: BTC,
방향: 롱,
신호 유형: 스마트 머니 확인,
신뢰도: HIGH,
복합: 0.74,
타임스탬프: 1710940821,
해결됨: True,
24h 결과: 승리
}
],
횟수: 50
}
GET /v1/signals/{id}/outcome
숫자 ID로 단일 신호의 해결 결과. 각 해결 지점(4h, 12h, 24h, 72h)에서의 적중/실패와 신호 시점 및 해결 시점의 가격을 반환합니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| ID필수 | 정수 | 신호 ID (경로 세그먼트), 예: /v1/signals/1042/outcome |
예시 응답
ID: 1042,
심볼: BTC,
방향: 롱,
신뢰도: HIGH,
진입 가격: 63200.0,
타임스탬프: 1710940821,
결과: {
4h: { 결과: 승리, 가격: 64100.0, 퍼센트: 1.41 },
12h: { 결과: 승리, 가격: 65200.0, 퍼센트: 3.16 },
24h: { 결과: 승리, 가격: 65800.0, 퍼센트: 4.11 },
72h: { 결과: 대기 중, 가격: None, 퍼센트: None }
}
}
GET /v1/confirm-winrate
인증된 사용자의 API 키에 대한 확인 신호 승률 분류. 각 신뢰도 등급, 이익 요소 및 심볼별 수치에 대한 고유 호출 승률을 반환합니다. 유효한 헤더가 필요합니다. X-API-Key 헤더.
예시 요청
"https://api.smartmoneyapi.com/v1/confirm-winrate"
예시 응답
높은 승률: 0.714,
높은 횟수: 14,
중간 승률: 0.530,
중간_n: 34,
전체_정확도: 0.613,
전체_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,
해결됨: False
}
factors / adjustments Pro는 전체 확인 내역을 반환합니다. Free 티어에는 지연이 적용됩니다. 행은 즉시 기록되지만 확인 점수는 최대 60초 전의 캐시된 데이터를 반영할 수 있습니다.자신의 shadow-gate 결정을 최신순으로 나열합니다. 소유자 범위 — 귀하의 API 키로 제출된 결정만 반환됩니다.
매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| limit선택 사항 | 정수 | 반환할 최대 행 수. 기본값: 50, 최대: 200 |
| 커서선택 사항 | 문자열 | 이전 응답의 불투명한 페이지네이션 커서 next_cursor 필드. 첫 페이지에서는 생략합니다. |
응답 예시
"decisions": [
{ "id": 318, "symbol": "BTC", 사이드: 롱, 결정: 확인, 신뢰도: 높음, 복합: 0.74, 사이즈_배수: 1.5, 타임스탬프: 1710940821, 해결됨: False },
{ 아이디: 317, 심볼: ETH, 사이드: 숏, 결정: SKIP, 신뢰도: LOW, 복합: -0.12, size_mult: 0.0, ts: 1710937000, 해결됨: True }
],
카운트: 2,
next_cursor: None
}
Pro 티어의 전체 확인 증거를 포함한 ID별 단일 결정. 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를 호출하여 원장 행에 최종 결과를 기록합니다. 해결되면 해당 행은 변경할 수 없으며 다시 변경할 수 없습니다.
요청 본문
| 필드 | 타입 | 설명 |
|---|---|---|
| 결과필수 | 문자열 | 거래 결과: win 또는 loss |
| exit_price선택 | float | 거래의 종료 가격. 참조용으로 저장되며, 제공된 경우 P&L % 계산에 사용됩니다. |
| pnl_pct선택 | float | 포지션 크기의 실현 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 | 일일 또는 버스트 제한에 도달함 |
| 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()
# In your trading loop:
signal = confirm_trade(BTC, long)
if signal[confidence] not in [HIGH, MEDIUM]:
print(Skipping — insufficient confidence)
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 error: ${resstatus}`);
return res.json();
}
// Usage
confirmTrade('BTC', 'long').then(data => {
console.log(data.confidence, data.size_mult);
});
cURL
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long
# Get whale data
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/whales?symbol=BTC
# Check usage
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage
Freqtrade 연동
메서드를 재정의하여 Freqtrade 전략에 Smart Money 확인을 추가하세요. 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 포함되지 않음 [BTC, ETH, SOL]:
True 반환 # 지원되지 않는 항목 확인 생략
시도:
r = requests.get(
f{self.SM_BASE}/confirm,
params={"symbol": symbol, "direction": "long"},
headers={"X-API-Key": self.SM_API_KEY},
timeout=3
).json()
반환 r.get("confidence") 포함 ["HIGH", "MEDIUM"]
예외 발생 시:
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"{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 상태 페이지 실시간 상태 정보를 확인하거나, 문의 양식.