# Failed Auction

If a ZAP auction does not raise enough funding to meet its soft cap by the time it closes, it is considered a **failed auction**. The outcome is simple and unambiguous: **every bidder gets their full funding currency back, and no tokens are distributed.**

***

### When does an auction fail?

An auction fails when, at the closing block (`endBlock`), the total currency raised from winning bids is below the required soft cap.

There is no partial success. Either the soft cap is met — and the auction graduates — or it is not met and the auction fails entirely. The contract enforces this with no exceptions.

***

### What happens to the tokens?

All tokens are returned to the token treasury. No tokens are distributed to bidders in a failed auction.

***

### What happens to bidder funds?

Every bidder is entitled to a **100% refund** of the funding currency they locked in. The refund is the full original bid amount — no fees, no partial deductions.

However, refunds are **not automatic**. Bidders must take action to recover their funds.

***

### How to get your refund

Recovering your funds is a two-step process:

#### Step 1 — Exit your bid

Once the auction has ended (after `endBlock`), call **Exit** on your bid from the auction interface.

Exiting your bid tells the contract to settle your position. In a failed auction, the settlement is straightforward: your token fill is zero, your entire bid amount is refunded immediately, and your bid is marked as settled.

Your funding currency is transferred back to your wallet at the moment you exit. You do not need to wait for the claim period.

#### Step 2 — Nothing more needed

On a failed auction, exiting is all you need to do. There are no tokens to claim, so the claim step does not apply.

***

### Why aren't refunds automatic?

Pushing funds to every wallet automatically would require the contract to iterate over all bids at once — which could hit gas limits and make the system unreliable at scale. Instead, each bidder pulls their own refund. This is a standard and well-understood pattern in on-chain systems: *"don't push, pull."*

Your funds remain safely locked in the contract until you choose to exit. They cannot be taken by anyone else.

***

### Timeline for a failed auction

```
endBlock reached
    │
    │  Auction is over — no more bids
    │  Soft cap was NOT met → auction is FAILED
    │
    └─► You call Exit on your bid
            └─► Your full funding currency is sent to your wallet immediately
```

***

### Can I exit early if my bid gets outbid?

No. Even if the clearing price rises above your stated maximum, your bid remains locked in the contract until the auction ends at `endBlock`. At that point you can exit normally — the contract will settle any tokens your bid accumulated before being outbid and refund any remaining unspent currency.

***

> See also: [Minimum Funding](https://zealous-auctions.gitbook.io/zealous-auctions-docs/protocol/minimum-funding) — how the soft cap is tracked during the auction.
