diff --git a/contract.py b/contract.py
index 62ea5916b3f0ff0d55293ea1c738a01c298da054..240958811d769cb999c6455b0e0609729789700e 100644
--- a/contract.py
+++ b/contract.py
@@ -45,13 +45,17 @@ class ContractProvider:
         self.nft_token = nft_token
         self.network_id = network_id
 
-    @property 
-    def w3(self): 
-        for url in self.urls: 
-            web3 = Web3(HTTPProvider(url))
-            if web3.isConnected():
-                web3.middleware_onion.inject(geth_poa_middleware, layer=0)
-                return web3
+    @property
+    def w3(self):
+        for url in self.urls:
+            try:
+                web3 = Web3(HTTPProvider(url))
+                if web3.isConnected():
+                    web3.middleware_onion.inject(geth_poa_middleware, layer=0)
+                    return web3
+            except Exception as e:
+                #logIt.notice(f"Connection failed for URL {url}: {e}")
+                continue
         raise ConnectionError("No valid links provided - failed to connect")
 
     @property