diff --git a/Network/Haskoin/Constants.hs b/Network/Haskoin/Constants.hs
--- a/Network/Haskoin/Constants.hs
+++ b/Network/Haskoin/Constants.hs
@@ -5,6 +5,8 @@
 module Network.Haskoin.Constants
 ( -- ** Data
   Network(..)
+, prodnet
+, testnet3
   -- ** Functions
 , switchToTestnet3
 , setNetwork
@@ -31,11 +33,14 @@
 
 import Data.Bits (shiftR)
 import Data.ByteString (ByteString)
+import qualified Data.ByteString.Char8 as C8 (concat, pack)
 import Data.IORef (IORef, newIORef, readIORef, writeIORef)
+import Data.Version (showVersion)
 import Data.Word (Word8, Word32, Word64)
 import Data.LargeWord (Word256)
 import Network.Haskoin.Block.Types
 import System.IO.Unsafe (unsafePerformIO)
+import Paths_haskoin_core (version)
 
 data Network = Network
     { getNetworkName                :: !String
@@ -166,7 +171,11 @@
         }
     , getMaxBlockSize = 1000000
     , getMaxSatoshi = 2100000000000000
-    , getHaskoinUserAgent = "/haskoin:0.3.0/"
+    , getHaskoinUserAgent = C8.concat
+        [ "/haskoin:"
+        , C8.pack $ showVersion version
+        , "/"
+        ]
     , getDefaultPort = 8333
     , getAllowMinDifficultyBlocks = False
     , getPowLimit = fromIntegral (maxBound `shiftR` 32 :: Word256)
@@ -234,7 +243,11 @@
         }
     , getMaxBlockSize = 1000000
     , getMaxSatoshi = 2100000000000000
-    , getHaskoinUserAgent = "/haskoin-testnet:0.3.0/"
+    , getHaskoinUserAgent = C8.concat
+        [ "/haskoin-testnet:"
+        , C8.pack $ showVersion version
+        , "/"
+        ]
     , getDefaultPort = 18333
     , getAllowMinDifficultyBlocks = True
     , getPowLimit = fromIntegral (maxBound `shiftR` 32 :: Word256)
diff --git a/Network/Haskoin/Transaction.hs b/Network/Haskoin/Transaction.hs
--- a/Network/Haskoin/Transaction.hs
+++ b/Network/Haskoin/Transaction.hs
@@ -39,6 +39,7 @@
 , getFee
 , getMSFee
 
+, buildInput
 ) where
 
 import Network.Haskoin.Transaction.Builder
diff --git a/Network/Haskoin/Transaction/Builder.hs b/Network/Haskoin/Transaction/Builder.hs
--- a/Network/Haskoin/Transaction/Builder.hs
+++ b/Network/Haskoin/Transaction/Builder.hs
@@ -15,6 +15,8 @@
 , chooseMSCoinsSink
 , getFee
 , getMSFee
+
+, buildInput
 ) where
 
 import Control.Arrow (first)
diff --git a/haskoin-core.cabal b/haskoin-core.cabal
--- a/haskoin-core.cabal
+++ b/haskoin-core.cabal
@@ -1,5 +1,5 @@
 name:                  haskoin-core
-version:               0.3.0
+version:               0.3.1
 synopsis:
     Implementation of the core Bitcoin protocol features.
 description:
@@ -72,6 +72,7 @@
                    Network.Haskoin.Test.Script
                    Network.Haskoin.Test.Transaction
                    Network.Haskoin.Test.Block
+                   Paths_haskoin_core
 
     extensions: EmptyDataDecls
                 OverloadedStrings
