diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.6.1
+---
+* Fix `SmsAeroBalance` `ToJSON`/`FromJSON` instances.
+
 0.6
 ---
 * Change client function types (see [#11](https://github.com/GetShopTV/smsaero/pull/11)).
diff --git a/smsaero.cabal b/smsaero.cabal
--- a/smsaero.cabal
+++ b/smsaero.cabal
@@ -1,5 +1,5 @@
 name:                smsaero
-version:             0.6
+version:             0.6.1
 synopsis:            SMSAero API and HTTP client based on servant library.
 description:         Please see README.md
 homepage:            https://github.com/GetShopTV/smsaero
@@ -7,7 +7,7 @@
 license-file:        LICENSE
 author:              Nickolay Kudasov
 maintainer:          nickolay@getshoptv.com
-copyright:           (c) 2015, GetShopTV
+copyright:           (c) 2015-2016, GetShopTV
 category:            Web
 build-type:          Simple
 extra-source-files:
diff --git a/src/SMSAero/API.hs b/src/SMSAero/API.hs
--- a/src/SMSAero/API.hs
+++ b/src/SMSAero/API.hs
@@ -61,6 +61,7 @@
 import qualified Data.Map as Map
 
 import Data.Maybe (catMaybes)
+import Text.Read (readEither)
 
 import Control.Applicative
 import Control.Arrow ((***))
@@ -394,11 +395,15 @@
   toJSON status = object [ "result" .= toUrlPiece status ]
 
 instance FromJSON BalanceResponse where
-  parseJSON (Object o) = BalanceResponse <$> o .: "balance"
+  parseJSON (Object o) = do
+    str <- o .: "balance"
+    case readEither str of
+      Left err -> fail err
+      Right b  -> return (BalanceResponse b)
   parseJSON _ = empty
 
 instance ToJSON BalanceResponse where
-  toJSON (BalanceResponse n) = object [ "balance" .= n ]
+  toJSON (BalanceResponse n) = object [ "balance" .= show n ]
 
 instance ToHttpApiData SignResponse where
   toQueryParam SignApproved = "approved"
