# SDK mainnet checklist
* In `constants.js` file
- [x] Update the `CHAIN_ID` constant
- [ ] Add `mainnetStakehouseAddresses`
- [x] TRANSACTION_ROUTER
- [x] ACCOUNT_MANAGER
- [x] SAVETH_REGISTRY
- [x] SAVETH_MANAGER
- [x] SAVETH_BATCH_TX
- [x] SLOT_SETTLEMENT_REGISTRY
- [x] DETH
- [x] SAVETH_INDEX_NAMING_REGISTRY
- [x] SAFE_BOX
- [x] STAKEHOUSE_UNIVERSE
- [ ] HOUSE_RAGE_QUIT_ADAPTOR (**NOT YET DEPLOYED**)
- [x] Add `mainnetStakehouseUrls`
- [x] SUBGRAPH_ENDPOINTS
- [x] BEACON_AUTH_ENDPOINT
- [x] CREDENTIAL_GENERATOR
- [x] BLS_AUTH_ENDPOINT
- [x] Add `mainnetCIPConstants`
- [x] DKG_PUBLIC_KEY
- [x] CIP_SUBGRAPH_ENDPOINT
- [x] Update `_getChainSpecificConstants` to include the mainnet related constants
- [x] Check if `BASE_CRYPTOGRAPHY_WRAPPER_URL` needs to be updated in the CIP (**SAME AS DEVNET**)
- [x] Check if `specialExitFee` is `0` only for Goerli. If not, update the `_specialExitFee` function in `utils.js`
- [x] Check if other hardcoded constants are same regardless the chain (particularly in the Multiparty ragequit). If not, update them. For eg. `DOMAIN_SEPARATOR_VERSION` for multiparty-ragequit.