> For the complete documentation index, see [llms.txt](https://whitepaper.after-bell.uk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://whitepaper.after-bell.uk/trust-model/oracle-assumptions.md).

# Oracle Assumptions

States the assumptions and dependencies behind outcome data.

### Why oracle data matters

AFTERBELL is a prediction-market product for stock tokens on Robinhood Chain. A market can only settle correctly if the protocol receives a usable answer to its underlying condition. Trading and resolution therefore have separate responsibilities.

Trading creates the Yes or No positions that participants hold. Resolution determines which position has redemption value. The `ConditionalTokens` contract can represent, split, merge, and redeem ERC-1155 outcome positions, but it cannot derive an external stock price from its own state. The resolution path needs oracle data.

This distinction is concrete. For “Will NVDA close above $150 on Friday?”, trading can create Yes and No positions before Friday. The question of which position wins depends on an external price condition. AFTERBELL uses `OracleResolver` to bring that condition into the protocol’s resolution path.

```
Trading:    signed order → match → settlement → outcome position

Resolution: external price inputs → comparison → resolution → redemption
```

The oracle model is not a claim that external data becomes inherently true when a contract reads it. It is a defined process for using a primary price source, checking it against a second reference, and pausing rather than automatically resolving when the sources materially disagree.

### Primary source: Chainlink Stock Token Feed

The Chainlink Stock Token Feed is the primary price source. Robinhood Chain has native stock-token feeds, and the feed price is available on-chain. `OracleResolver` reads that value through the source-identified `AggregatorV3Interface`.

```
Chainlink Stock Token Feed
            ↓
   AggregatorV3Interface
            ↓
      OracleResolver
            ↓
   primary resolution input
```

This gives the normal resolution path an on-chain price input. The value can be read by the resolution component as part of the protocol’s state transition. It does not mean the contract has independent knowledge of the external market condition. The contract relies on the value supplied through the feed.

The current whitepaper does not define feed heartbeat, update interval, stale-price threshold, oracle-node count, confidence score, fallback feed, TWAP, or VWAP. Those properties must not be assumed from the presence of `AggregatorV3Interface` or an on-chain stock-token feed.

### Secondary source: Robinhood REST API

The Robinhood REST API is the secondary verification input. It is an off-chain, external reference source used to cross-check the Chainlink value.

```
Chainlink Stock Token Feed → primary oracle input
Robinhood REST API         → secondary verification input
```

The Robinhood API is not an on-chain oracle. It is not a decentralized oracle network. It is not the primary settlement source. Its architectural role is narrower: it provides the second value used in the comparison before normal resolution proceeds.

Because this source is off-chain, the comparison bridges two environments. `OracleResolver` uses the Chainlink input and the Robinhood cross-check as part of its documented resolution and circuit-breaker role. The source does not specify API endpoints, authentication, polling intervals, rate limits, caching, or other implementation infrastructure.

### Why compare two sources

A market that relies on one external data source carries a single-source dependency. AFTERBELL reduces that dependency by comparing the primary Chainlink value against the Robinhood API reference.

This is the technical meaning of the stated philosophy: **“trust, but verify, twice.”** The architecture does not treat a second source as a mathematical proof that both values are correct. It creates a check for material disagreement and an exception path when that check fails.

The comparison has two important limits:

* Two values may be usable and still not establish absolute external truth.
* Two sources do not automatically guarantee availability or perfect independence.

The design therefore reduces a single-source risk. It does not eliminate external-data risk, and it does not claim full oracle trustlessness.

{% hint style="info" %}
The cross-check is a verification control. It is not a guarantee that either external value is correct.
{% endhint %}

### The 5% circuit breaker

The documented rule is straightforward. If Chainlink and the Robinhood API disagree by 5% or less, the market follows the normal resolution path. If they disagree by more than 5%, the circuit breaker pauses the market.

```
Chainlink value + Robinhood API value
                 ↓
             comparison
          ↙             ↘
      ≤5% difference   >5% difference
      normal path       market pauses
```

The threshold is a circuit-breaker condition. It does not identify the correct source, declare either source faulty, or prove that the final answer is known. It identifies a level of disagreement that stops automatic resolution.

The source example illustrates the rule:

| Source        | Value |
| ------------- | ----: |
| Chainlink     |  $152 |
| Robinhood API |  $140 |

The difference is approximately 7.9%. Because it exceeds 5%, the market pauses. The protocol does not blindly select $152 or $140 through the normal automated path.

The source does not specify how the percentage is technically calculated beyond this rule. This page does not assume a formula, rounding convention, or alternative comparison method.

### Normal resolution path

When the market reaches its resolution condition, the protocol enters the resolution process. The primary on-chain input is read from the Chainlink Stock Token Feed. The Robinhood REST API provides the off-chain secondary reference. `OracleResolver` performs the protocol’s documented read, cross-check, and circuit-breaker role.

```
Market reaches resolution condition
              ↓
Chainlink price [on-chain primary input]
              ↓
Robinhood API cross-check [off-chain reference]
              ↓
Disagreement ≤5%
              ↓
Normal resolution [protocol logic]
              ↓
Winning outcome becomes redeemable [on-chain]
```

The result of normal resolution determines which ERC-1155 outcome position has redemption value. The on-chain layer can enforce that resulting state. The comparison itself still depends on the usability and relevance of external data sources.

### Exception path

When the disagreement exceeds 5%, `OracleResolver` applies the circuit-breaker condition and the market pauses. This prevents automatic resolution from continuing while the two reference values materially conflict.

```
Market reaches resolution condition
              ↓
Chainlink price
              ↓
Robinhood API cross-check
              ↓
Disagreement >5%
              ↓
Circuit breaker
              ↓
Market pauses
              ↓
Manual resolution using off-chain evidence
```

The pause is safer than automatically selecting one conflicting source because it makes the disagreement explicit. It does not guarantee the eventual manual result is correct. It introduces a human review path that must evaluate off-chain evidence before the market proceeds through resolution.

### What the oracle model does not prove

The dual-source design does not prove that Chainlink is always correct. It does not prove that the Robinhood API is always correct, that both sources are always available, or that both sources are perfectly independent.

It also does not establish that external market data is never stale or that external APIs never fail. The current architecture provides a comparison and a pause condition. It does not publish the additional feed-quality controls or recovery mechanisms that would be needed to make broader claims.

Finally, manual evidence is not automatically correct merely because it is used after a pause. The exception path retains an administrative trust assumption. The whitepaper explicitly acknowledges this architectural reality: **“This is not trustless.”**

### Trust assumptions

| Assumption                                       | Why it matters                           | What happens if it fails                             |
| ------------------------------------------------ | ---------------------------------------- | ---------------------------------------------------- |
| Chainlink provides usable data                   | It is the primary resolution input       | Resolution can be impaired                           |
| Robinhood API provides usable reference data     | It supplies the cross-check              | Verification can be impaired                         |
| Values are meaningfully comparable               | The 5% check depends on comparison       | The exception path may trigger                       |
| Data remains sufficiently relevant to resolution | The outcome depends on an external price | Resolution may require manual handling               |
| Manual evidence can be evaluated                 | The exception path requires human review | Administrative resolution remains a trust dependency |

These are assumptions, not guarantees. The protocol can enforce the result reached through its resolution logic, but cannot independently prove the correctness of the external facts supplied to that logic.

### Trust model and current status

AFTERBELL does not claim absolute oracle trustlessness. It uses primary on-chain oracle data, secondary off-chain verification, a circuit breaker, and manual exception handling. The architecture attempts to reduce oracle risk rather than eliminate it.

AFTERBELL remains under development. Smart contracts are not yet audited, and an audit is planned before mainnet. This is whitepaper **v0.1, September 2026**, not proven production infrastructure.

Revenue projections are not proven, and organic liquidity is not guaranteed. AFTERBELL does not currently have a token. It is a product, not a token launch.

{% hint style="warning" %}
The normal path depends on external price inputs. The exception path depends on administrative judgment. Both are explicit parts of the current trust model.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://whitepaper.after-bell.uk/trust-model/oracle-assumptions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
