# 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.