> For the complete documentation index, see [llms.txt](https://countertrade.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://countertrade.gitbook.io/docs/funds-and-settlement/claims-and-refunds.md).

# Claims and refunds

How to claim your on-chain prize or your entry-fee refund, what each button state means, and what the contract checks before it pays.

Two things can come back to you on-chain, and both go to the wallet you joined with.

Most of the time you don't have to do anything: after a battle finalizes or is cancelled, CounterTrade sends the payout for you and it arrives on its own. The claim button stays because that is a convenience, not a guarantee — when a payout hasn't arrived, you claim it yourself and the money is the same money. See [Network and gas](/docs/funds-and-settlement/network-and-gas.md).

|         | Prize                                      | Refund                                     |
| ------- | ------------------------------------------ | ------------------------------------------ |
| When    | The battle is **Finalized** and you placed | The battle was **cancelled** and never ran |
| Button  | **Claim prize**                            | **Claim refund**                           |
| You get | A share of the prize pool                  | Your own entry fee back                    |

Only the wallet that joined can be paid, whoever sends the transaction. If a different one is connected the button reads **Wallet mismatch**, and the helper line names the address to switch to.

## Claiming a prize

Check your wallet first — the prize may already be there.

The battle has to be **Finalized** — prizes are not claimable before that. See [Settlement](/docs/funds-and-settlement/settlement.md).

1. Open the battle you placed in. The claim control is on its page.
2. Select **Claim prize**.
3. Confirm in your wallet. The button changes to **Claiming…**.
4. Wait after the transaction confirms. It shows **Confirmed on chain** while the app reads the claim back — it does not jump straight to **Claimed** from the receipt.

The button reads **Claimed** when the prize has reached your wallet.

Before it becomes available you may see **Finalizing room…** or **Indexer catching up…** — wait for those to clear. If you did not place high enough to win, it reads **Not eligible**.

## Claiming a refund

A battle becomes refundable in two ways:

* **It never filled.** If it doesn't reach its minimum players by the join deadline, it is cancelled and never runs. Anyone can trigger that once the deadline passes — it does not wait on CounterTrade.
* **It ran but was never settled in time.** After the settlement window, it can be converted to a cancelled battle and refunded. See [Settlement](/docs/funds-and-settlement/settlement.md).

Either way only your entry fee comes back, and there is no paper balance to settle — nothing was traded, or nothing counted.

1. Open the cancelled battle. While the page checks your status you'll briefly see `Checking refund status…`.
2. Select **Claim refund**. If the button reads **Connect wallet**, connect the wallet you joined with first.
3. Confirm in your wallet. The button changes to **Refunding…** and the status reads `Awaiting wallet confirmation…`.
4. Wait. The status reads `Confirmed on chain — waiting for indexer` while the result is recorded.

The button reads **Refunded**, with a link to the transaction, and your fee is back in your joining wallet.

## When a seat is disqualified

A wallet can join on-chain without a CounterTrade account. When the battle starts, that seat is **disqualified**: it shows as disqualified in the player list and gets no trading account, no rank and no prize. Its entry fee comes back to it at settlement, sent like a prize payout.

* The pool and the platform fee come from the other players' entry fees only.
* The battle settles even below its minimum players. Unfilled prize places' shares go to the filled ones in proportion.
* A team battle with a disqualified seat has no winner: every seat gets its entry fee back, with no fee.

## What the contract checks

Claiming is not just a transfer. Your wallet supplies a proof that your payout is part of the result committed on-chain when the battle settled, and the contract verifies that proof before it pays.

**A prize is paid once, only to the winning wallet, and only for the amount recorded for you.** That is what makes it safe for CounterTrade to send the transaction on your behalf: whoever submits it, the contract pays the wallet named in the committed result. You cannot be paid for a result you are not in, and nobody can be paid in your place. A refund is guarded the same way. See [Settlement](/docs/funds-and-settlement/settlement.md) for what gets committed and how to verify your own payout.

## If something goes wrong

* **Confirmed (indexer slow)** — the claim confirmed on chain but the app hasn't picked it up. The status reads "Confirmed on chain. Indexer is catching up — refresh the page in a moment." Wait a few seconds and refresh.
* **Try again** — the transaction didn't go through. Select the button to retry and confirm again.
* `You are not eligible for a refund.` — this battle owes your account nothing. You'll see it if you didn't join, or it isn't cancelled. If you already claimed, the button reads **Refunded** instead.

Retrying is safe: the contract refuses a second claim or refund, so a duplicate attempt fails rather than paying twice — including when it crosses with a payout CounterTrade was already sending. A failed attempt still costs you the network fee, because a claim you send is one you pay for. See [Transaction troubleshooting](/docs/funds-and-settlement/transaction-troubleshooting.md).

## Related

* [Settlement](/docs/funds-and-settlement/settlement.md)
* [Battle lifecycle](/docs/battles/battle-lifecycle.md)
* [Transaction troubleshooting](/docs/funds-and-settlement/transaction-troubleshooting.md)
