แนวคิดหลัก
Oracle และการชำระเงิน
Oracle คือ surface การชำระบัญชีที่โปร่งใสของ SatoriEx สาม endpoint สาธารณะให้ทุกคน — ผู้ใช้ ผู้สร้าง นักข่าว ผู้ตรวจสอบ — ยืนยันทุกการตัดสินที่รอดำเนินการและสรุปแล้วโดยไม่ต้องมีบัญชี API key หรือความไว้ใจในคำพูดของเรา
กำลังมองหาเรื่องราวเชิงแนวคิด?
Coming from Polymarket?
เหตุใดจึงมี surface สาธารณะ
ตลาดพยากรณ์ทำงานได้เฉพาะเมื่อผู้เทรดสามารถยืนยันผลลัพธ์เองได้ ผลการตัดสินถูกเสนอโดยผู้ดูแล (หรือสูงกว่า) และยืนยันโดยผู้ดูแลระบบแยกต่างหาก (หรือซุปเปอร์แอดมิน) เราเปิดเผย resolution pipeline เพื่อให้ไม่มีสิ่งใดขึ้นอยู่กับความไว้ใจ SatoriEx
- ทุกคนสามารถแสดงรายการตลาดที่อยู่ในช่วงเวลาโต้แย้งและอ่านผู้ชนะที่เสนอ
- ทุกคนสามารถแสดงรายการตลาดที่ปิดแล้วแต่ยังไม่ได้ตัดสิน — มีประโยชน์สำหรับ watchdog
- ทุกคนสามารถแสดงรายการทุกตลาดที่ตัดสินและชำระแล้วในประวัติศาสตร์ พร้อมผลลัพธ์ที่ชนะ
Endpoint สาธารณะ
สาม GET endpoint ครอบคลุม transparency surface ทั้งหมด ไม่มีที่ต้องยืนยันตัวตน ทุกอันแบ่งหน้าด้วย parameter page และ size มาตรฐาน ผลลัพธ์กรองได้ตามหมวดหมู่และคำค้นหา
| Endpoint | คืนค่า | กรณีการใช้งาน |
|---|---|---|
| GET /oracle/propose | ตลาดที่ active เกินเวลาปิด รอการเสนอผู้ชนะ | ดูตลาดที่ควรตัดสินเร็วๆ นี้ |
| GET /oracle/verify | ตลาดในช่วง 2 ชั่วโมงของการโต้แย้งพร้อมผู้ชนะที่เสนอ | ตรวจสอบการตัดสินที่รอดำเนินการ ยื่นการโต้แย้งถ้าไม่เห็นด้วย |
| GET /oracle/settled | ตลาดที่ตัดสินและชำระแล้ว พร้อมผลลัพธ์ที่ชนะและ timestamp การตัดสิน | บันทึกประวัติสำหรับ analytics การรายงาน หรือ feed ของบุคคลที่สาม |
# All three endpoints are public — no auth required. curl https://staging.satoriex.io/api/v1/oracle/verify?page=1&size=50 curl https://staging.satoriex.io/api/v1/oracle/propose curl https://staging.satoriex.io/api/v1/oracle/settled?category=politics
Endpoint เหล่านี้สามารถ cache ได้โดยเจตนา บริการ watchdog มักจะ poll /verify ทุกสองสามนาทีระหว่างช่วงเวลาโต้แย้ง
รูปแบบ response
ทั้งสาม endpoint คืน envelope เดียวกัน — รายการตลาดแบบแบ่งหน้า แต่ละอันพร้อมผลลัพธ์ ราคาปัจจุบัน จำนวนการโต้แย้ง และเวลาสิ้นสุดการโต้แย้ง ชื่อฟิลด์ตรงกับโมเดลตลาดพื้นฐาน
{
"code": 0,
"data": {
"markets": [{
"id": "mkt_01H...",
"title": "Will the central bank cut rates in May?",
"status": "resolved",
"winning_outcome_id": "out_01H...",
"resolved_at": "2026-05-08T14:02:31Z",
"dispute_end_time": "2026-05-09T14:02:31Z",
"dispute_count": 0,
"outcomes": [{ "id": "out_01H...", "label": "Yes", "price_bps": 7400 }]
}],
"total": 1247,
"page": 1,
"size": 50
}
}การดำเนินการตัดสิน
การอ่าน oracle เปิดอยู่ การกระทำบนมันไม่ใช่ endpoint เดียวที่ mutate ได้ POST /oracle/resolve รับผลลัพธ์ที่ชนะและ HMAC-SHA256 signature เหนือ resolution payload
POST /api/v1/oracle/resolve
Content-Type: application/json
{
"market_id": "mkt_01H...",
"winning_outcome_id": "out_01H...",
"timestamp": "2026-05-11T14:02:31Z",
"signature": "<HMAC-SHA256 over: market_id:winning_outcome_id:unix_ts>"
}
# Signature pre-image uses ':' as delimiter and the unix epoch
# seconds form of timestamp. Requests older than 5 minutes are
# rejected as replay-suspect.- ต้องมี shared secret ฝั่งเซิร์ฟเวอร์ — อย่าเปิดเผย signing key ในโค้ด client
- Signature ครอบคลุม market_id, winning_outcome_id และ nonce ใหม่ การพยายาม replay ถูกปฏิเสธ
- เฉพาะ super-admin หรือ oracle webhook ที่เชื่อถือได้เท่านั้นที่สามารถสร้าง signature ที่ถูกต้อง
- การอนุมัติสองคนยังคงใช้บังคับ — ดูหน้าแนวคิดการตัดสินสำหรับวงจรชีวิตฉบับสมบูรณ์
โมเดลความไว้ใจโดยสรุป
การกระทำต่างๆ ต้องการสิทธิ์ต่างกัน สิ่งที่อ่านได้เป็นสาธารณะ สิ่งที่เขียนได้ต้องมีบัญชีผู้ใช้ที่มี bond (การโต้แย้ง) หรือการดำเนินการของผู้ดูแลระบบที่ signed (การตัดสิน)
| ความสามารถ | ใครทำสิ่งนี้ได้ |
|---|---|
| อ่านการตัดสินที่รอดำเนินการและชำระแล้ว | ทุกคน — ไม่ต้องมีบัญชี |
| อ่านการโต้แย้งที่เปิดต่อการตัดสินใดก็ได้ | ทุกคน — ไม่ต้องมีบัญชี |
| ยื่นการโต้แย้งต่อการตัดสินที่เสนอ | ผู้ใช้ใดก็ได้ที่มี bond 10 USDC |
| เสนอผลลัพธ์ที่ชนะสำหรับตลาด | ผู้ดูแลหรือสูงกว่า (ผู้เสนอคนแรก) |
| ยืนยันการตัดสินที่เสนอ | ผู้ดูแลระบบแยกต่างหาก (หรือสูงกว่า) — ต่างจากผู้เสนอ |
การอนุมัติสองคนบังคับใช้ฝั่งเซิร์ฟเวอร์ บัญชีผู้ดูแลระบบเดียวกันไม่สามารถเสนอและยืนยันได้
ที่เกี่ยวข้อง
สำหรับวงจรชีวิตเชิงแนวคิด — หยุด เสนอ อนุมัติ ช่วงเวลาโต้แย้ง ชำระ — ดู: การตัดสินและชำระ