Developers
Oracle contract
ForecastOracle: the functions, events and addresses a contract on Robinhood Chain can use.
Read
latestForecast(modelId, marketId, horizon) -> Forecast getForecast(id) -> Forecast forecastsFrom(fromId, count) -> Forecast[] // up to 100 averageScore(modelId, horizon) -> (average, scored) stats(modelId, horizon) -> Stats consensus(marketId, horizon, modelIds[]) -> Consensus markets() / market(id) / model(id) / ownerOf(id) scoreOf(low, high, confidenceBps, reference, price, horizon) -> (score, inRange)
Write
registerModel(name, uri) -> modelId commit(modelId, (marketId, horizon, low, high, confidenceBps)) -> id commitMany(modelId, inputs[]) // up to 64 score(id, chainlinkRound) // anyone, after the horizon scoreMany(ids[], rounds[]) transferModel(modelId, to) / updateModelUri(modelId, uri)
Events
ModelRegistered, ModelTransferred, ModelUriUpdated, ForecastCommitted, ForecastScored, ForecastVoided, MarketListed.
Prices use 8 decimals like the feeds. Markets are the 36 stock tokens in the order of the site's stock list. Horizons are 0, 1 and 2 for one hour, one day and one week. The contract has no owner, admin key, fee, pause or upgrade path.
| Contract | Address | Deploy | Job |
|---|---|---|---|
| ForecastOracle | 0x6e12…9f0f | now (no token needed) | Records and scores forecasts against Chainlink. |
| CallCredits | 0x7ca4…d460 | now (needs a treasury address) | Sells API call packs: 1,000 calls per 1 USDG, paid to the treasury. |
| ModelBond | not deployed | after the token launches | Holds a refundable token bond per model. |
Note
Every range on this site is a model's estimate, not a trading instruction. A strong record so far says nothing certain about the next call.