Lewati ke konten

Konsep inti

Oracle & Resolusi

Oracle adalah permukaan penyelesaian transparan SatoriEx. Tiga endpoint publik memungkinkan siapa saja โ€” pengguna, builder, jurnalis, auditor โ€” memverifikasi setiap resolusi yang tertunda maupun yang telah diselesaikan tanpa akun, kunci API, atau kepercayaan pada kata kami.

Mencari penjelasan konseptual?

Jika Anda ingin memahami apa arti resolusi sebagai fitur platform โ€” tahapan, jendela sengketa, pembayaran โ€” baca terlebih dahulu halaman konsep Resolusi. Baca: Resolusi & penyelesaian

Coming from Polymarket?

Polymarket's resolution uses UMA's Optimistic Oracle โ€” anyone can propose with a $750 bond, anyone can dispute, escalations route to a DVM token-holder vote. SatoriEx uses an optimistic-bonded model with similar mechanics scaled for our market: any KYC-verified user can propose an outcome under bond, anyone can file a $10 dispute (refunded + $5 reward if upheld), and a tier-2 escalation routes to an independent voter panel โ€” not the original proposer โ€” for the final decision. Public endpoints make every step auditable, and the proposer's bond is slashed to the dispute reserve when an upheld escalation overturns the outcome.

Mengapa permukaan publik

Pasar prediksi hanya berfungsi jika pedagang dapat memverifikasi sendiri hasilnya. Hasil resolusi diusulkan oleh moderator (atau lebih tinggi) dan dikonfirmasi oleh admin terpisah (atau super-admin). Kami mengekspos pipeline resolusi agar tidak ada yang bergantung pada kepercayaan terhadap SatoriEx.

  • Siapa pun dapat mencantumkan pasar yang saat ini berada dalam jendela sengketa dan membaca pemenang yang diusulkan.
  • Siapa pun dapat mencantumkan pasar yang telah ditutup tetapi belum diselesaikan โ€” berguna bagi pengawas.
  • Siapa pun dapat mencantumkan setiap pasar yang telah diselesaikan dan disetel dalam sejarah, beserta hasil pemenangnya.

Endpoint publik

Tiga endpoint GET membawa seluruh permukaan transparansi. Tidak ada yang memerlukan autentikasi. Semuanya dipaginasi dengan parameter page dan size standar; hasil dapat difilter berdasarkan kategori dan kueri pencarian.

EndpointMengembalikanKasus penggunaan
GET /oracle/proposePasar aktif yang telah melewati waktu penutupannya, menunggu proposal pemenang.Pantau pasar yang seharusnya segera diselesaikan.
GET /oracle/verifyPasar dalam jendela sengketa 2 jam beserta pemenang yang diusulkan.Audit resolusi yang tertunda; ajukan sengketa jika Anda tidak setuju.
GET /oracle/settledPasar yang telah diselesaikan dan disetel, beserta hasil pemenang dan stempel waktu resolusi.Catatan historis untuk analitik, pelaporan, atau umpan pihak ketiga.
# 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 ini sengaja dapat di-cache. Layanan watchdog biasanya melakukan polling /verify setiap beberapa menit selama jendela sengketa.

Bentuk respons

Ketiga endpoint mengembalikan amplop yang sama โ€” daftar pasar yang dipaginasi, masing-masing dengan hasilnya, harga saat ini, jumlah sengketa, dan waktu akhir sengketa. Nama field sesuai dengan model pasar yang mendasarinya.

{
  "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
  }
}

Tindakan resolusi

Membaca oracle bersifat terbuka. Bertindak atasnya tidak. Satu-satunya endpoint yang bermutasi, POST /oracle/resolve, menerima hasil pemenang dan tanda tangan HMAC-SHA256 atas payload resolusi.

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.
  • Memerlukan rahasia bersama sisi server โ€” jangan pernah mengekspos kunci penandatanganan dalam kode klien.
  • Tanda tangan mencakup market_id, winning_outcome_id, dan nonce baru; upaya pemutaran ulang ditolak.
  • Hanya super-admin atau webhook oracle tepercaya yang dapat menghasilkan tanda tangan yang valid.
  • Persetujuan dua orang tetap berlaku โ€” lihat halaman konsep Resolusi untuk siklus hidup lengkapnya.

Model kepercayaan sekilas

Tindakan yang berbeda memerlukan hak istimewa yang berbeda. Apa pun yang dapat Anda baca bersifat publik; apa pun yang dapat Anda tulis memerlukan akun pengguna dengan jaminan (sengketa) atau tindakan admin yang ditandatangani (resolusi).

KemampuanSiapa yang dapat melakukan ini
Membaca resolusi yang tertunda dan yang telah diselesaikan Siapa pun โ€” tidak perlu akun
Membaca sengketa terbuka terhadap resolusi mana pun Siapa pun โ€” tidak perlu akun
Mengajukan sengketa terhadap resolusi yang diusulkan Pengguna mana pun dengan jaminan USDC $10
Mengusulkan hasil pemenang untuk suatu pasar Moderator atau lebih tinggi (pengusul pertama)
Mengonfirmasi resolusi yang diusulkan Admin terpisah (atau lebih tinggi) โ€” berbeda dari pengusul

Persetujuan dua orang diterapkan di sisi server. Akun admin yang sama tidak dapat mengusulkan sekaligus mengonfirmasi.

Terkait

Untuk siklus hidup konseptual โ€” halt, usulkan, setujui, jendela sengketa, selesaikan โ€” lihat: Resolusi dan penyelesaian