diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,13 +1,35 @@
+v0.6.0.0
+* Added the new endpoint for creating market (spot) orders.
+* Replaced http-conduit with http-client and http-client-tls.
+* Fixed broken rate limiting.
+
+v0.5.0.1
+* A few more major bugfixes w.r.t. to BitX number formatting.
+
+v0.5.0.1
+* Fixed issue due to BitX's handling of ints as decimal.
+
 v0.5.0.0
 * Prices should be integers, not real. BREAKING CHANGE.
 * Dropped support for versions of GHC lower than 7.8.1.
 
+v0.4.0.1
+* BitX expects decimals to have 6 places and no trailing zeros.
+* Changed license to BSD3.
+* Now builds on Stack LTS-3.
+
 v0.4.0.0
 * ExceptionResponse now holds the actual exception, rather than its text representation. BREAKING CHANGE.
 
 v0.3.0.0
 * Replaced Volkov records with (micro)lenses. BREAKING CHANGE.
 * Implemented a (naive) mechanism to work around nginx rate limiting.
+
+v0.2.0.2
+* Added Naigerian Naira.
+
+v0.2.0.1
+* Record library idependency needs upper bound.
 
 v0.2.0.0
 * Replaced Decimal with Scientific. BREAKING CHANGE.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 [![Build Status](https://travis-ci.org/tebello-thejane/bitx-haskell.svg?branch=master)](https://travis-ci.org/tebello-thejane/bitx-haskell)
 [![Hackage](https://budueba.com/hackage/bitx-bitcoin)](https://hackage.haskell.org/package/bitx-bitcoin)
-[![CC0 Public Domain](http://b.repl.ca/v1/CC0-Public_Domain-brightgreen.png)](http://creativecommons.org/publicdomain/zero/1.0/)
+[![BSD3](https://img.shields.io/badge/license-BSD3-brightgreen.svg?style=flat)](http://opensource.org/licenses/BSD-3-Clause)
 
 (Hopefully useful) Haskell bindings to the [BitX](https://bitx.co/) bitcoin exchange's [API](https://bitx.co/api).
 
@@ -15,7 +15,7 @@
 import qualified Network.Bitcoin.BitX as BitX
 import Data.Text (unpack)
 import Network.HTTP.Types.Status (Status(..))
-import Network.HTTP.Conduit (responseStatus)
+import Network.HTTP.Client (responseStatus)
 
 main :: IO ()
 main = do
@@ -31,7 +31,7 @@
 ```
 
 Note that the code snippet above depends on [http-types](https://hackage.haskell.org/package/http-types),
-[text](https://hackage.haskell.org/package/text), [http-conduit](https://hackage.haskell.org/package/http-conduit),
+[text](https://hackage.haskell.org/package/text), [http-client](https://hackage.haskell.org/package/http-client),
 [lens](https://hackage.haskell.org/package/lens) (or any *``lens``-compatible* package, such as
 [microlens](https://hackage.haskell.org/package/microlens)), and finally **bitx-bitcoin**.
 
diff --git a/bitx-bitcoin.cabal b/bitx-bitcoin.cabal
--- a/bitx-bitcoin.cabal
+++ b/bitx-bitcoin.cabal
@@ -1,5 +1,5 @@
 name:                bitx-bitcoin
-version:             0.5.0.1
+version:             0.6.0.0
 synopsis:            A Haskell library for working with the BitX bitcoin exchange.
 
 description:
@@ -65,11 +65,12 @@
                        aeson >= 0.8,
                        text,
                        time,
-                       http-conduit >= 2.0.0,
                        bytestring,
                        network,
                        split >= 0.2.0.0,
                        scientific,
+                       http-client >= 0.4.6.1,
+                       http-client-tls,
                        microlens,
                        microlens-th,
                        http-types
@@ -137,7 +138,7 @@
                        microlens,
                        bitx-bitcoin,
                        http-types,
-                       http-conduit,
+                       http-client,
                        text
   hs-source-dirs:      test
   default-language:    Haskell2010
diff --git a/src/Network/Bitcoin/BitX/Internal.hs b/src/Network/Bitcoin/BitX/Internal.hs
--- a/src/Network/Bitcoin/BitX/Internal.hs
+++ b/src/Network/Bitcoin/BitX/Internal.hs
@@ -13,9 +13,10 @@
 import Network.Bitcoin.BitX.Types
 import qualified Network.Bitcoin.BitX.Types as Types
 import Network.Bitcoin.BitX.Types.Internal
-import qualified Network.HTTP.Conduit as NetCon
+import qualified Network.HTTP.Client as NetCon
+import qualified Network.HTTP.Client.TLS as NetCon
 import Network.HTTP.Types (status503)
-import Network.HTTP.Conduit (Response(..), Request(..))
+import Network.HTTP.Client (Response(..), Request(..))
 import Control.Exception (try)
 import qualified Data.Aeson as Aeson (decode)
 import qualified Data.ByteString.Lazy as BL
@@ -27,8 +28,8 @@
 import Control.Applicative ((<|>))
 import Lens.Micro ((^.))
 import Control.Concurrent (threadDelay)
-#if MIN_VERSION_base(4,8,0)
--- <$> is in base since 4.8 due to the AMP
+#if __GLASGOW_HASKELL__ >= 710
+-- <$> is in base since 4.8 (GHC 7.10) due to the AMP
 #else
 import Control.Applicative ((<$>))
 #endif
@@ -81,7 +82,7 @@
         consumeResponseIO
 
 rateLimit :: IO (Either NetCon.HttpException c) -> (Either NetCon.HttpException c -> IO d) -> IO d
-rateLimit act1 act2 = go (500 * 000)
+rateLimit act1 act2 = go (500 * 1000)
     where
         go del = do
             resp <- act1
diff --git a/src/Network/Bitcoin/BitX/Private/Order.hs b/src/Network/Bitcoin/BitX/Private/Order.hs
--- a/src/Network/Bitcoin/BitX/Private/Order.hs
+++ b/src/Network/Bitcoin/BitX/Private/Order.hs
@@ -24,7 +24,8 @@
   getAllOrders,
   postOrder,
   stopOrder,
-  getOrder
+  getOrder,
+  postMarketOrder
   ) where
 
 import Network.Bitcoin.BitX.Internal
@@ -80,3 +81,19 @@
 
 getOrder :: BitXAuth -> OrderID -> IO (BitXAPIResponse PrivateOrderWithTrades)
 getOrder auth oid = simpleBitXGetAuth_ auth $ "orders/" ++ Txt.unpack oid
+
+{- | Create a new market order.
+
+__Warning! Orders cannot be reversed once they have executed. Please ensure your program has been__
+__thoroughly tested before submitting orders.__
+
+A market order executes immediately, and either buys as much bitcoin that can be
+bought for a set amount of fiat currency, or sells a set amount of bitcoin for
+as much fiat as possible.
+
+Use order type @BID@ to buy bitcoin or @ASK@ to sell.
+
+@Perm_W_Orders@ permission is required.
+ -}
+postMarketOrder :: BitXAuth -> MarketOrderRequest -> IO (BitXAPIResponse OrderID)
+postMarketOrder auth moreq = simpleBitXPOSTAuth_ auth moreq "marketorder"
diff --git a/src/Network/Bitcoin/BitX/Response.hs b/src/Network/Bitcoin/BitX/Response.hs
--- a/src/Network/Bitcoin/BitX/Response.hs
+++ b/src/Network/Bitcoin/BitX/Response.hs
@@ -19,7 +19,7 @@
     BitXAPIResponse(..)
   ) where
 
-import Network.HTTP.Conduit (Response(..), HttpException)
+import Network.HTTP.Client (Response(..), HttpException)
 import Data.ByteString.Lazy (ByteString)
 import Network.Bitcoin.BitX.Types
 
diff --git a/src/Network/Bitcoin/BitX/Types.hs b/src/Network/Bitcoin/BitX/Types.hs
--- a/src/Network/Bitcoin/BitX/Types.hs
+++ b/src/Network/Bitcoin/BitX/Types.hs
@@ -30,6 +30,7 @@
     OrderType(..),
     RequestStatus(..),
     OrderRequest(..),
+    MarketOrderRequest(..),
     RequestSuccess,
     BitXError(..),
     PrivateOrderWithTrades(..),
@@ -58,6 +59,7 @@
     mkOrderRequest,
     mkQuoteRequest,
     mkNewWithdrawal,
+    mkMarketOrderRequest,
 
 -- | Lens @Has*@ instances for convenient record accessors and mutators.
 --
@@ -320,6 +322,17 @@
 -- |@mkOrderRequest = OrderRequest ZARXBT BID 0 0@
 mkOrderRequest :: OrderRequest
 mkOrderRequest = OrderRequest ZARXBT BID 0 0
+
+data MarketOrderRequest = MarketOrderRequest
+        {marketOrderRequestPair :: CcyPair,
+         marketOrderRequestOrderType :: OrderType,
+         marketOrderRequestVolume :: Scientific } deriving (Eq, Show)
+
+makeFields ''MarketOrderRequest
+
+-- |@mkMarketOrderRequest = MarketOrderRequest ZARXBT BID 0@
+mkMarketOrderRequest :: MarketOrderRequest
+mkMarketOrderRequest = MarketOrderRequest ZARXBT BID 0
 
 -- | The current balance of a private account.
 data Balance = Balance
diff --git a/src/Network/Bitcoin/BitX/Types/Internal.hs b/src/Network/Bitcoin/BitX/Types/Internal.hs
--- a/src/Network/Bitcoin/BitX/Types/Internal.hs
+++ b/src/Network/Bitcoin/BitX/Types/Internal.hs
@@ -20,8 +20,8 @@
 import Data.Time.Clock (UTCTime)
 import Data.Time.Clock.POSIX (posixSecondsToUTCTime)
 import Lens.Micro ((^.))
-#if MIN_VERSION_base(4,8,0)
--- base 4.8 re-exports Monoid and its functions/constants
+#if __GLASGOW_HASKELL__ >= 710
+-- base 4.8+ (GHC 7.10+) re-exports Monoid and its functions/constants
 #else
 import Data.Monoid (mempty)
 #endif
@@ -29,7 +29,7 @@
 import Data.ByteString (ByteString)
 import Data.List.Split (splitOn)
 import qualified Data.ByteString.Char8 as BS8 (pack)
-#if MIN_VERSION_base(4,7,0)
+#if __GLASGOW_HASKELL__ >= 708
 import Data.Coerce
 #endif
 
@@ -74,7 +74,7 @@
    parseJSON _          = mempty
 
 qsToScientific :: QuotedScientific -> Scientific
-#if MIN_VERSION_base(4,7,0)
+#if __GLASGOW_HASKELL__ >= 708
 qsToScientific = coerce
 {-# INLINE qsToScientific #-}
 #else
@@ -82,7 +82,7 @@
 #endif
 
 qiToInt :: QuotedInt -> Int
-#if MIN_VERSION_base(4,7,0)
+#if __GLASGOW_HASKELL__ >= 708
 qiToInt = coerce
 {-# INLINE qiToInt #-}
 #else
@@ -178,7 +178,7 @@
       bitXError'error_code :: Text
     } deriving (Show, Eq)
 
-$(AesTH.deriveJSON AesTH.defaultOptions{AesTH.fieldLabelModifier = last . splitOn "'"} ''BitXError_)
+$(AesTH.deriveFromJSON AesTH.defaultOptions{AesTH.fieldLabelModifier = last . splitOn "'"} ''BitXError_)
 
 instance BitXAesRecordConvert Types.BitXError where
     type Aes Types.BitXError = BitXError_
@@ -631,3 +631,11 @@
     postEncode acc =
         [("name", showableToBytestring_ (acc ^. Types.name)),
          ("currency", showableToBytestring_ (acc ^. Types.currency))]
+
+------------------------------------- MarketOrderRequest type ------------------------------------
+
+instance POSTEncodeable Types.MarketOrderRequest where
+    postEncode moreq =
+        [("type", if (moreq ^. Types.orderType) == Types.BID then "BUY" else "SELL"),
+         ("pair", showableToBytestring_ (moreq ^. Types.pair)),
+         (if (moreq ^. Types.orderType) == Types.BID then "counter_volume" else "base_volume", realToDecimalByteString_ (moreq ^. Types.volume))]
diff --git a/test/Example.hs b/test/Example.hs
--- a/test/Example.hs
+++ b/test/Example.hs
@@ -5,7 +5,7 @@
 import qualified Network.Bitcoin.BitX as BitX
 import Data.Text (unpack)
 import Network.HTTP.Types.Status (Status(..))
-import Network.HTTP.Conduit (responseStatus)
+import Network.HTTP.Client (responseStatus)
 
 main :: IO ()
 main = do
diff --git a/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs b/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs
--- a/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs
+++ b/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs
@@ -175,4 +175,10 @@
     let _ = x ^. BitX.currency
     Nothing
 
-
+_marketOrderRequest :: Maybe Int
+_marketOrderRequest = do
+    let x = BitX.MarketOrderRequest XBTZAR BID 0
+    let _ = x ^. BitX.pair
+    let _ = x ^. BitX.orderType
+    let _ = x ^. BitX.volume
+    Nothing
diff --git a/test/Network/Bitcoin/BitX/Spec/Specs/PostSpec.hs b/test/Network/Bitcoin/BitX/Spec/Specs/PostSpec.hs
--- a/test/Network/Bitcoin/BitX/Spec/Specs/PostSpec.hs
+++ b/test/Network/Bitcoin/BitX/Spec/Specs/PostSpec.hs
@@ -59,3 +59,23 @@
         [("type", "BUY"),
          ("pair", "XBTKES"),
          ("base_amount", "566.76")]
+    it "MarketOrderRequest for buy is post-encoded properly" $
+        postEncode
+          MarketOrderRequest
+            {marketOrderRequestPair = XBTZAR,
+             marketOrderRequestOrderType = BID,
+             marketOrderRequestVolume = 15.023}
+     `shouldBe`
+       [("type", "BUY"),
+        ("pair", "XBTZAR"),
+        ("counter_volume", "15.023")]
+    it "MarketOrderRequest for sell is post-encoded properly" $
+        postEncode
+          MarketOrderRequest
+            {marketOrderRequestPair = XBTZAR,
+             marketOrderRequestOrderType = ASK,
+             marketOrderRequestVolume = 15.023}
+     `shouldBe`
+       [("type", "SELL"),
+        ("pair", "XBTZAR"),
+        ("base_volume", "15.023")]
diff --git a/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs b/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs
--- a/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs
+++ b/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs
@@ -35,6 +35,12 @@
               connectsAndParsesOkay $ BitX.getBalances auth
             it "getAllOrders connects to BitX and works" $
               connectsAndParsesOkay $ BitX.getAllOrders auth Nothing Nothing
+            it "getFundingAddress for default address connects to BitX and works" $
+              connectsAndParsesOkay $ BitX.getFundingAddress auth XBT Nothing
+            it "getWithDrawalRequests connects to BitX and works" $
+              connectsAndParsesOkay $ BitX.getWithdrawalRequests auth
+            it "getFundingAddress connects to BitX and works" $
+              connectsAndParsesOkay $ BitX.getFundingAddress auth XBT Nothing
         else
             it "API key file not found -- skipping private tests" $
               True `shouldBe` True
