     }
 
     public func getBlockchains (mainnet: Bool? = nil, completion: @escaping (Result<[Model.Blockchain],QueryError>) -> Void) {
-        dbMakeRequest (path: "blockchains", query: mainnet.map { ["testnet":($0 ? "false" : "true")] }) {
+        dbMakeRequest (path: "blockchains", query: mainnet.map { zip (["testnet"], [($0 ? "false" : "true")]) }) {
             (res: Result<[JSON], BlockChainDB.QueryError>) in
 
             // How to handle an error?

    }

    public func getCurrencies (blockchainID: String? = nil, completion: @escaping (Result<[Model.Currency],QueryError>) -> Void) {
        dbMakeRequest (path: "currencies", query: blockchainID.map { ["blockchain_id":$0] }) {
            (res: Result<[BlockChainDB.JSON], BlockChainDB.QueryError>) in

            completion (res.flatMap {

    }

    // [String:String] does not handle ["addresses":[...]]
    internal func dbMakeRequest (path: String,
                                 query: Zip2Sequence<[String],[String]>?,
                                 completion: @escaping (Result<[JSON], QueryError>) -> Void) {
        guard var urlBuilder = URLComponents (string: dbBaseURL)
            else { completion (Result.failure(QueryError.Foo)); return }

