Smart Money API
API ระดับมืออาชีพที่รวบรวมข้อมูลอนุพันธ์ ตัวชี้วัดบนบล็อกเชน และกิจกรรมกระเป๋าเงินวาฬเป็นคะแนนความมั่นใจเดียวสำหรับบอทเทรดของคุณ
https://api.smartmoneyapi.com/v1หลักการออกแบบ
สี่แนวคิดที่กำหนดทุก endpoint และทุกคะแนนที่ API นี้ส่งคืน พวกเขายังเป็นขอบเขตที่ซื่อสัตย์ของสิ่งที่มันทำ — และไม่ทำ — สัญญา
กลยุทธ์มาก่อน ไม่ใช่สัญญาณมาก่อน นี่ไม่ใช่ฟีดสัญญาณซื้อ/ขาย คุณนำกลยุทธ์และจุดเข้า API จะบอกคุณว่าโครงสร้างตลาดโดยรอบ — ตำแหน่งอนุพันธ์ เงินทุน ดอกเบี้ยเปิด การล้างบัญชี การไหลบนบล็อกเชน และความเห็นพ้องของวาฬ — เห็นด้วยกับการเทรดที่คุณต้องการทำหรือไม่
คะแนนความมั่นใจ ไม่ใช่การทำนายแบบไบนารี ทุกคำตอบมีระดับ confidence (สูง / ปานกลาง / ต่ำ) และ composite จาก -1.0 ถึง +1.0 ไม่มีการรับประกันและไม่มีการเรียก oracle — คุณจะได้รับการอ่านที่ปรับเทียบเกี่ยวกับความเห็นพ้อง พร้อมด้วยเหตุผลเบื้องหลัง เพื่อให้คุณสามารถกำหนดขนาดตามความเชื่อมั่น
สนับสนุนการตัดสินใจ ไม่ใช่คำแนะนำการดำเนินการ API ส่งคืนคำแนะนำ CONFIRM / REDUCE / SKIP และตัวคูณขนาดสำหรับ ของคุณ ให้ลอจิกดำเนินการ ไม่เคยวางคำสั่ง และไม่มีอะไรที่นี่เป็นคำแนะนำทางการเงิน คุณยังคงรับผิดชอบต่อความเสี่ยง การกำหนดขนาด และการดำเนินการ
เมตริกที่มีชีวิต ไม่ใช่การรับประกันที่ตายตัว อัตราชนะ สถิติระบอบการปกครอง และตัวเลขความแม่นยำคำนวณจากตัวอย่างที่เคลื่อนไหวและเคลื่อนไหวตามตลาด เราตีพิมพ์พวกเขาอย่างซื่อสัตย์ รวมถึงเมื่อพวกเขาปานกลาง ให้ถือว่าทุกเมตริกเป็นการสังเกตการณ์ปัจจุบัน ไม่ใช่คำสัญญาเกี่ยวกับอนาคต
API นี้เหมาะสำหรับใคร
API นี้สร้างขึ้นสำหรับ นักพัฒนา bot, algo และ AI-agent คริปโต ที่มีสัญญาณ long/short อยู่แล้ว — จากกลยุทธ์ TA, โมเดล ML, pipeline Freqtrade, การแจ้งเตือน TradingView หรือ agent LLM — และต้องการการตัดสินใจ CONFIRM / REDUCE / SKIP อย่างรวดเร็ว ก่อนลงทุน
ลูปทั่วไป: กลยุทธ์ของคุณส่งสัญญาณ "long 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% เห็นพ้อง Long"]
}
เมื่อ confidence คือ HIGH หรือ MEDIUM และ action คือ CONFIRM, ขนาดตำแหน่งของคุณตาม size_multนั่นคือวงจรการผสานรวมทั้งหมด ดู ฟิลด์การตอบกลับ สำหรับข้อมูลอ้างอิงฟิลด์ทั้งหมด
การยืนยันตัวตน
ทุกคำขอต้องใช้คีย์ API ที่ส่งเป็น X-API-Key ส่วนหัว HTTP
คีย์ API ของคุณสามารถดูได้จาก แดชบอร์ด หลังจากสมัครสมาชิก เก็บคีย์ของคุณเป็นความลับ — อย่าเปิดเผยในโค้ดฝั่งไคลเอนต์หรือที่เก็บสาธารณะ
/v1/ws/ticket ด้วย X-API-Key ส่วนหัว แล้วเชื่อมต่อด้วยตั๋วที่ได้รับกลับมา ดู การยืนยันตัวตน WebSocket (ตั๋ว).การลงชื่อเข้าใช้ด้วย Google (Firebase Auth)
ผู้ใช้สามารถยืนยันตัวตนโดยใช้บัญชี Google ผ่าน Firebase Authentication หลังจากลงชื่อเข้าใช้ Google บนไคลเอนต์สำเร็จ ให้แลกโทเค็น ID Firebase สำหรับเซสชัน API ที่เชื่อมโยง ระบบจะซิงค์ข้อมูลประจำตัว Google ของคุณกับระบบคีย์ API โดยอัตโนมัติ
เนื้อหาคำขอ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| id_tokenจำเป็น | สตริง | โทเค็น ID Firebase ที่ได้รับหลังจากลงชื่อเข้าใช้ Google บนไคลเอนต์ |
ตัวอย่างการตอบกลับ
"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 ที่สม่ำเสมอ ควรตรวจสอบจากรหัสสถานะเสมอ ไม่ใช่จากข้อความตอบกลับ สามสถานะที่พบบ่อยที่สุด:
| สถานะ | รหัส | ความหมายและวิธีแก้ไข |
|---|---|---|
| 401 | unauthorized | ไม่มีหรือ API key ไม่ถูกต้อง ตรวจสอบว่า X-API-Key ส่วนหัวมีอยู่และถูกต้อง |
| 402 | payment_required | จุดปลายทางหรือสัญลักษณ์ต้องการแผนที่สูงกว่าที่ API key ของคุณมี (เช่น การใช้ API key ฟรีเรียก WebSocket firehose) อัปเกรด หรือกลับไปใช้จุดปลายทางสาธารณะ |
| 429 | rate_limit_exceeded | ถึงขีดจำกัดรายวันหรือแบบทันทีแล้ว หยุดและลองใหม่หลังจาก X-RateLimit-Reset; ห้ามยิงคำขอถี่ |
ทุกข้อผิดพลาดจะส่งกลับรูปแบบเดียวกัน:
"error": "rate_limit_exceeded",
"message": "ถึงขีดจำกัดรายวัน 50 ครั้งแล้ว จะรีเซ็ตเวลา 00:00 UTC",
"status": 429
}
สำหรับรายการรหัสสถานะทั้งหมด (400 / 403 / 500 / 503 และอื่นๆ) ดูที่ รหัสข้อผิดพลาดการเชื่อมต่อที่แข็งแกร่งควรถือว่า 5xx และ 429 เป็นข้อผิดพลาดชั่วคราว (ลองใหม่หลังจากรอ) และ 401/402/403 เป็นข้อผิดพลาดถาวร (ต้องแก้ไข API key หรือแผน)
แนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด
ส่ง key ในส่วนหัว ห้ามส่งใน URL ส่ง X-API-Key เป็นส่วนหัว HTTP เท่านั้น การส่ง key ใน query string (?key=) จะถูกบันทึกโดยพร็อกซี, โหลดบาลานเซอร์, และประวัติเบราว์เซอร์ — การใช้ระบบเก่า ?key= auth จะไม่ได้รับการยอมรับในจุดปลายทาง WebSocket ด้วยเหตุนี้
เก็บ key ฝั่งเซิร์ฟเวอร์เท่านั้น ห้ามฝัง API key ใน JavaScript ฝั่งไคลเอ็นต์, แอปมือถือ, หรือที่เก็บสาธารณะ ควรโหลดจากตัวแปรสภาพแวดล้อมหรือตัวจัดการความลับ หาก key รั่วไหล ให้หมุน key ใหม่
หมุน key เป็นระยะ สร้าง key ใหม่จาก แดชบอร์ด ตามกำหนดหรือทันทีหากสงสัยว่าถูกเปิดเผย key เก่าจะหยุดทำงานทันทีเมื่อมีการออก key ใหม่
ใช้ตั๋วสำหรับ WebSocket ในเบราว์เซอร์ สำหรับสตรีมเรียลไทม์จากเบราว์เซอร์ ควรแลก key ของคุณเป็นตั๋วใช้ครั้งเดียวแทนการเชื่อมต่อด้วย key โดยตรง — ดูที่ การยืนยันตัวตน 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 ตลาดอนุพันธ์ สำหรับข้อมูล funding, OI และการล้างพอร์ต และการติดตามวอลเล็ตใหญ่ครอบคลุม 600+ วอลเล็ต โปรปลดล็อกตัวกรองเต็มรูปแบบ, การส่งออก และความครอบคลุมตลาดที่กว้างขึ้น /confirm การสนับสนุนสัญลักษณ์จะขยายออกไปเมื่อแต่ละตลาดมีประวัติที่น่าเชื่อถือเพียงพอ
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symbolจำเป็น | string | สัญลักษณ์สินทรัพย์ หนึ่งใน: BTC, ETH, SOL (Trader+) |
| directionจำเป็น | string | ทิศทางการเทรด: long หรือ short |
| sourceไม่จำเป็น | 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,
ปัจจัย: {
อนุพันธ์: { คะแนน: 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, whale_intel: 0.25 },
ความครอบคลุม: { อนุพันธ์: True, วาฬ: True, ออนเชน: True },
เหตุผล: [
อัตราเงินสนับสนุนเป็นบวกในทุกแพลตฟอร์ม,
LSR สนับสนุน long: 1.42,
วาฬ: 67% เห็นพ้อง long,
MVRV สูงกว่า 1.0 — บ่งชี้แนวโน้มขาขึ้นบนออนเชน
]
}
โปร่งใสโดยการออกแบบ ทุกการตอบกลับมี factors ออบเจ็กต์แสดงแต่ละส่วนของ คะแนน × น้ำหนัก = ส่วนที่ถ่วงน้ำหนัก ส่วนร่วม, หนึ่ง adjustments ออบเจ็กต์สำหรับการปรับแต่งหลังกรอง, weights ที่ใช้, และ coverage แผนที่ ส่วนออนเชนใช้ ข้อมูล Coin Metrics ฟรีจริง (MVRV / exchange-flow / active-address) เมื่อไม่ได้ตั้งค่า Glassnode key นี่คือการรวมกันของหลายปัจจัย คะแนน การรวมตัว — การสนับสนุนการตัดสินใจ, ไม่ใช่การรับประกันอัตราชนะ.
สัญลักษณ์ที่ไม่ได้ติดตามเป็นข้อมูลจริง สัญลักษณ์นอกเหนือจากอนุพันธ์/จักรวาลวาฬที่ติดตามจะคืนค่า "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 สำหรับอนุพันธ์ / ออนเชน / วาฬ / x_sentiment (ออนเชนรวมถึง source) |
| adjustments | object | การปรับแต่งหลังกรองที่ลงชื่อ (ความสอดคล้อง, แนวโน้ม, rsi_1h, ข่าวมหภาค, โมเมนตัม, time_of_day, streak_decay) |
| weights | object | ชุดน้ำหนักที่ใช้จริงสำหรับการประเมินนี้ |
| coverage | object | {derivatives, whale, onchain} — ส่วนใดที่มีข้อมูลจริง |
| reasons | array | ข้อความอธิบายคะแนนที่มนุษย์อ่านได้ |
GET /snapshot
ส่งคืนภาพรวมตลาดเต็มรูปแบบรวมถึงคะแนนย่อยทั้งหมด ข้อมูลดิบ และค่าตัวบ่งชี้สำหรับสัญลักษณ์ที่กำหนด มีประโยชน์สำหรับแดชบอร์ดและการบันทึก
GET /onchain
ส่งกลับข้อมูลเมตริกออนเชนดิบ: MVRV, SOPR, การไหลสุทธิของ exchange, อัตราส่วน realized cap และการจำแนกตำแหน่งในรอบ
GET /v1/derivatives/*
สกรีนเนอร์อนุพันธ์ข้าม exchange กว่า 500+ สัญลักษณ์: แผนภูมิความร้อนอัตรา funding, การจัดอันดับ open-interest และการตรวจจับสัญญาณอัตราส่วน long/short แถวบนสุด 10 แถวเป็นข้อมูลสาธารณะ; สกรีนเนอร์เต็มต้องใช้ Trader หรือ Pro เอนด์พอยต์: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.
GET /v1/options/*
ข้อมูลวิเคราะห์ออปชัน BTC & ETH จาก Deribit (สาธารณะ, ไม่ต้องยืนยันตัวตน): อัตราส่วน put/call, max pain และ open interest แยกตาม strike เอนด์พอยต์: /v1/options/summary, /v1/options/pcr, /v1/options/oi.
GET /v1/etf/*
ข้อมูลการไหลสุทธิรายวันของ ETF BTC & ETH แบบ spot และรายละเอียดแยกตามกองทุน (สาธารณะ) เอนด์พอยต์: /v1/etf/flows, /v1/etf/funds.
GET /v1/historical/*
ข้อมูลย้อนหลังของ funding, open interest, อัตราส่วน long/short (Binance) และ OHLCV (CoinGecko) สำหรับการ backtesting เอนด์พอยต์: /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
ส่งกลับข้อมูลความเห็นพ้องของวอลเล็ตวาฬ: การแบ่ง long/short, การเปิดเผย notional ทั้งหมด, ตำแหน่งสูงสุด 10 อันดับ (เฉพาะ Pro) และจำนวนวอลเล็ต
GET /signals
ส่งกลับสตรีมของสัญญาณ HIGH/MEDIUM ล่าสุดจากทุกสินทรัพย์ที่ตรวจสอบ มีประโยชน์สำหรับการสแกนโอกาส
GET /v1/strategies/*
ประวัติการทำกำไรที่โปร่งใส แบบอ่านอย่างเดียว สำหรับกลยุทธ์การเทรดอัตโนมัติที่ทำงานบนสัญญาณ Smart Money — รวมถึง deriv40 กลยุทธ์ SmartMoney Copytrade (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— เส้น equity สำหรับการสร้างแผนภูมิ:{ 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— การแบ่งประเภทสัญญาณที่ป้อนให้กลยุทธ์ (จำนวน / ชนะ / อัตราชนะ / กำไรเฉลี่ยต่อประเภทสัญญาณ)
ผลการดำเนินงานในอดีตไม่ได้เป็นเครื่องบ่งชี้ผลการดำเนินงานในอนาคต ตัวเลขถูกเติมย้อนหลังในช่วงเวลา ~3 เดือนพร้อมกับการเทรดสด และแสดงก่อนหักค่าธรรมเนียมตามที่ระบุ
GET /export
ดาวน์โหลดข้อมูลสัญญาณย้อนหลังเป็น CSV สำหรับการ backtesting พารามิเตอร์: symbol, from (unix ts), to (unix ts)
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
ลงทะเบียน URL HTTPS เพื่อรับการ推送เหตุการณ์แบบเรียลไทม์ที่มีลายเซ็นเมื่อมีสัญญาณเกิดขึ้นในสินทรัพย์ที่คุณตรวจสอบ การส่งข้อมูลจะมี X-SmartMoney-Event เฮดเดอร์และลายเซ็น HMAC-SHA256 ใน X-SmartMoney-Signatureและจะลองส่งใหม่สูงสุด 3 ครั้งด้วยการหน่วงเวลา
เนื้อหาคำขอ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| urlrequired | string | เอนด์พอยต์ HTTPS ที่จะ POST เหตุการณ์ไป (ต้องเริ่มต้นด้วย https://) |
| eventsrequired | array | ชื่อเหตุการณ์ เช่น ["HIGH","MEDIUM","VETO"] หรือ ["*"] |
| symbolsrequired | array | สัญลักษณ์สำหรับกรอง เช่น ["BTC","ETH"] หรือ ["*"] |
| secretrequired | string | รหัสลับสำหรับการเซ็นชื่อของคุณ ≥ 16 ตัวอักษร (เก็บแบบแฮช) |
การยืนยันลายเซ็น
คีย์ HMAC คือ hex digest SHA-256 ของรหัสลับที่ลงทะเบียนไว้ คำนวณ HMAC-SHA256 ของเนื้อหาคำขอแบบดิบด้วยคีย์นั้นและเปรียบเทียบ (แบบ constant-time) กับ X-SmartMoney-Signature. ดูที่ คู่มือการใช้งาน Webhook.
อินเทลลิเจนซ์
GET /analysis
ส่งกลับการจำแนกระบบตลาดด้วยพลัง AI พร้อมการตรวจจับความขัดแย้งของสัญญาณ วิเคราะห์ความสอดคล้องของสัญญาณข้ามประเภท ระบุความแตกต่างระหว่างข้อมูลอนุพันธ์ ออนเชน และข้อมูลวาฬ และสร้างสรุปเป็นภาษาธรรมชาติพร้อมปัจจัยความเสี่ยงที่มองไปข้างหน้าและคำแนะนำตามกรอบเวลา
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symbolจำเป็น | string | สัญลักษณ์สินทรัพย์: BTC, ETH, หรือ SOL |
ตัวอย่างการตอบกลับ
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Late Cycle — Signal Divergence",
"summary": "BTC อยู่ในช่วงปลายวัฏจักรขาขึ้นโดยมีความแข็งแกร่งของออนเชนขัดแย้งกับการขยายตัวเกินของอนุพันธ์ วาฬกำลังลดการลงทุนในขณะที่ LSR ของรายย่อยเพิ่มขึ้น",
"signal_conflicts": [
"คะแนนวาฬเป็นขาลงในขณะที่คะแนนออนเชนเป็นขาขึ้น",
"อัตรา Funding สูงสุดใน 3 เดือน — เสี่ยงต่อการถูกบีบ"
],
"risk_factors": ["Funding สูง", "ความแตกต่างของ OI", "การลดลงของวาฬ"],
"recommendation": "ลดการลงทุน Long, ตั้ง Stop Loss ให้กระชับ หลีกเลี่ยงการเปิด Long ใหม่ที่สูงกว่าราคาปัจจุบัน",
"time_horizon": "4h–12h"
}
GET /liquidations
ส่งกลับ มุมมองเสริมสองแบบ: (1) leverage-projected levels — การประมาณการของ ตำแหน่งที่ กลุ่มการล้างพอร์ตอยู่; และ (2) realized_heatmap — การล้างพอร์ตที่เกิดขึ้นจริง ความรุนแรงของการล้างพอร์ตแบบบังคับ (ราคา × เวลา) รวมรวมสดจาก WebSocket feeds ของ交易所สาธารณะ: Binance, OKX, Bybit, Bitget, BitMEX. Heatmap จะแสดงเมื่อสตรีมมีข้อมูลสำหรับสัญลักษณ์นั้น (จะไม่แสดงในตลาดที่สงบมากหรือเพิ่งเริ่มทำงาน)
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symbolไม่จำเป็น | string | สัญลักษณ์สินทรัพย์ (ค่าเริ่มต้น BTC). Heatmap จริงครอบคลุมสัญลักษณ์ perp ที่มีการซื้อขาย活跃 |
ตัวอย่างการตอบกลับ
"symbol": "BTC",
"cascade_risk": "HIGH",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// การล้างพอร์ตที่เกิดขึ้นจริง — สดจาก 5 exchange
"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, ระยะทางที่ใกล้ที่สุด, และผลรวม/ด้านที่เกิดขึ้นจริง แผน Pro: projected เต็มรูปแบบ levels บวกกับ realized_heatmap เต็มรูปแบบ (เมทริกซ์, กลุ่มต่อราคา, นับต่อ exchange). การประมาณ projected ตอบคำถาม "Stop Loss อยู่ที่ไหน" ในขณะที่ heatmap ที่เกิดขึ้นจริงแสดง "สิ่งที่ถูกล้างพอร์ตจริงๆ"GET /liquidations/heatmap
Public heatmap การล้างพอร์ตตามระดับราคา ส่งกลับเมทริกซ์ราคา × เวลาแบบ Coinglass ของ การล้างพอร์ตแบบบังคับที่เกิดขึ้นจริง จัดกลุ่มตามราคาที่แต่ละการล้างพอร์ตเกิดขึ้น — รวมรวมสดจาก WebSocket feeds ของ交易所สาธารณะ: Binance, OKX, Bybit, Bitget, BitMEX. clusters array คือผลลัพธ์ที่ใช้งานได้จริง: ถังราคาที่เรียงตามมูลค่าที่ถูกล้างพอร์ต แต่ละอันมีแท็กด้านที่โดดเด่น ข้อมูลขึ้นอยู่กับสตรีมสด — สัญลักษณ์ที่สงบมากหรือเกตเวย์ที่เพิ่งรีสตาร์ทจะส่งกลับโครงสร้างว่างที่ถูกต้องพร้อม note. ระดับที่แสดงเป็นการล้างพอร์ตจริงเท่านั้น ไม่เคยเป็นค่าประมาณ
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symboloptional | string | สัญลักษณ์ของสินทรัพย์ (ค่าเริ่มต้น BTC). |
| window_minutesoptional | int | ระยะเวลาย้อนหลังในหน่วยนาที (ค่าเริ่มต้น 240, จำกัดอยู่ที่ 5–1440) |
| price_bucketsoptional | int | จำนวนช่วงราคา (ค่าเริ่มต้น 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 is 0, clusters จะว่างเปล่า และฟิลด์ note จะอธิบายสาเหตุ นี่คือบันทึกการชำระบัญชีที่เกิดขึ้นจริง — ไม่ใช่การคาดการณ์. สำหรับการประมาณการ "จุดหยุดอยู่ที่ไหน" ให้ใช้จุดปลายทางที่ต้องยืนยันตัวตน /liquidations จุดปลายทางGET /liquidations/onchain
Executed การชำระบัญชีบน-chain DeFi lending บันทึกโดยตรงจากโหนดเต็มของเราเอง BSC + Avalanche full nodes — เป็นอิสระจากบอทเทรดใดๆ ครอบคลุม Venus/Cream และ Moolah บน BSC และ AAVE V3/V2, Benqi, BankerJoe, Granary และ Vinium บน Avalanche ระดับ Pro จะคืนค่าเพิ่มเติม at_risk positions (ขึ้นอยู่กับบอท, อาจไม่มี)
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| chainoptional | string | bsc หรือ avax. ปล่อยว่างสำหรับทุกเชน |
| limitoptional | integer | จำนวนแถวสูงสุด (ค่าเริ่มต้น 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, ชำระคืน_usd_ทราบ: 148230.55 } },
โหนด: { bsc: { สามารถเข้าถึงได้: true, บล็อกหัว: 89173010, เหตุการณ์ทั้งหมด: 61 } }
}
}
GET /smart-stop
คำนวณระดับ stop-loss ที่ชาญฉลาดตามแผนภูมิความร้อนการล้างพอร์ตปัจจุบัน, แถบความผันผวน, และโครงสร้างตลาด ส่งกลับคำแนะนำ stop แบบแบ่งระดับและข้อเสนอ take-profit ที่ปรับตามราคาเข้าและความเสี่ยงที่คุณยอมรับได้
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symbolrequired | string | สัญลักษณ์สินทรัพย์: BTC, ETH, หรือ SOL |
| directionrequired | string | ทิศทางการเปิดพอร์ต: long หรือ short |
| entry_priceoptional | float | ราคาเข้าของคุณ ค่าเริ่มต้นคือราคาตลาดปัจจุบันหากไม่ระบุ |
| risk_pctoptional | float | ความเสี่ยงสูงสุดที่ยอมรับได้เป็น % ของบัญชี ค่าเริ่มต้น: 2.0 |
ตัวอย่างการตอบกลับ
"symbol": "BTC",
"direction": "long",
"entry_price": 96420,
"stops": {
"tight": { "price": 95100, "note": "ต่ำกว่าโครงสร้าง 1h เหมาะสำหรับการเทรดระยะสั้น" },
"recommended": { "price": 93800, "note": "ต่ำกว่ากลุ่ม liquidation หลักที่ $94K Stop มาตรฐานสำหรับการเทรดระยะกลาง" },
"wide": { "price": 91200, "note": "ต่ำกว่าโซนความต้องการ 4h Stop สำหรับการเทรดระยะยาว" }
},
"avoid_zones": [
{ "low": 94200, "high": 94800, "reason": "กลุ่ม liquidation หนาแน่น — ความเสี่ยง slippage สูง" }
],
"take_profit_suggestions": [
{ "tp1": 98500, "tp2": 101000, "tp3": 104200 }
]
}
recommended stop เท่านั้น แผนโปร: ทั้งสามระดับ stop avoid_zones, และข้อเสนอ take-profit แบบเต็มGET /funding-arb
ระบุโอกาส arbitrage อัตรา funding ข้าม exchange ในเวลาจริง ส่งกลับโอกาสที่เรียงลำดับพร้อมผลตอบแทนต่อปีโดยประมาณ, คู่ exchange ที่เหมาะสมที่สุด, และการดำเนินการ hedge ที่จำเป็นเพื่อคว้าสเปรด
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| min_spreadoptional | float | สเปรดอัตรา funding ขั้นต่ำที่จะรวม (เป็นทศนิยม) ค่าเริ่มต้น: 0.01 |
| symboloptional | 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
}
]
}
เวอร์ชันสาธารณะฟรี ไม่ต้องใช้คีย์
endpoint สาธารณะที่ไม่ต้องใช้คีย์ส่งกลับโอกาส 10 อันดับแรกพร้อม screener ข้าม exchange แบบสด เหมาะสำหรับการ embed หรือการตรวจสอบอย่างรวดเร็ว จะไม่รวมประวัติสเปรดต่อสินทรัพย์และฟิลด์ที่หนัก และให้บริการจากแคช 120 วินาที หากไม่มีสเปรด funding ข้าม exchange ในหน้าต่างความสดใหม่ จะส่งกลับ 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
ดัชนีทิศทางของวาฬแบบถ่วงน้ำหนักคุณภาพ whale directional index ต่อสัญลักษณ์ ให้คะแนน -100 (วาฬเงิน傾向 short) ถึง +100 (傾向 long) สร้างจากกระเป๋าเงินวาฬ Hyperliquid ที่ติดตามหลายพันรายการ — แต่ละรายการถ่วงน้ำหนักด้วยอัตราชนะและกำไรขาดทุนในอดีตของตัวเอง และลดน้ำหนักตามความใหม่ล่าสุด นี่คือ ดัชนีการจัดตำแหน่ง ไม่ใช่สัญญาณซื้อ/ขายหรือการคาดการณ์ราคา สัญลักษณ์ที่มีกระเป๋าเงินที่ร่วมให้น้อยจะถูกระบุว่า thin และให้คะแนนอย่างตรงไปตรงมา หน้าสด: smart-money-flow.html.
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symboloptional | string | สัญลักษณ์เดียว (เช่น BTC) เว้นไว้เพื่อรับสัญลักษณ์ที่ติดตามทั้งหมดจัดอันดับโดย |score| |
| window_hoursoptional | 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), ค่าเฉลี่ย leverage แบบถ่วงน้ำหนัก, และ "ถังระยะใกล้การล้างตำแหน่ง" (มูลค่าที่อยู่ภายใน 5% และ 10% ของราคาล้างตำแหน่งโดยประมาณ, แยก long/short) นี่คือ บริบท, ไม่ใช่สัญญาณทิศทาง ฟิลด์ที่ไม่สามารถคำนวณได้จะ null และแสดงผลเป็น — — เช่น lev_wavg/crowding_index เมื่อไม่มีตำแหน่งที่ใช้ leverage ระยะทางล้างตำแหน่งเป็นประมาณการแบบ isolated-margin (pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), ไม่ใช่ ราคาล้างตำแหน่งที่รายงานโดย exchange
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| min_notionaloptional | float | มูลค่ารวมขั้นต่ำ (USD) สำหรับรวมสัญลักษณ์ ค่าเริ่มต้น: 1000000. |
ตัวอย่างคำขอ
ตัวอย่างการตอบกลับ
"ok": true, "ts": 1783423500, min_notional: 1000000, n_symbols: 92,
symbols: [
{
symbol: BTC,
gross_usd: 2447900000.0, net_usd: -51000000.0, skew: -0.021,
n_whales: 414, n_venues: 3,
venues: {
hl: { gross: 1900000000.0, net: -40000000.0, n_whales: 272 },
gmx: { gross: 320000000.0, net: -6000000.0, n_whales: 59 },
jupiter: { gross: 227900000.0, net: -5000000.0, n_whales: 83 }
},
conc_top3: 0.159, hhi: 0.011, lev_wavg: 19.1,
liq_within_5pct: { long: 621700000.0, short: 665600000.0 },
liq_within_10pct: { long: 840000000.0, short: 910000000.0 },
crowding_index: 0.003
}
],
caveats: [ ระยะการล้างสต็อกเป็นค่าประมาณแบบ isolated-margin ไม่ใช่ข้อมูลที่รายงานโดย exchange ]
}
skew คือ net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). เฉพาะเว็บเทรดที่มีข้อมูลจริงเท่านั้นที่จะแสดงใน venues. ตำแหน่งที่ไม่มีเลเวอเรจจะถูกยกเว้นจากกลุ่ม liq แทนที่จะถูกสมมติ ผู้เรียกข้อมูลแบบไม่ระบุตัวตนจะได้รับสัญลักษณ์ 10 อันดับแรกตาม gross (พร้อม gated: true); ผู้ใช้ Trader+ จะได้รับรายการทั้งหมดGET /v1/options/gex
ดีลเลอร์ gamma exposure (GEX) การวิเคราะห์สำหรับ BTC & ETH, คำนวณสดจากสาย options ของ Deribit (ไม่ต้องยืนยันตัวตน) ส่งคืน GEX สุทธิของดีลเลอร์ต่อ strike (ตามธรรมเนียม SpotGamma dealer-short), ระดับ gamma-flip (strike ที่ GEX สุทธิสะสมข้ามศูนย์), โครงสร้างระยะเวลา IV (ความผันผวนโดยนัย ATM แบ่งตามวันถึงวันหมดอายุ), และความเอียง IV ของ expiration หน้า (ความแตกต่างของความผันผวนโดยนัย 25Δ-proxy risk reversal) ระบอบ GEX คือ positive (ดีลเลอร์ long gamma → กดความผันผวน) หรือ negative (ขยายความผันผวน) คำนวณใหม่ทุกครั้ง ไม่มี dependency กับฐานข้อมูล
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| symbolไม่จำเป็น | string | 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 ใช้ strike proxy ±10% คงที่สำหรับ 25Δ (25-delta ที่แท้จริงต้องคำนวณ delta ต่อ strike) เหมาะสำหรับการแสดงผล และระบุว่าเป็นค่าประมาณGET /v1/liquidations/simulate
อินเทอร์แอคทีฟ การทดสอบความเครียดจากการล้างพอร์ตแบบต่อเนื่อง. เมื่อกำหนดการเคลื่อนไหวของราคาแบบสมมติ จะส่งคืนตำแหน่งที่มีเลเวอเรจที่คาดว่าจะถูกบังคับให้ล้างพอร์ต ปริมาณการบังคับขายตามระดับราคา/ด้าน/ตลาด และรายงานความลึกของการล้างพอร์ตแบบต่อเนื่อง การเคลื่อนไหวของราคาลงจะล้างพอร์ต long ที่มีราคาล้างพอร์ตอยู่ที่หรือสูงกว่าเป้าหมาย การเคลื่อนไหวของราคาขึ้นจะล้างพอร์ต short ที่มีราคาล้างพอร์ตอยู่ที่หรือต่ำกว่าเป้าหมาย ผสานสองวิธีที่独立: ราคาล้างพอร์ตที่แน่นอนจากวาฬ Hyperliquid ที่ถูกติดตาม real เลเวอเรจ/จุดเข้า, รวมกลุ่มสถิติ OI-band ต่อตลาด (เลเวอเรจของฝูงชนที่อนุมานจาก funding) ทุกอย่างถูกระบุชัดเจน estimated: true — ไม่สามารถทราบ margin ของแต่ละบัญชี, cross vs isolated, margin ที่เพิ่ม, หรือ 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": "ประมาณการ — ไม่สามารถทราบ margin ของแต่ละบัญชี, cross vs isolated, margin ที่เพิ่ม, หรือ ADL ได้" }
}
ok: true, empty: true พร้อมข้อความภาษาอังกฤษง่าย ๆ ไม่ใช่แท่งเท็จ realized_context เป็นตัวอย่างเล็ก ๆ ที่เติบโตจากการล้างพอร์ตแบบบังคับแบบเรียลไทม์ แสดงเป็นบริบทเท่านั้น — ไม่เคยทำให้การคาดการณ์ "เกิดขึ้นจริง"GET /v1/wallet/{addr}/profile
โปรไฟล์วอลเล็ต ข้ามตลาด สร้างจากภาพรวมตำแหน่งวาฬที่ถูกติดตามแบบเรียลไทม์ทั้งหมด สำหรับวาฬ Hyperliquid ที่ถูกติดตาม จะส่งคืนตำแหน่งที่เปิดอยู่ปัจจุบัน, อนุกรมเวลาของ PnL ที่ยังไม่เกิดขึ้นจริง/การเปิดเผย/จำนวนตำแหน่ง time series, ไทม์ไลน์กิจกรรม OPEN/CLOSE/FLIP (สร้างใหม่โดยการเปรียบเทียบภาพรวมต่อเนื่อง), ป้ายกำกับจาก HL-leaderboard ที่ถูกถอดรหัส, และบทสรุป open-book หน้าสด: 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, อัตราชนะ (%): 71, จำนวนการเทรด: 42 },
ตำแหน่ง: [
{ แพลตฟอร์ม: hyperliquid, สัญลักษณ์: ETH, ทิศทาง: short,
ขนาด: 1200.0, ราคาเข้า: 1800.0, กำไร/ขาดทุนยังไม่realized: 34800.0,
เลเวอเรจ: 20.0, มูลค่า (USD): 2160000.0 }
],
ซีรีส์: [ { เวลา: 1783330000, กำไร/ขาดทุนยังไม่realized: 42000.0, มูลค่าการเปิดเผย (USD): 18400000.0, ตำแหน่ง: 5 } ],
ไทม์ไลน์: [ { เวลา: 1783400000, เหตุการณ์: flip, สัญลักษณ์: ETH,
ทิศทาง: short, จากทิศทาง: long, มูลค่า (USD): 2160000.0 } ],
สรุป: {
ตำแหน่งที่เปิด: 5, ในกำไร: 3, ในขาดทุน: 2, longs: 0, shorts: 5,
กำไร/ขาดทุนยังไม่realized รวม: -12000.0, มูลค่าการเปิดเผยรวม (USD): 21000000.0, เลเวอเรจแบบผสม: 19.9,
จำนวนวันในหน้าต่าง: 30, จำนวนสแนปชอตในหน้าต่าง: 474,
กำไร/ขาดทุนที่realized: None, หมายเหตุกำไร/ขาดทุนที่realized: ไม่สามารถคำนวณได้ — จะเห็นเฉพาะสแนปชอตที่เปิดอยู่ ไม่เห็นการปิดตำแหน่ง
}
}
}
pnl เป็นมูลค่าตามตลาดที่ยังไม่realized ของ HL เอง value_usd คือมูลค่าการเปิดเผย ไม่สามารถแสดงกำไร/ขาดทุนที่realized ต่อรอบได้ (เราเห็นเฉพาะสแนปชอตที่เปิดอยู่ ไม่เห็นการปิดตำแหน่ง) และแสดงเป็น null / —; เหตุการณ์ CLOSE ในไทม์ไลน์ไม่มีข้อมูลกำไร/ขาดทุน ที่อยู่ที่ถูกต้องแต่ไม่ถูกติดตามจะคืนค่า tracked: false พร้อมหมายเหตุ; ที่อยู่ที่ไม่ถูกต้องจะคืนค่า ok: false, error: "invalid_address" (HTTP 400) ป้าย HL-leaderboard เป็นข้อมูลสถานะหน้าต่างของ 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 }
},
ตรวจพบการหมุนเวียน: [
ทุนกำลังหมุนจาก ETH ไป BTC ในหน้าต่าง 4 ชั่วโมง,
SOL สะสมอย่างสม่ำเสมอในทุกหน้าต่าง
]
}
GET /whale-events
คืนการเปลี่ยนแปลงตำแหน่งวาฬที่สำคัญ — การเปิด, การปิด และการเปลี่ยนทิศทาง — ที่ตรวจพบในกระเป๋าเงินและที่อยู่บนเชนที่ถูกติดตามภายในหน้าต่างเวลาที่กำหนด
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| สัญลักษณ์ไม่จำเป็น | สตริง | กรองตามสินทรัพย์ ไม่ระบุเพื่อดูสินทรัพย์ทั้งหมดที่ติดตาม |
| ความสำคัญไม่จำเป็น | สตริง | กรองตามความสำคัญของเหตุการณ์: high, medium, หรือ all. ค่าเริ่มต้น: all |
| ชั่วโมงไม่จำเป็น | จำนวนเต็ม | หน้าต่างเวลาย้อนหลังเป็นชั่วโมง ค่าเริ่มต้น: 24 |
ตัวอย่างการตอบกลับ
สัญลักษณ์: BTC,
สรุป: {
เปลี่ยนเป็น long: 3,
เปลี่ยนเป็น short: 1,
เปิดใหม่: 7,
ปิด: 2
},
เหตุการณ์: [
{
"type": "flip_long",
"wallet": "0xWhale...a4f2",
"direction": "long",
"size_usd": 4200000,
"ts": 1710938400
}
]
}
summary อ็อบเจ็กต์เท่านั้น แผนโปร: ฟีดแบบเต็ม 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 เว็บฮุค, รหัสลับสำหรับการตรวจสอบ และตัวบ่งชี้ Pine Script ที่พร้อมใช้งานซึ่งเชื่อมต่อโดยตรงกับ Smart Money API คัดลอก-วาง 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 ไม่สามารถส่งส่วนหัวแบบกำหนดเองได้ ดังนั้นให้ตรวจสอบสิทธิ์โดยรวมเว็บฮุคของคุณ secret ในเนื้อหา JSON (จุดปลายทางนี้ไม่ใช้ X-API-Key) การตอบกลับจะรวมการยืนยันและเพิ่มระดับบนสุด action ของ CONFIRMED (ความมั่นใจของ daemon 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 | ขนาดตำแหน่งเริ่มต้นใน USD สำหรับการคำนวณ Kelly และ smart-stop |
| 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": "HIGH"
},
{
"symbol": "SOL",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "breakout",
"cascade_risk": "MEDIUM"
}
]
}
สตรีมมิ่งแบบเรียลไทม์ (สวอปสด)
สตรีมการสวอปบน DEX ≥ $500 ที่ตรวจจับได้แบบเรียลไทม์จากโหนด BSC และ Avalanche ของเราเอง มีสองช่องทางให้เลือก: สตรีม 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 (ชำระเงิน)
การตรวจสอบสิทธิ์ (แนะนำ): อย่าวางคีย์ที่ใช้งานยาวนานใน 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 ของคุณใน URL WebSocket — สตริงคำสั่งจะถูกบันทึกโดยพร็อกซี โหลดบาลานเซอร์ และบันทึกในประวัติเบราว์เซอร์ แทนที่จะแลกคีย์ของคุณสำหรับ ตั๋ว ที่ใช้งานชั่วคราวและใช้ครั้งเดียวผ่าน 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 single-use and expires in ~60 seconds. Server-side clients that can set request headers may instead pass X-API-Key directly on the WebSocket handshake — no ticket needed.
Mints a one-time ticket for an authenticated WebSocket handshake. Authenticate with the X-API-Key header (your key never leaves the request headers). The returned ticket can be redeemed once on /v1/ws/live-swaps before it expires.
"https://api.smartmoneyapi.com/v1/ws/ticket"
Example Response
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
Response Fields
| Field | Type | Description |
|---|---|---|
| ticket | string | Single-use token to append as ?ticket= on the WebSocket URL. Redeemed once, then invalidated. |
| expires_in | number | Seconds until the ticket expires (~60). Mint a fresh ticket per connection attempt. |
Note: the legacy ?key= query-param authentication is no longer accepted on WebSocket endpoints for security reasons. Use a ticket (browser clients) or the X-API-Key handshake header (server-side clients).
REST Snapshot
Returns the last N broadcast swaps from the rolling buffer. Useful for first-paint on dashboards before the stream connection opens. Also available: /v1/live-swaps/status for broadcaster stats.
Event Schema
| Field | Type | Description |
|---|---|---|
| chain | string | bsc or avalanche |
| dex | string | Router name (e.g. pancakeswap_v2, traderjoe) or unknown_dex |
| swapper | string | Full 0x address of the wallet that executed the swap |
| swapper_short | string | Abbreviated form for display (e.g. 0xb300…028d) |
| swapper_url | string | Direct link to the swapper on the chain's block explorer |
| tx_hash | string | Transaction hash |
| explorer_url | string | Direct link to the transaction on BscScan / Snowtrace |
| token_in | string | Symbol of the token sold (e.g. USDT) |
| token_out | string | Symbol of the token bought |
| amount_usd | number | USD value of the swap (minimum: $500) |
| pair | string | Formatted pair label (e.g. USDT → USDC) |
| block | number | Block number where the swap was mined |
| timestamp | number | Unix epoch seconds |
| significance | string | low / medium / high / critical based on USD size |
| seq | number | Monotonic broadcast sequence number — use for gap detection |
POST /alerts/conditions
Create custom alert rules that trigger when a specified metric crosses a threshold. Alerts are delivered via webhook, email, or the dashboard notification feed depending on your preferences.
Returns a list of all your configured alert conditions with their IDs, definitions, and current status.
Permanently removes an alert condition by its ID.
Returns recent alert trigger events with timestamps, matched conditions, and the metric value at the time of trigger.
Create Alert — Request Body
| Field | Type | Description |
|---|---|---|
| namerequired | string | ป้ายกำกับที่มนุษย์อ่านเข้าใจได้สำหรับการแจ้งเตือนนี้ (สูงสุด 64 ตัวอักษร) |
| metricrequired | string | เมตริกที่ต้องการตรวจสอบ ดูตารางเมตริกที่มีได้ด้านล่าง |
| symboloptional | string | บริบทของสินทรัพย์ จำเป็นสำหรับเมตริกที่จำกัดด้วยสัญลักษณ์ เช่น funding_rate. |
| operatorrequired | string | ตัวดำเนินการเปรียบเทียบ: gt, lt, eq, crosses_above, crosses_below |
| thresholdrequired | float | ค่าตัวเลขเพื่อเปรียบเทียบกับเมตริก |
| deliveryoptional | string | ช่องทางการส่ง เช่น telegram (default) หรือ webhook |
| cooldown_minutesoptional | integer | จำนวนนาทีขั้นต่ำระหว่างการทริกเกอร์ซ้ำ (ค่าเริ่มต้น 60) |
รายการเมตริกและตัวดำเนินการที่ถูกต้องจะถูกส่งกลับโดย GET /v1/alerts/conditions as available_metrics and available_operators.
เมตริกที่มีให้
| เมตริก | คำอธิบาย |
|---|---|
| funding_rate | อัตรา funding ปัจจุบันสำหรับสัญลักษณ์ (เป็นทศนิยม) |
| global_lsr | อัตราส่วน long/short ทั่วโลกสำหรับสัญลักษณ์ |
| long_pct | เปอร์เซ็นต์ของบัญชีที่ long สุทธิสำหรับสัญลักษณ์ |
| top_trader_lsr | อัตราส่วน long/short ของเทรดเดอร์ชั้นนำสำหรับสัญลักษณ์ |
| taker_ratio | อัตราส่วนการซื้อ/ขายของ taker สำหรับสัญลักษณ์ |
| mvrv | อัตราส่วน Market Value to Realized Value (BTC/ETH) |
| sopr | อัตราส่วนกำไรของผลลัพธ์ที่ใช้แล้ว (BTC/ETH) |
| exchange_net_flow | สัญญาณการไหลสุทธิของ exchange บน-chain |
| accumulation | สัญญาณการสะสมบน-chain |
| whale_long_pct | เปอร์เซ็นต์ของวอลเล็ตปลาวาฬที่ติดตามซึ่งถือตำแหน่ง long สำหรับสัญลักษณ์ |
| whale_n_wallets | จำนวนวอลเล็ตปลาวาฬที่ติดตามที่มีตำแหน่งในสัญลักษณ์ |
| composite_long | คะแนนคอมโพสิตสำหรับสัญลักษณ์ที่สอบถามในทิศทาง long |
| composite_short | คะแนนคอมโพสิตสำหรับสัญลักษณ์ที่สอบถามในทิศทาง short |
| funding_spread | ส่วนต่าง funding ข้ามเว็บสำหรับสัญลักษณ์ |
"name": "BTC funding rate spike",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}
GET /kelly
ส่งกลับคำแนะนำการกำหนดขนาดตำแหน่งตาม Kelly Criterion ที่ปรับเทียบกับประสิทธิภาพสัญญาณในอดีตสำหรับสัญลักษณ์ที่กำหนด ระดับความมั่นใจ และทิศทาง กำหนดขนาดตำแหน่งตามอัตราชนะเชิงประจักษ์เพื่อหลีกเลี่ยงการใช้เลเวอเรจมากเกินไป
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| 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": "แนะนำให้ใช้ Half-Kelly สำหรับการเทรดจริงเพื่อรองรับข้อผิดพลาดในการประมาณการ"
}
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, ความแม่นยำโดยรวม, ปัจจัยกำไร, และการแบ่งตามสัญลักษณ์ ตัวเลขทั้งหมดเป็นแบบ in-sample ในช่วงเวลาการให้คะแนน ดู calibration.html สำหรับบริบทและวิธีการ forward-holdout
ตัวอย่างการตอบกลับ
"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": "distinct confirm calls, 24h resolved outcomes",
"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 object เป็นตัวเลขเดียวที่รวบรวมจากข้อมูลที่ scorer ไม่เคยเห็นมาก่อน — คอยดูการเติบโตของมันเมื่อเวลาผ่านไป ดู calibration.html สำหรับวิธีการเต็มรูปแบบและขอบเขตระหว่าง in-sample / forward-testGET /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,
horizons: {
4h: { hit_rate: 0.65, resolved: 46 },
12h: { hit_rate: 0.61, resolved: 44 },
24h: { hit_rate: 0.58, resolved: 40 },
72h: { hit_rate: 0.54, resolved: 32 }
},
type_breakdown: {
smart_money_confirm: { count: 35, hit_rate_24h: 0.61 },
regime_flip: { count: 13, hit_rate_24h: 0.47 }
}
}
GET /v1/signals/recent
Feed of recently published HIGH and MEDIUM signals across all monitored symbols. Each entry includes the signal type, confidence tier, direction, and resolution status where available.
Example Response
signals: [
{
id: 1042,
symbol: BTC,
direction: long,
signal_type: smart_money_confirm,
confidence: HIGH,
composite: 0.74,
ts: 1710940821,
resolved: true,
outcome_24h: win
}
],
count: 50
}
GET /v1/signals/{id}/outcome
Resolved outcome for a single signal by its numeric ID. Returns hit/miss at each resolution horizon (4h, 12h, 24h, 72h) along with the price at signal time and at resolution.
Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | integer | Signal ID (path segment), e.g. /v1/signals/1042/outcome |
Example Response
id: 1042,
symbol: BTC,
direction: long,
confidence: HIGH,
entry_price: 63200.0,
ts: 1710940821,
outcomes: {
4h: { result: win, price: 64100.0, pct: 1.41 },
12h: { result: win, price: 65200.0, pct: 3.16 },
24h: { result: win, price: 65800.0, pct: 4.11 },
72h: { result: pending, price: null, pct: null }
}
}
GET /v1/confirm-winrate
Confirm-signal win-rate breakdown for the authenticated user's own API key. Returns distinct-call win rates at each confidence tier, profit factor, and per-symbol figures. Requires a valid X-API-Key header.
Example Request
"https://api.smartmoneyapi.com/v1/confirm-winrate"
Example Response
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
medium_n: 34,
overall_accuracy: 0.613,
overall_n: 48,
profit_factor: 1.77,
winrate_horizon: 24h,
by_symbol: {
BTC: { win_rate: 0.68, n: 22 },
ETH: { win_rate: 0.55, n: 18 }
}
}
Shadow Gate
บันทึกการตัดสินใจส่วนบุคคลแบบไม่เปลี่ยนแปลงและเพิ่มเติมได้เท่านั้น ส่งการตัดสินใจซื้อขายของคุณก่อนหรือหลังการดำเนินการ ระบบจะคำนวณคะแนนยืนยันเทียบกับ Smart Money engine และเพิ่มเป็นแถวถาวร ใช้เพื่อสร้างประวัติการทำงานที่ตรงเวลาและซื่อสัตย์ว่าสัญญาณจาก API สอดคล้องกับการเข้าซื้อขายของคุณอย่างไร — โดยไม่เกี่ยวข้องกับอัตราชนะรวม global win-rate pool การตอบกลับระดับ Free และ Trader จะไม่มีข้อมูล evidence ส่วน Pro จะแสดงรายละเอียดทั้งหมด ข้อมูลระดับ Free จะมี delay ตาม tier
ส่งการตัดสินใจ สามารถทำซ้ำได้โดยใช้ Idempotency-Key request header — การส่งคีย์เดิมซ้ำจะได้แถวที่มีอยู่โดยไม่สร้างซ้ำ ระบบจะเรียกใช้ confirm engine ทันทีและเพิ่มผลลัพธ์เป็นแถวในบันทึกที่ไม่เปลี่ยนแปลง
Request Body
| Field | Type | Description |
|---|---|---|
| symbolrequired | string | สัญลักษณ์สินทรัพย์ เช่น BTC |
| siderequired | string | ทิศทางการซื้อขาย: long หรือ short |
| strategy_idoptional | string | ป้ายกำกับกลยุทธ์ที่กำหนดโดยผู้เรียก (สูงสุด 64 ตัวอักษร) เก็บไว้ตามที่ระบุสำหรับการจัดกลุ่มและการกรอง |
Example Request
-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"
Example Response
"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 จะแสดงรายละเอียดการยืนยันทั้งหมด ข้อมูลระดับ Free จะมี delay — แถวจะถูกเขียนทันทีแต่คะแนนยืนยันอาจใช้ข้อมูลแคชที่มีอายุสูงสุด 60 วินาทีแสดงรายการการตัดสินใจ shadow-gate ของคุณ เรียงจากใหม่ที่สุด จำกัดเฉพาะผู้ใช้ — จะแสดงเฉพาะการตัดสินใจที่ส่งด้วย API key ของคุณ
Parameters
| Parameter | Type | Description |
|---|---|---|
| limitoptional | integer | จำนวนแถวสูงสุดที่จะส่งกลับ ค่าเริ่มต้น: 50, สูงสุด: 200 |
| cursoroptional | string | ตัวแบ่งหน้าแบบไม่โปร่งใสจาก next_cursor field ใน response ก่อนหน้า ปล่อยว่างสำหรับหน้าแรก |
Example Response
"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": "short", "decision": "SKIP", "confidence": "LOW", "composite": -0.12, "size_mult": 0.0, "ts": 1710937000, "resolved": true }
],
"count": 2,
"next_cursor": null
}
การตัดสินใจเดียวตาม ID รวมถึงหลักฐานยืนยันเต็มสำหรับระดับ Pro การตอบกลับของระดับ Free และ Trader จะมี factors และ adjustments ถูกตัดออก ส่งคืน 403 หากการตัดสินใจเป็นของ API key อื่น
ตัวอย่างการตอบกลับ (Pro)
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"factors": {
"derivatives": { "score": 0.81, "weight": 0.40, "weighted": 0.324 },
"onchain": { "score": 0.68, "weight": 0.35, "weighted": 0.238 },
"whale": { "score": 0.73, "weight": 0.25, "weighted": 0.183 }
},
"ts": 1710940821,
"resolved": false,
"outcome": null
}
แก้ไขผลลัพธ์ของการตัดสินใจด้วยตนเอง เรียกใช้หลังจากปิดการเทรดเพื่อบันทึกผลลัพธ์สุดท้ายกับแถวบัญชีแยกประเภท เมื่อแก้ไขแล้ว แถวจะไม่สามารถเปลี่ยนแปลงได้อีก
เนื้อหาคำขอ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| outcomerequired | string | ผลลัพธ์การเทรด: win หรือ loss |
| exit_priceoptional | float | ราคาปิดการเทรด เก็บไว้สำหรับอ้างอิง ใช้ในการคำนวณ P&L % หากระบุ |
| pnl_pctoptional | float | กำไรหรือขาดทุนที่เกิดขึ้นจริงเป็นเปอร์เซ็นต์ของขนาดตำแหน่ง เช่น 3.5 หรือ -1.2 |
ตัวอย่างการตอบกลับ
"id": 318,
"resolved": true,
"outcome": "win",
"exit_price": 65800.0,
"pnl_pct": 4.1,
"resolved_at": 1711027200
}
รหัสข้อผิดพลาด
| สถานะ | รหัส | คำอธิบาย |
|---|---|---|
| 400 | invalid_params | พารามิเตอร์คำขอขาดหรือไม่ถูกต้อง |
| 401 | unauthorized | API key ขาดหรือไม่ถูกต้อง |
| 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()
# ในลูปการเทรดของคุณ:
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 error: ${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 method.
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"ข้าม {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 เพื่อดูข้อมูลสุขภาพแบบเรียลไทม์ หรือใช้ แบบฟอร์มติดต่อเรา.