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

    }

    public func getTransfers (blockchainId: String, addresses: [String], completion: @escaping (Result<[Model.Transfer], QueryError>) -> Void) {
        dbMakeRequest (path: "transfers", query: ["blockchain_id":blockchainId]) {
            (res: Result<[BlockChainDB.JSON], BlockChainDB.QueryError>) in
            completion (res.flatMap {
                let transfers = $0.map { Model.asTransfer(json: $0) }

    }

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

            // How to handle an error?
