# The Compact Overview (/docs/protocols/the-compact/overview)

Learn how Uniswap The Compact coordinates resource locks, compacts, and claims across single-chain and multichain flows.

[The Compact](https://github.com/Uniswap/the-compact) is an ownerless ERC6909 contract that facilitates the voluntary formation and mediation of reusable **resource locks**. It enables tokens to be credibly committed for asynchronous conditions and claimed once those conditions are met.

## Key Components
## Resource locks
Resource locks are created when depositors place tokens (ERC20 or native) into The Compact. Each lock is represented by an ERC6909 token with four key properties:

* The underlying token
* The allocator (prevents double-spending)
* The scope (single-chain or multichain)
* The reset period (for forced withdrawals)

## Compacts
A compact is a commitment created by a resource lock owner (sponsor) that allows tokens to be claimed under specified conditions. Compacts use EIP-712 typed structured data for signatures and can be:

* **Single**: One resource lock on one chain
* **Batch**: Multiple resource locks on one chain
* **Multichain**: Resource locks across multiple chains

## Key actors
* **Sponsors**: Deposit tokens and create compacts
* **Allocators**: Prevent double-spending and validate transfers
* **Arbiters**: Verify conditions and process claims
* **Claimants**: Fulfill conditions and receive tokens
* **Emissaries**: Provide fallback signature verification

## How It Works
1. **Deposit**: Sponsors deposit tokens to create resource locks (ERC6909 tokens)
2. **Create Compact**: Sponsors sign or register compacts specifying conditions
3. **Fulfill**: Claimants meet the specified conditions
4. **Claim**: Arbiters verify and process claims to transfer tokens

## Trust Model
The Compact operates on a trust-minimized model where:

* Sponsors trust allocators won't censor valid requests (but can force withdraw if needed).
* Sponsors trust arbiters will only process valid claims.
* Claimants trust allocators will maintain lock integrity.
* Claimants trust arbiters will process valid claims.

The Compact V1 has undergone two independent security reviews by [OpenZeppelin](https://openzeppelin.com) and [Spearbit Cantina](https://cantina.xyz).

## Deployments
The Compact is deployed at the same address across multiple chains:

| Network          | Address                                      |
| ---------------- | -------------------------------------------- |
| Ethereum Mainnet | `0x00000000000000171ede64904551eeDF3C6C9788` |
| Base             | `0x00000000000000171ede64904551eeDF3C6C9788` |
| Unichain         | `0x00000000000000171ede64904551eeDF3C6C9788` |

The Compact uses deterministic deployment, ensuring the same address across supported networks.

The Compact uses a permissionless deployment process. Anyone can deploy the protocol to a new EVM chain by submitting a transaction with the same `to` and `data` arguments. This ensures the same deterministic address across all chains and enables the creation of compacts that commit resource locks across multiple chains.

## Where to Go Next
* Review core mechanics in [Resource Locks](/docs/protocols/the-compact/concepts/resource-locks).
* Learn signing and payload formats in [Compacts & EIP-712](/docs/protocols/the-compact/concepts/compacts).
* See audits and repositories in [Resources](/docs/protocols/the-compact/resources).
