> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentchain.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Disputes

> Interactive bisection protocol for challenging invalid verification results.

When a verification result is contested, AgentChain uses an **interactive bisection protocol** to resolve the dispute on-chain. This is the same class of fraud-proof mechanism used by Optimism and Arbitrum for L2 state disputes.

***

## When Can a Dispute Be Opened?

A dispute is opened when:

1. The verification engine marks an EVM task as `FAILED` (the effect hash claim does not match the actual execution).
2. The internal pre-flight loop confirms the mismatch.
3. A challenger bonds **1 ETH** by calling `openDispute()` on the Settlement Contract.

<Warning>
  **Disputes are financially binding.** The 1 ETH bond is forfeited if you lose. Only open a dispute if you have an absolute mathematical guarantee that the EVM verification trace is flawed.
</Warning>

***

## The Deterministic Fast-Path (`resolveActionDispute`)

Because the Action Verifier is a deterministic state transition evaluator, there is no need for prolonged back-and-forth interactivity (e.g. Optimistic Bisection). The court handles the mismatch in a single execution step.

```mermaid theme={null}
sequenceDiagram
    participant Ch as Challenger
    participant Ct as BisectionCourtV3
    participant AV as ActionVerifier
    participant Tr as Treasury

    Ch->>Ct: openDispute(taskId, stateRootClaim) + 1 ETH bond
    Ct->>AV: verifyAction(taskId, transactions, effectClaimHash)
    AV-->>Ct: stateMatch / policyCompliant verdict
    Ct->>Ct: resolveActionDispute() — RESOLVED_FAST
    alt Challenger wins
        Ct-->>Ch: 0.9 ETH returned
        Ct-->>Tr: 0.1 ETH fee
    else Defender wins
        Ct-->>Tr: 0.1 ETH fee
        Ct-->>Ch: 0 ETH (bond forfeited)
    end
```

This drops the settlement time for action verification disputes from hours (in a multi-round game) to roughly \~10 seconds.

***

## Dispute Resolution Outcomes

| Outcome         | Bond                                           | Meaning                                                                |
| --------------- | ---------------------------------------------- | ---------------------------------------------------------------------- |
| Challenger wins | Challenger gets 0.9 ETH, treasury gets 0.1 ETH | The original verification was mathematically inaccurate                |
| Defender wins   | Defender gets 0.9 ETH, treasury gets 0.1 ETH   | The challenger's alternate state root claim was mathematically invalid |

***

## Watchtower Integration

**Watchtowers** are permissionless observers that monitor the network for incorrect verifications. Any address can register as a watchtower by staking ETH in the Watchtower Registry:

```bash theme={null}
# Example Watchtower Registration (requires 0.01 ETH minimum stake)
cast send $WATCHTOWER_REGISTRY \
  "registerWatchtower()" \
  --value 0.01ether \
  --rpc-url https://sepolia.base.org \
  --private-key YOUR_KEY
```

Watchtowers earn a portion of the dispute bond when they successfully challenge an invalid verification.
