diff --git a/network-bitcoin.cabal b/network-bitcoin.cabal
--- a/network-bitcoin.cabal
+++ b/network-bitcoin.cabal
@@ -1,5 +1,5 @@
 Name:                network-bitcoin
-Version:             1.7.0
+Version:             1.7.1
 Synopsis:            An interface to bitcoind.
 Description:
     This can be used to send Bitcoins, query balances, etc.  It
diff --git a/src/Network/Bitcoin/Internal.hs b/src/Network/Bitcoin/Internal.hs
--- a/src/Network/Bitcoin/Internal.hs
+++ b/src/Network/Bitcoin/Internal.hs
@@ -74,15 +74,14 @@
           -> BS.ByteString
           -> IO Client
 getClient url user pass = do
+    url' <- parseUrl url
     mgr <- newManager defaultManagerSettings
+    let baseReq = applyBasicAuth user pass url'
+            { method = "POST"
+            , requestHeaders = [(hContentType, "application/json")] }
     return $ \r -> do
         resp <- httpLbs (baseReq { requestBody = RequestBodyLBS r }) mgr
         return $ responseBody resp
-  where
-    baseReq = applyBasicAuth user pass $ (fromJust $ parseUrl url)
-                { method = "POST"
-                , requestHeaders = [(hContentType, "application/json")]
-                }
 
 -- | 'callApi' is a low-level interface for making authenticated API
 --   calls to a Bitcoin daemon. The first argument specifies
diff --git a/src/Network/Bitcoin/RawTransaction.hs b/src/Network/Bitcoin/RawTransaction.hs
--- a/src/Network/Bitcoin/RawTransaction.hs
+++ b/src/Network/Bitcoin/RawTransaction.hs
@@ -342,10 +342,9 @@
                          , hasCompleteSigSet :: Bool
                          }
 
--- I have no idea why they use a 1/0 to represent a boolean.
 instance FromJSON RawSignedTransaction where
     parseJSON (Object o) = RawSignedTransaction <$> o .: "hex"
-                                                <*> (toEnum <$> o .: "complete")
+                                                <*> o .: "complete"
     parseJSON _ = mzero
 
 -- | Sign inputs for a raw transaction.
