 
             // Callback with `more` and the result (maybe error)
             completion (false, // embedded && full,
-                        res.flatMap {
-                            (json: BlockChainDB.JSON) -> Result<[JSON], BlockChainDB.QueryError> in
-                            let json = (embedded
-                                ? json.asDict(name: "_embedded")?[path]
-                                : [json.dict])
-
-                            guard let data = json as? [JSON.Dict]
-                                else { return Result.failure(QueryError.model ("[JSON.Dict] expected")) }
-
-                            return Result.success (data.map { JSON (dict: $0) })
+                res.flatMap { (json: BlockChainDB.JSON) -> Result<[JSON], BlockChainDB.QueryError> in
+                    let json = (embedded
+                        ? json.asDict(name: "_embedded")?[path]
+                        : [json.dict])
+
+                    guard let data = json as? [JSON.Dict]
+                        else { return Result.failure(QueryError.model ("[JSON.Dict] expected")) }
+
+                    return Result.success (data.map { JSON (dict: $0) })
             })
         }
     }
 
-    internal func rpcMakeRequest (path: String, data: JSON.Dict, completion: @escaping (Result<JSON, QueryError>) -> Void) {
+    internal func ethMakeRequest (ewm: BREthereumEWM, data: JSON.Dict, completion: @escaping (Result<JSON, QueryError>) -> Void) {
+        let networkName = asUTF8String (networkGetName (ewmGetNetwork(ewm)))
+
         guard var urlBuilder = URLComponents (string: ethBaseURL!)
             else { completion (Result.failure(QueryError.url("URLComponents"))); return }
 
-        urlBuilder.path = path
+        urlBuilder.path = "/ethq/\(networkName)/proxy"
 
         guard let url = urlBuilder.url
             else { completion (Result.failure (QueryError.url("URLComponents.url"))); return }

                    // Flag if `more`
                    moreResults = more

                    // Append `transactions` with the resulting transactions.  Be sure
                    results += try! res
                        .flatMap { BlockChainDB.getManyExpected(data: $0, transform: Model.asTransaction) }
                        .recover { error = $0; return [] }.get()

                                 address: String,
                                 rid: Int32,
                                 completion: @escaping (ETH.Balance) -> Void) {
        let json: JSON.Dict = [
            "jsonrpc" : "2.0",
            "method"  : "eth_getBalance",
            "params"  : [address, "latest"],
            "id"      : rid
        ]

        ethMakeRequest(ewm: ewm, data: json) { (res: Result<BlockChainDB.JSON, BlockChainDB.QueryError>) in
            let balance = try! res
                .map { $0.asString (name: "result")! }
                .recover { (ignore) in "200000000000000000" }
                .get()

            completion ((wid: wid, balance: balance, rid: rid))
        }
    }
