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

# Failure and recovery

Takes saves processing progress and checks completed actions before retrying. A restart can resume unfinished work, but cannot reverse transactions or trading losses.

| If processing stops at…                        | What can happen next                                                                                                                                               |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Accepted mint                                  | You can cancel before execution starts.                                                                                                                            |
| Circle requires a transfer fee                 | Circle costs are covered by locked settlement fees and operating reserves. Missing capacity or reserve can delay execution; an accepted mint remains cancellable.  |
| In-flight mint                                 | Transfer and credit confirmation must complete; cancellation is unavailable.                                                                                       |
| Redemption preparation                         | Takes must release enough funds from positions. On compatible deployments, the controller can cancel while the request is Accepted; execution removes that option. |
| Returning proceeds                             | Account withdrawal and any cross-chain transfer must finish.                                                                                                       |
| Settled payout                                 | You can claim when the token chain is available.                                                                                                                   |
| Delayed page data                              | Collection can resume or recorded history can be rebuilt.                                                                                                          |
| Failed activation or repeated delivery failure | An operator must investigate and reconcile completed steps.                                                                                                        |

On compatible deployments, `expireRequest(requestId)` can release an Accepted request after its stored deadline. Anyone can submit it; USDC or shares return to the controller. Expiry requires a transaction and does not unwind an Executing request. Confirm the deployment and recovery ABI through the [builder guide](/takes-docs/builders/contracts.md).

One stalled executing request blocks the next request for that pool.

## Retries and restarts

Before repeating a transfer delivery, Takes checks whether Circle already accepted the message and whether a saved transaction is still pending. Launch processing also checks saved progress against contract state before repeating setup. A receipt timeout alone does not prove failure.

Launch processing stops after five counted transaction failures; a successful step resets that count. RPC failures retry without using that allowance. Invalid setup is refused. Transfer delivery becomes stuck after ten counted failures. These are service retry limits, not contract deadlines or refund rights.

Operators must resolve the cause and reconcile completed transactions before resuming failed work. Low-gas and failed-step logs help identify delays. Restoring a service can restore progress, but cannot reverse a wrong trade or permanent pairing.

History can be rebuilt from collected events. A chain reorganization can remove a transaction that previously appeared confirmed. If another network has already acted on its message, operators must reconcile both sides; rebuilding display data alone cannot repair the financial state.

There is no universal emergency refund, rescue, or timeout payout in the contracts. A wrong pairing cannot be changed. Rebuilding history cannot restore lost funds.

For a pending wallet transaction, check the existing hash before sending another. For user-facing steps, see [Troubleshooting](/takes-docs/reference/troubleshooting.md#troubleshooting).


---

# 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://takes.gitbook.io/takes-docs/security-and-trust/failure-and-recovery.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.
