> For the complete documentation index, see [llms.txt](https://docs.goassay.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.goassay.ai/list-your-api/advanced/penalties.md).

# Penalties and how to dispute them

Read a proposed stake penalty, check its evidence and decide before the dispute deadline.

A penalty can take part of the stake behind your paid tools after a failure-promise breach. It is separate from a customer's bad-result report and from refunding one held call payment. A proposal is not yet money lost.

{% hint style="info" %}
**Before you start:** understand [Quality and SLA](/list-your-api/advanced/quality-and-sla.md) and [Manage your stake](/list-your-api/advanced/manage-your-stake.md). To dispute a penalty, connect the wallet that holds the stake and have ETH for its network fee.
{% endhint %}

## How a penalty is proposed

Assay checks the completed quality window against the promise and sample rules recorded when it opened. A window needs enough checked calls to be judged, and its failure rate must exceed the promise by enough to account for sampling uncertainty. A qualifying breach can become a penalty proposal against stake.

The proposal has an amount and an on-chain dispute deadline. You normally have 72 hours to dispute; always use the deadline shown. Read **You would lose** to see the stake at risk; the headline penalty amount and the amount that would leave your stake can differ. Under the current split, 60% of the penalty goes to affected customers, 30% to Assay and 10% is never taken. The chain applies the terms in force when it executes, and never lets penalties take more than 10% of your stake in any 24 hours.

## Steps

{% stepper %}
{% step %}

### Find the proposal and deadline

Open **Penalties → Needs action**, or follow a penalty action from **Inbox**. Read the tool, quality window, **You would lose** and **Dispute within** deadline. Times are in UTC. The deadline shown for this penalty controls when you can dispute it; do not use the 24-hour reply window for a customer report.

<figure><img src="https://1949348494-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjpdpV7qPs81FjbSH4zm1%2Fuploads%2Fgit-blob-4f4a609006094a61506dc619fa9fd8f1a7094667%2Fpenalties-1.png?alt=media" alt="Penalties page heading and tabs with Needs action marked"><figcaption><p>Needs action is where an open penalty appears with its deadline.</p></figcaption></figure>
{% endstep %}

{% step %}

### Open Why this penalty?

Choose **Why this penalty?** on the row. Read the timeline, **What it costs you** and **What went wrong**. Compare the window and failed checks with your own records. **Show derivation** expands the measurement and calculation if you need to examine how the amount was reached.

Nothing is taken before the displayed dispute deadline. If Assay has no case for the penalty, the view says it cannot explain the proposal. Treat that as a reason to check it promptly; an unknown proposal may not be genuine.
{% endstep %}

{% step %}

### Decide before the deadline

If you think it is wrong, choose **Dispute** on the row or **Dispute on chain** in the detail. Connect your stake wallet if asked. Read the review sheet and acknowledge that you can dispute once and cannot add anything later. The dispute carries no message or attachment.

Choose **Dispute on chain** and confirm the transaction in the stake wallet before the deadline. The dispute itself has no Assay fee; the wallet pays an ETH network fee. Opening the detail or contacting support does not file the dispute or extend its deadline.

A confirmed dispute freezes execution of that penalty while Assay's arbiter (a person, not software) reviews the record. If you do not dispute in time, it can be executed from the displayed deadline. A proposal that is upheld after a dispute can be executed once the deadline has passed and the ruling is recorded.
{% endstep %}
{% endstepper %}

## Check it worked

A successful dispute shows **Disputed on chain** and appears under **Disputed**. The arbiter aims to rule within 7 days of the dispute. If nobody rules within 30 days, the dispute can expire with nothing taken. Read the recorded status; a target date passing is not itself a ruling.

If the arbiter upholds the penalty, it returns to **Needs action**, marked **Upheld**, with the time it can be executed. An upheld ruling alone is not proof that the money has already left stake. The penalty moves to **Closed** once it is executed, cancelled or expires.

| Outcome in **Closed** | What it means for you                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------------------ |
| **Executed**          | The penalty was taken from stake. Read **You lost** for the amount actually lost.                      |
| **Cancelled**         | Nothing was taken for this penalty.                                                                    |
| **Expired**           | Nothing was taken. Either a dispute went unruled for 30 days, or the penalty was not executed in time. |

Check **Stake** afterwards. If a loss leaves a paid tool below its requirement, restore enough stake and check the listing's status.

## If something goes wrong

| You see                           | Do this                                                                                                                                                                      |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **No stake wallet yet**           | Prove the intended stake wallet using [Manage your stake](/list-your-api/advanced/manage-your-stake.md). This state does not establish that you have no penalties elsewhere. |
| **Nothing needs you**             | Check **Disputed** and **Closed** for existing cases.                                                                                                                        |
| **Connect stake wallet**          | Connect the wallet that holds this stake. A different connected wallet cannot dispute it.                                                                                    |
| **Dispute** is no longer offered  | Read the status and deadline. The window may have closed or the proposal may already be disputed or decided.                                                                 |
| A transaction is pending          | Check its explorer link and the recorded status before retrying.                                                                                                             |
| Assay has no case for the penalty | Check the on-chain record and dispute before the deadline if you believe it is wrong.                                                                                        |

<details>

<summary>Optional: inspect the calculation</summary>

Open **Why this penalty? → Show derivation**. Compare the checked-call count, failure rate, promise and window with your records. This is useful when the rate on today's Quality page differs from the earlier window behind the proposal. It does not change the deadline or send evidence to the arbiter.

</details>

## Go further

* Developers (optional): [Dispute a stake penalty](https://docs.goassay.ai/developers/list-your-api/dispute-a-stake-penalty).

## Next

* [Tool versions and promotions](/list-your-api/advanced/tool-versions.md)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.goassay.ai/list-your-api/advanced/penalties.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
