diff --git a/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift b/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift
index c25ee496d..60ff9a094 100644
--- a/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift
+++ b/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift
@@ -120,11 +120,15 @@ extension APIRequest {
     public static func send(uRLRequest: URLRequest, with session: URLSession) async throws -> Data {
         let (data, response) = try await session.data(for: uRLRequest)
 
-        guard 200 ..< 400 ~= response.statusCode else {
-            if 400 ..< 500 ~= response.statusCode {
-                throw Web3Error.clientError(code: response.statusCode)
+        guard let httpResponse = response as? HTTPURLResponse else {
+            throw Web3Error.unknownError
+        }
+
+        guard 200 ..< 400 ~= httpResponse.statusCode else {
+            if 400 ..< 500 ~= httpResponse.statusCode {
+                throw Web3Error.clientError(code: httpResponse.statusCode)
             } else {
-                throw Web3Error.serverError(code: response.statusCode)
+                throw Web3Error.serverError(code: httpResponse.statusCode)
             }
         }
 
diff --git a/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift b/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift
deleted file mode 100644
index e6b67ae83..000000000
--- a/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-//  Async+BackwardCapability.swift
-//
-//
-//  Created by Yaroslav Yashin on 05.06.2022.
-//
-
-import Foundation
-
-@available(iOS, obsoleted: 15.0, message: "Use the built-in API instead")
-@available(macOS, obsoleted: 12.0, message: "Use the built-in API instead")
-extension URLSession {
-    func data(for request: URLRequest) async throws -> (Data, HTTPURLResponse) {
-        try await withCheckedThrowingContinuation { continuation in
-            let dataTask = self.dataTask(with: request) { data, response, error in
-                guard let data = data, let response = response as? HTTPURLResponse else {
-                    let error = error ?? URLError(.badServerResponse)
-                    return continuation.resume(throwing: error)
-                }
-                continuation.resume(returning: (data, response))
-            }
-            dataTask.resume()
-        }
-    }
-}
diff --git a/Sources/web3swift/Transaction/TransactionPollingTask.swift b/Sources/web3swift/Transaction/TransactionPollingTask.swift
index 08593e42c..f5c69ff0f 100644
--- a/Sources/web3swift/Transaction/TransactionPollingTask.swift
+++ b/Sources/web3swift/Transaction/TransactionPollingTask.swift
@@ -11,9 +11,9 @@ import Web3Core
 final public class TransactionPollingTask {
 
     private enum DelayUnit: UInt64 {
-        case shortest = 1
-        case medium = 5
-        case longest = 60
+        case shortest = 1_500_000_000
+        case medium = 2_500_000_000
+        case longest = 9_000_000_000
 
         func shouldIncreaseDelay(_ startTime: Date) -> Bool {
             let timePassed = Date().timeIntervalSince1970 - startTime.timeIntervalSince1970