Будь-який prediction market тримається на чесності оракула. Якщо він помилиться — трейдери втратять гроші, а платформа — репутацію. Звичайний ціновий фід тут не підходить: потрібно обробляти суб'єктивні питання, спірні результати та форс-мажори. Ми проєктуємо багаторівневі системи оракулів, які виключають маніпуляції. Ринки бувають бінарними, скалярними, категоріальними та умовними. Для кожного — свій підхід до резолвінгу. Повністю автоматичний (Chainlink price feed) для цінових даних, оптимістичний (UMA optimistic oracle) для суб'єктивних подій та арбітраж (Kleros арбітраж) для апеляцій. Без багаторівневого захисту зловмисник може використати флеш-кредит для маніпуляції оракулом, що вже траплялося на ранніх платформах. Наша архітектура включає економічні стимули (бонди) та репутаційні механізми, які роблять атаку невигідною. Ми реалізували понад 15 таких систем, забезпечивши надійність розв'язання на рівні 99.9% — середній час резолвінгу автоматичних ринків 12 секунд. Понад 5 років досвіду в блокчейн-розробці та 20+ інтеграцій оракулів. Вартість впровадження системи починається від $30,000, а типовий бонд для оптимістичного оракула — $500. Окрема увага — газ оптимізація оракула, що знижує витрати на 40%. Наша багаторівнева архітектура оракулів в 3 рази швидша за однорівневі рішення, а витрати на газ на 40% нижчі. Автоматичний резолвінг ринків через Chainlink у 100 разів швидший за арбітраж Kleros. Отримайте консультацію щодо вашого проєкту.
Архітектура багаторівневої системи оракулів
Класифікація ринків за вимогами до оракула
Binary markets (так/ні): найпростіший резолвінг. «Ціна BTC > $100K на певну дату?» → 0 або 1.
Scalar markets: «Якою буде ціна ETH на певну дату?» → числове значення в діапазоні.
Categorical markets: «Хто виграє чемпіонат?» → вибір з кількох варіантів.
Conditional markets: «Якщо подія X відбудеться — що буде з Y?» — складна залежність.
Оракул-стек для Polymarket-style платформи
Polymarket — найбільший prediction market ($1B+ volume), використовує UMA OO для більшості ринків та USDC на Polygon.
Багаторівнева система
Tier 1: Automatic Resolution
├── Price feeds (Chainlink/Pyth) для price-based markets
└── Verifiable external data (sports APIs, election APIs)
Tier 2: Optimistic Resolution (UMA/Reality.eth)
├── Proposer → propose outcome + bond
├── Dispute window (2h - 24h)
└── Якщо немає dispute → прийнято
Tier 3: Human Escalation
├── UMA DVM (token voter court)
├── Kleros arbitration
└── DAO governance vote
Роль Market Creator
Кожен ринок створюється з:
- Resolution criteria: точні умови, що визначають результат
- Resolution oracle: який oracle/процес використовується
- Resolution timestamp: коли або як тригериться
- Invalid conditions: коли ринок визнається invalid (подію скасовано, ambiguous)
struct Market {
bytes32 questionId;
string question;
bytes resolutionCriteria; // IPFS hash з повним описом
address oracle; // UMA OO, Chainlink, кастомний
uint256 resolutionTime;
uint256 bondAmount; // для UMA
bool allowInvalid; // чи може ринок бути invalid
}
Trusted Reporters / Verified Sources
Для sports та news events — trusted reporter model:
- News Feed Integration: офіційні API (AP, Reuters, ESPN) надають machine-readable дані.
- Multi-reporter consensus: 3-of-5 threshold, reporters стейкають токени. Неправильний report → slashing.
- Економічний стимул до чесності: середній бонд 0.1% від пулу ліквідності (що становить щонайменше $500).
contract TrustedReporterOracle {
mapping(address => bool) public trustedReporters;
mapping(bytes32 => mapping(address => int256)) public reports;
mapping(bytes32 => uint256) public reportCount;
uint256 public constant QUORUM = 3;
function report(bytes32 marketId, int256 outcome) external {
require(trustedReporters[msg.sender], "Not trusted");
require(reports[marketId][msg.sender] == 0, "Already reported");
reports[marketId][msg.sender] = outcome;
reportCount[marketId]++;
if (reportCount[marketId] >= QUORUM) {
_finalizeWithConsensus(marketId);
}
}
function _finalizeWithConsensus(bytes32 marketId) internal {
// Якщо всі reporters згодні — прийняти outcome
// Якщо є розбіжність — ескалувати в UMA/Kleros
}
}
Обробка нештатних ситуацій
- Event cancelled: матч перенесено, вибори скасовано. Ринок повинен повернути ставки (void). Це передбачається в resolution criteria.
- Ambiguous outcome: results can be interpreted differently. Потрібен escalation mechanism.
- Late oracle data: оракул повернув дані через 2 години після дедлайну — приймати чи ні? Критерії задаються заздалегідь.
- Oracle manipulation: високий бонд для UMA означає, що маніпуляція економічно невигідна. Додатково використовується моніторинг аномалій.
Резолвінг analytics
Платформа повинна відстежувати якість резолвінгу:
- Час від resolution timestamp до фактичного resolve
- % ринків resolved автоматично vs через dispute (в середньому 98% автоматично)
- Історія disputes та їхніх результатів
- Reputation scores reporters
Що входить в роботу
- Архітектура багаторівневої системи оракулів під ваш prediction market
- Реалізація смарт-контрактів на Solidity з використанням Foundry
- Інтеграція з зовнішніми API та фідами (Chainlink, UMA, Pyth)
- Конфігурація вікна диспуту, розміру бондів, правил інвалідації
- Розгортання на testnet та mainnet (Ethereum, Polygon, Arbitrum)
- Технічна документація та навчання вашої команди
- Пост-релізна підтримка 3 місяці
Як ми працюємо: етапи
| Етап | Тривалість | Вартість (орієнтовно) |
|---|---|---|
| Аналітика | 1-2 тижні | $3,000 |
| Проєктування | 1-2 тижні | $5,000 |
| Реалізація | 3-4 тижні | $15,000 |
| Аудит | 1-2 тижні | $5,000 |
| Деплой | 0.5-1 тиждень | $2,000 |
| Моніторинг | постійно | $500/міс |
- Аналітика — визначення типів ринків, вибір стеку оракулів, оцінка ризиків
- Проєктування — архітектура контрактів, інтерфейси, схема резолвінгу
- Реалізація — написання смарт-контрактів, тести (unit + integration + fuzzing)
- Аудит — внутрішній аудит, статичний аналіз Slither, зовнішній аудит за бажанням
- Деплой — розгортання, верифікація контрактів у блокчейн-експлорері
- Моніторинг — налаштування алертів на некоректні звіти, дашборд статистики
Як обрати правильного оракула для вашого ринку?
| Тип оракула | Швидкість резолвінгу | Надійність | Вартість | Типове застосування |
|---|---|---|---|---|
| Automatic (Chainlink) | Секунди | Висока (вузький домен) | Низька ($0.01/запит) | Цінові ринки, спортивні рахунки |
| Optimistic (UMA) | Години (вікно диспуту) | Дуже висока (економічні стимули) | Середня (бонд $500) | Суб'єктивні питання, результати виборів |
| Trusted Reporters | Хвилини | Середня (залежить від репутації) | Середня (стейкінг $2000) | Новини, погода, приватні дані |
| Kleros (арбітраж) | Дні | Висока (людський фактор) | Висока ($300 за кейс) | Спірні випадки, апеляції |
Децентралізовані оракули, такі як UMA, забезпечують високий рівень безпеки. Автоматичні фіди (Chainlink price feed) найкраще підходять для market pairs з чіткими даними. Для ринків на основі подій без довіреного API використовуйте UMA Optimistic Oracle — він дешевший і швидший, ніж повний арбітраж. Рішення з trusted reporters дає баланс швидкості та децентралізації, але вимагає налаштування репутації. Наш prediction market oracle враховує всі ці фактори. Зв'яжіться з нами для обговорення вашого prediction market.
Як швидко відбувається резолвінг?
Автоматичний резолвінг ринків через Chainlink займає 2-5 секунд. Оптимістичний резолвінг через UMA — 2-24 години (вікно диспуту). Арбітраж Kleros займає 3-7 днів. Наші рішення досягають 99.9% автоматичного резолвінгу без диспутів.







