diff --git a/haskoin-store.cabal b/haskoin-store.cabal
--- a/haskoin-store.cabal
+++ b/haskoin-store.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 9b01c7b20a2e4262d2e2f1db3f2d12a2d0e32de5b672d89c0c94a00c50f2a80e
+-- hash: 63c2a0e85118148d88a0ddfbd79034b4a4a45715a820cf743c52d55ac164eb35
 
 name:           haskoin-store
-version:        0.26.5
+version:        0.26.6
 synopsis:       Storage and index for Bitcoin and Bitcoin Cash
 description:    Store and index Bitcoin or Bitcoin Cash blocks, transactions, balances and unspent outputs.
                 All data is available via REST API in JSON or binary format.
@@ -57,7 +57,7 @@
     , hashable >=1.3.0.0
     , haskoin-core >=0.13.3
     , haskoin-node >=0.13.0
-    , haskoin-store-data ==0.26.5
+    , haskoin-store-data ==0.26.6
     , hedis >=0.12.13
     , http-types >=0.12.3
     , monad-logger >=0.3.32
@@ -99,7 +99,7 @@
     , haskoin-core >=0.13.3
     , haskoin-node >=0.13.0
     , haskoin-store
-    , haskoin-store-data ==0.26.5
+    , haskoin-store-data ==0.26.6
     , monad-logger >=0.3.32
     , mtl >=2.2.2
     , nqe >=0.6.1
@@ -149,7 +149,7 @@
     , hashable >=1.3.0.0
     , haskoin-core >=0.13.3
     , haskoin-node >=0.13.0
-    , haskoin-store-data ==0.26.5
+    , haskoin-store-data ==0.26.6
     , hedis >=0.12.13
     , hspec >=2.7.1
     , http-types >=0.12.3
diff --git a/src/Haskoin/Store/Web.hs b/src/Haskoin/Store/Web.hs
--- a/src/Haskoin/Store/Web.hs
+++ b/src/Haskoin/Store/Web.hs
@@ -529,12 +529,13 @@
     setHeaders
     as <- parseAddresses
     s <- getStart
+    o <- getOffset
     l <- getLimit full
     proto <- setupBin
     if full
-        then getAddressesTxsFull l s as >>=
+        then getAddressesTxsFull o l s as >>=
              protoSerialNet proto (list . transactionToEncoding)
-        else getAddressesTxsLimit l s as >>= protoSerial proto
+        else getAddressesTxsLimit o l s as >>= protoSerial proto
 
 scottyAddressUnspent :: (MonadUnliftIO m, MonadLoggerIO m) => WebT m ()
 scottyAddressUnspent = do
@@ -552,9 +553,10 @@
     setHeaders
     as <- parseAddresses
     s <- getStart
+    o <- getOffset
     l <- getLimit False
     proto <- setupBin
-    uns <- getAddressesUnspentsLimit l s as
+    uns <- getAddressesUnspentsLimit o l s as
     protoSerialNet proto (list . unspentToEncoding) uns
 
 scottyAddressBalance :: (MonadUnliftIO m, MonadLoggerIO m) => WebT m ()
@@ -593,8 +595,9 @@
     xpub <- parseXpub
     start <- getStart
     limit <- getLimit full
+    o <- getOffset
     proto <- setupBin
-    txs <- xPubTxs xpub start 0 limit
+    txs <- xPubTxs xpub start o limit
     if full
         then do
             txs' <-
@@ -1087,22 +1090,24 @@
 
 getAddressesTxsLimit ::
        (Monad m, StoreRead m)
-    => Maybe Limit
+    => Offset
+    -> Maybe Limit
     -> Maybe BlockRef
     -> [Address]
     -> m [BlockTx]
-getAddressesTxsLimit limit start addrs =
-    getAddressesTxs addrs start limit
+getAddressesTxsLimit offset limit start addrs =
+    applyOffset offset <$> getAddressesTxs addrs start ((offset +) <$> limit)
 
 getAddressesTxsFull ::
        (Monad m, StoreRead m)
-    => Maybe Limit
+    => Offset
+    -> Maybe Limit
     -> Maybe BlockRef
     -> [Address]
     -> m [Transaction]
-getAddressesTxsFull limit start addrs =
+getAddressesTxsFull offset limit start addrs =
     fmap catMaybes $
-    getAddressesTxsLimit limit start addrs >>=
+    getAddressesTxsLimit offset limit start addrs >>=
     mapM (getTransaction . blockTxHash)
 
 getAddressUnspentsLimit ::
@@ -1117,12 +1122,14 @@
 
 getAddressesUnspentsLimit ::
        (Monad m, StoreRead m)
-    => Maybe Limit
+    => Offset
+    -> Maybe Limit
     -> Maybe BlockRef
     -> [Address]
     -> m [Unspent]
-getAddressesUnspentsLimit limit start addrs =
-    getAddressesUnspents addrs start limit
+getAddressesUnspentsLimit offset limit start addrs =
+    applyOffset offset <$>
+    getAddressesUnspents addrs start ((offset +) <$> limit)
 
 -- | Publish a new transaction to the network.
 publishTx ::
