diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+v0.11.0.1
+* Added new fee_info endpoint.
+
 v0.11.0.0
 * The BitX API no longer gives trades when returning private orders. BREAKING CHANGE.
 * Due to the above change, a new function -- getAllTrades -- has been added to the private order API.
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.11.0.0
+version:             0.11.0.1
 synopsis:            A Haskell library for working with the BitX bitcoin exchange.
 
 description:
@@ -50,6 +50,7 @@
   --  Network.Bitcoin.BitX.Private.Auth
     Network.Bitcoin.BitX.Private.Order
     Network.Bitcoin.BitX.Private.Withdrawal
+    Network.Bitcoin.BitX.Private.Fees
     Network.Bitcoin.BitX.Response
 
   ghc-options: -Wall
diff --git a/src/Network/Bitcoin/BitX.hs b/src/Network/Bitcoin/BitX.hs
--- a/src/Network/Bitcoin/BitX.hs
+++ b/src/Network/Bitcoin/BitX.hs
@@ -23,6 +23,7 @@
     --module Network.Bitcoin.BitX.Private.Auth,
     module Network.Bitcoin.BitX.Private.Order,
     module Network.Bitcoin.BitX.Private.Withdrawal,
+    module Network.Bitcoin.BitX.Private.Fees,
     module Network.Bitcoin.BitX.Response,
     BitXAesRecordConvert(..),
     POSTEncodeable(..)
@@ -36,6 +37,7 @@
 --import Network.Bitcoin.BitX.Private.Auth
 import Network.Bitcoin.BitX.Private.Order
 import Network.Bitcoin.BitX.Private.Withdrawal
+import Network.Bitcoin.BitX.Private.Fees
 import Network.Bitcoin.BitX.Types.Internal
 import Network.Bitcoin.BitX.Response
 
diff --git a/src/Network/Bitcoin/BitX/Private.hs b/src/Network/Bitcoin/BitX/Private.hs
--- a/src/Network/Bitcoin/BitX/Private.hs
+++ b/src/Network/Bitcoin/BitX/Private.hs
@@ -75,7 +75,8 @@
   module Network.Bitcoin.BitX.Private.Order,
   module Network.Bitcoin.BitX.Private.Quote,
   --module Network.Bitcoin.BitX.Private.Auth
-  module Network.Bitcoin.BitX.Private.Withdrawal
+  module Network.Bitcoin.BitX.Private.Withdrawal,
+  module Network.Bitcoin.BitX.Private.Fees
   ) where
 
 import Network.Bitcoin.BitX.Internal
@@ -88,6 +89,7 @@
 --import Network.Bitcoin.BitX.Private.Auth
 import Network.Bitcoin.BitX.Private.Quote
 import Network.Bitcoin.BitX.Private.Withdrawal
+import Network.Bitcoin.BitX.Private.Fees
 import Data.Monoid ((<>))
 
 {-# ANN module ("HLint: ignore Use import/export shortcut" :: String) #-}
diff --git a/src/Network/Bitcoin/BitX/Private/Fees.hs b/src/Network/Bitcoin/BitX/Private/Fees.hs
new file mode 100644
--- /dev/null
+++ b/src/Network/Bitcoin/BitX/Private/Fees.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Network.Bitcoin.BitX.Private.Fees
+-- Copyright   :  2017 Tebello Thejane
+-- License     :  BSD3
+--
+-- Maintainer  :  Tebello Thejane <zyxoas+hackage@gmail.com>
+-- Stability   :  Experimental
+-- Portability :  non-portable (GHC Extensions)
+--
+-- Retrieving fee information.
+--
+-- The BitX fee structure is cummulative-volume-based. The sole endpoint in
+-- this packagereturns the user's current fee structure and 30-day volume.
+--
+-----------------------------------------------------------------------------
+
+module Network.Bitcoin.BitX.Private.Fees
+    (
+    getFeeInfo
+    ) where
+
+import Network.Bitcoin.BitX.Internal
+import Network.Bitcoin.BitX.Types
+import Data.Text as Txt
+import Network.Bitcoin.BitX.Response
+import Data.Monoid ((<>))
+
+{- | Get fee structure and 30-day volume (as of midnight) for a currency pair
+
+@Perm_R_Orders@ permission required.
+-}
+
+getFeeInfo :: BitXAuth -> CcyPair -> IO (BitXAPIResponse FeeInfo)
+getFeeInfo auth cpair = simpleBitXGetAuth_ auth ("fee_info?pair=" <> Txt.pack (show cpair))
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
@@ -49,6 +49,7 @@
     Transaction(..),
     Account(..),
     PrivateTrade(..),
+    FeeInfo(..),
 
 -- | Convenient constructors for records which serve as input parameters to functions. These are not
 --   completely safe (since you can forget to set a field and the Haskell compiler won't notice),
@@ -128,7 +129,10 @@
     HasIsBuy(..),
     HasStatus(..),
     HasBeneficiaryId(..),
-    HasOrderId(..)
+    HasOrderId(..),
+    HasMakerFee(..),
+    HasTakerFee(..),
+    HasThirtyDayVolume(..)
   ) where
 
 import Data.Aeson (FromJSON(..))
@@ -501,6 +505,15 @@
 instance NFData PrivateTrade
 
 makeFields ''PrivateTrade
+
+-- | Fee information
+data FeeInfo = FeeInfo {
+    feeInfoMakerFee :: Scientific,
+    feeInfoTakerFee :: Scientific,
+    feeInfoThirtyDayVolume :: Scientific
+  } deriving (Eq, Show, Generic, Data, Typeable, Ord)
+
+makeFields ''FeeInfo
 
 instance FromJSON CcyPair
 
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
@@ -668,3 +668,21 @@
     type Aes [Types.PrivateTrade] = PrivateTrades_
     aesToRec PrivateTrades_ {..} =
         map aesToRec privateTrades'trades
+
+-------------------------------------------- FeeInfo type -------------------------------------------
+
+data FeeInfo_ = FeeInfo_
+    { feeInfo'maker_fee :: QuotedScientific
+    , feeInfo'taker_fee :: QuotedScientific
+    , feeInfo'thirty_day_volume :: QuotedScientific
+    }
+
+$(AesTH.deriveFromJSON AesTH.defaultOptions{AesTH.fieldLabelModifier = last . splitOn "'"}
+    ''FeeInfo_)
+
+instance BitXAesRecordConvert Types.FeeInfo where
+    type Aes Types.FeeInfo = FeeInfo_
+    aesToRec FeeInfo_ {..} =
+        Types.FeeInfo {feeInfoMakerFee = qsToScientific feeInfo'maker_fee,
+                  feeInfoTakerFee = qsToScientific feeInfo'taker_fee,
+                  feeInfoThirtyDayVolume = qsToScientific feeInfo'thirty_day_volume}
diff --git a/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs b/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
--- a/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
+++ b/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
@@ -179,6 +179,13 @@
             \ \"is_buy\": false, \"order_id\": \"BXMC2CJ7HNB88U4\", \"pair\": \"XBTZAR\", \"price\": \"10491.00\", \
             \ \"timestamp\": 1467138492909, \"type\": \"BID\", \"volume\": \"0.147741\" }]}"
          [privateTradeInner]
+    it "FeeInfo is parsed properly" $
+      recordAesCheck
+        "{\"maker_fee\": \"0.00\", \"taker_fee\": \"0.10\", \"thirty_day_volume\": \"0.894342\"}"
+        FeeInfo
+            {feeInfoMakerFee = 0,
+             feeInfoTakerFee = 0.1,
+             feeInfoThirtyDayVolume = 0.894342}
 
 tickerInner :: Ticker
 tickerInner =
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
@@ -191,3 +191,10 @@
   let _ = x ^. BitX.volume
   Nothing
 
+_feeInfo :: Maybe Int
+_feeInfo = do
+  let x = BitX.FeeInfo 0 0 0
+  let _ = x ^. BitX.makerFee
+  let _ = x ^. BitX.takerFee
+  let _ = x ^. BitX.thirtyDayVolume
+  Nothing
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
@@ -41,6 +41,8 @@
               connectsAndParsesOkay $ BitX.getWithdrawalRequests auth
             it "getFundingAddress connects to BitX and works" $
               connectsAndParsesOkay $ BitX.getFundingAddress auth XBT Nothing
+            it "getFeeInfo connects to BitX and works" $
+              connectsAndParsesOkay $ BitX.getFeeInfo auth XBTZAR
         else
             it "API key file not found -- skipping private tests" $
               True `shouldBe` True
