         (-> wallet .-addresses js->clj))
     (unspent-amounts [this]
       (let [my-addrs (addresses this)]
-        (if-not (empty? my-addrs)
+        (if (empty? my-addrs)
+          (go nil)
           (->> my-addrs
             (map (partial address->balance urls))
-            a/merge
-            (a/into { }))
-          (go nil))))
+            (a/merge)
+            (a/into { })))))
     (unspent-channel [this]
       (let [return (a/chan)]
         (js/setInterval

        [bitsplit.storage.protocol :only (all)]
        [bitsplit-cli.constants :only (DIR)]
        [bitsplit-cli.utils :only (call-method callback->channel)])
    (:require [cljs.core.async :as a])
    (:use-macros
        [cljs.core.async.macros :only (go)]))


   "https://blockchain.info/address/$address$?format=json"])

(defn- balance [result]
  (or (.-final_balance result) ; blockchain
      (some-> result ; helloblock
        (.-data)
        (.-address)
        (.-confirmedBalance))))

(defn- parse-body [response]
  (->> response
