     (context "/:encoded-cap" [encoded-cap]
       (GET "/" request
         (let [cap (safebase64-decode encoded-cap)]
-          (spy (<!! (execute-cap cap components)))))
+          (spy @(execute-cap cap components))))
       (DELETE "/" request
         (let [cap (safebase64-decode encoded-cap)]
-          (spy (<!! (revoke-cap cap components))))))))
+          (spy @(revoke-cap cap components)))))))
 
 (defn ^:private wrap-components
   "Adds some components to each request map."

(ns icecap.rest
  "The REST API for icecap."
  (:require [clojure.core.async :refer [<!! <! go] :as async]
            [compojure.core :refer [defroutes context GET POST DELETE]]
            [icecap.codec :refer [safebase64-encode safebase64-decode]]
            [taoensso.timbre :refer [info spy]]
            [icecap.api :refer :all]

(defroutes routes
  (context "/v0/caps" {components :components}
    (POST "/" {plan :body-params :as request}
      (let [{:keys [cap error]} @(create-cap (spy plan) components)]
        (if cap
          {:status 201
           :body {:cap (cap-url request cap)}}
