> For the complete documentation index, see [llms.txt](https://docs.divaprotocol.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.divaprotocol.io/introduction/what-is-diva-protocol/how-it-works/settlement/challenge.md).

# Challenge

DIVA Protocol integrates an **optional challenge feature** which can be activated by the data provider to allow position token holders to request a review of the submitted final value if deemed inaccurate. The main goal of the challenge functionality is to **help fix unintentional errors made by the data provider** such as fat finger mistake or incorrect accounting for stock or token split.&#x20;

{% hint style="warning" %}
The challenge feature is NOT meant to prevent malicious data providers from submitting wrong values.
{% endhint %}

The challenge feature can be valuable when DIVA Protocol is used within a trusted and process-driven environment, such as a traditional bank. It is not expected to be used by decentralized oracles like Tellor, Chainlink or UniswapV3, which cannot realistically review their submitted values.

### Enabling the challenge feature

Data providers have the flexibility to choose whether to enable the challenge functionality each time they submit a value during the settlement process, including the initial submission, submission period, or subsequent reviews. To enhance transparency and build user trust, data providers can establish a predefined challenge policy through a separate smart contract, which can be assigned as the data provider. By implementing this approach, pool creators will have clear visibility at the time of pool creation, enabling them to determine whether a submitted value can be challenged or not, thus avoiding any unexpected surprises for users.

### Who can challenge?

Each account that has a non-zero position token holder of the underlying pool can submit a challenge including a value that they deem correct. For more details, refer to the [DIVA Protocol smart contract documentation](https://github.com/divaprotocol/diva-protocol-v1/blob/main/DOCUMENTATION.md#challenge).

### How to challenge a value?

Users can challenge a reported value by calling the [`challengeFinalReferenceValue`](https://github.com/divaprotocol/diva-protocol-v1/blob/main/DOCUMENTATION.md#challengefinalreferencevalue) function.

### Responding to challenges

If a value submission was challenged, the data provider has the following four options to react during the 5-day review period:

* **Option 1:** Submit a new value and *enable* the possibility to challenge. This will trigger a new challenge period.
* **Option 2:** Submit a new value and *disable* the possibility to challenge. In this case the new (revisited) value is directly confirmed and position token holders can redeem their tokens.
* **Option 3:** Submit the same value as before and thereby confirm the previously submitted value. Users can start redeem their position tokens.
* **Option 4:** Don't submit any value. In that case, users will be able to redeem their position tokens after the end of the review period at the originally submitted value.

Option 4 is the only option that allows the data provider to confirm the previously submitted value without spending any gas. While cost-efficient for data providers, position token holders will have to wait 5 days before they can start redeeming their tokens.


---

# 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://docs.divaprotocol.io/introduction/what-is-diva-protocol/how-it-works/settlement/challenge.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.
