# Deployment Addresses

> Markdown export of the Gearbox Protocol documentation page for agents and retrieval systems.

Canonical page: https://docs.gearbox.finance/developers/res-addresses
Source file: content/developers/res-addresses.mdx
Section router: https://docs.gearbox.finance/developers/llms.txt
Section full export: https://docs.gearbox.finance/developers/llms-full.txt

Gearbox Protocol contracts are deployed across multiple networks. This page lists the core contract addresses for each supported chain.

## Programmatic Discovery

The recommended way to resolve contract addresses at runtime is through the **AddressProvider** contract. Rather than hardcoding addresses, query the AddressProvider to get the latest verified deployment for any protocol component:

```typescript
import { GearboxSDK } from '@gearbox-protocol/sdk';

const sdk = await GearboxSDK.attach({ client, marketConfigurators: [] });

// Resolve any protocol contract by its key
const [address, version] = sdk.addressProvider.mustGetLatest(
  AP_MARKET_COMPRESSOR,
  VERSION_RANGE_310
);
```

See the [SDK setup guide](https://docs.gearbox.finance/developers/gm-start-ts) for full initialization details.

***

## Ethereum Mainnet

| Contract               | Address                                      |
| ---------------------- | -------------------------------------------- |
| AddressProvider        | `0x0000000000000000000000000000000000000001` |
| MarketCompressor       | `0x0000000000000000000000000000000000000002` |
| CreditAccountCompressor| `0x0000000000000000000000000000000000000003` |
| PriceFeedCompressor    | `0x0000000000000000000000000000000000000004` |
| BotList                | `0x0000000000000000000000000000000000000005` |

> Placeholder addresses shown above. Refer to the AddressProvider or the [Gearbox GitHub](https://github.com/Gearbox-protocol) for canonical deployments.

***

## Arbitrum

| Contract               | Address                                      |
| ---------------------- | -------------------------------------------- |
| AddressProvider        | `0x0000000000000000000000000000000000000001` |
| MarketCompressor       | `0x0000000000000000000000000000000000000002` |
| CreditAccountCompressor| `0x0000000000000000000000000000000000000003` |
| PriceFeedCompressor    | `0x0000000000000000000000000000000000000004` |
| BotList                | `0x0000000000000000000000000000000000000005` |

> Placeholder addresses shown above. Refer to the AddressProvider or the [Gearbox GitHub](https://github.com/Gearbox-protocol) for canonical deployments.

***

## Optimism

| Contract               | Address                                      |
| ---------------------- | -------------------------------------------- |
| AddressProvider        | `0x0000000000000000000000000000000000000001` |
| MarketCompressor       | `0x0000000000000000000000000000000000000002` |
| CreditAccountCompressor| `0x0000000000000000000000000000000000000003` |
| PriceFeedCompressor    | `0x0000000000000000000000000000000000000004` |
| BotList                | `0x0000000000000000000000000000000000000005` |

> Placeholder addresses shown above. Refer to the AddressProvider or the [Gearbox GitHub](https://github.com/Gearbox-protocol) for canonical deployments.

***

## Notes

- Always prefer the **AddressProvider** for programmatic address resolution. Hardcoded addresses may become stale after protocol upgrades.
- Market-specific contracts (Pools, Credit Managers, Credit Facades) are discoverable through the MarketCompressor once you have the AddressProvider.
- For a complete list of address keys, see the `AP_*` constants exported by the SDK.
