# INTMAX2 Exit

INTMAX2 Exit is a secure asset recovery system for the INTMAX2 network. It allows users to withdraw their funds from INTMAX2 (Layer 2) back to Ethereum (Layer 1).

## Why does this exist?

A vulnerability was discovered in one of INTMAX2's internal cryptographic circuits — the component that verifies sufficient balance when sending transactions. Under certain conditions, it was theoretically possible to forge a balance proof. **There is no evidence this was ever exploited.**

In response:

1. **Legacy withdrawals were suspended** to prevent any misuse.
2. **Funds remain secured** in the Ethereum Liquidity contract. No funds were lost.
3. **The Exit system was built** as a new withdrawal path that does not rely on the affected proofs.

Fixing the circuit makes all existing balance proofs incompatible with the new version, and there is no way to migrate old proofs. Therefore, the safest approach is to recalculate all balances from raw transaction data and process withdrawals through the Exit system.

## How it works

1. Users submit **view keys** so the server can decrypt their transaction data.
2. The server **recalculates balances** from scratch, tracing every deposit and transfer.
3. Transfers are **validated recursively** — each transfer is checked to confirm the sender had sufficient funds (see [Glossary: Transfer validation](/intmax-exit-documentation/reference/glossary.md#transfer-validation)).
4. Exit requests are submitted to Ethereum with a **24-hour timelock**.
5. After the timelock, funds are sent to users' Ethereum addresses.

See the [Exit Process Guide](/intmax-exit-documentation/guide/exit-process.md) for step-by-step details.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://intmax-exit.gitbook.io/intmax-exit-documentation/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
