What should be the preferred approach for websocket connections? We are currently using the websockets to listen to events from our mainnet contracts.
You can use event sync to listen for those events and sync them in the database.
You can also use another node provider for that if you want to use websockets in particular.