diff --git a/hive/db/schema.py b/hive/db/schema.py
index a9ec2d708b2ecc1616120e146eeb1006c69c3e96..b2461158e1e54af7ac10814da0dd1e63b909d998 100644
--- a/hive/db/schema.py
+++ b/hive/db/schema.py
@@ -91,6 +91,7 @@ def build_metadata():
 
         # core stats/indexes
         sa.Column('payout', sa.types.DECIMAL(10, 3), nullable=False, server_default='0'),
+        sa.Column('pending_payout', sa.types.DECIMAL(10, 3), nullable=False, server_default='0'),
         sa.Column('payout_at', sa.DateTime, nullable=False, server_default='1990-01-01'),
         sa.Column('updated_at', sa.DateTime, nullable=False, server_default='1990-01-01'),
         sa.Column('is_paidout', BOOLEAN, nullable=False, server_default='0'),
diff --git a/hive/indexer/blocks.py b/hive/indexer/blocks.py
index a6272374274dd1dbe81755c57ce6516faf07b603..6085b27ef63f437d60b585cf70b72a2f81856bd3 100644
--- a/hive/indexer/blocks.py
+++ b/hive/indexer/blocks.py
@@ -65,6 +65,7 @@ class Blocks:
         Tags.flush()
         Votes.flush()
         cls._flush_blocks()
+        Posts.flush()
         time_end = perf_counter()
         log.info("[PROCESS BLOCK] %fs", time_end - time_start)
         return ret
@@ -91,6 +92,7 @@ class Blocks:
         Votes.flush()
         cls._flush_blocks()
         Follow.flush(trx=False)
+        Posts.flush()
 
         DB.query("COMMIT")
         time_end = perf_counter()
@@ -99,37 +101,55 @@ class Blocks:
         return cls.ops_stats
 
     @staticmethod
-    def prepare_vops(vopsList, date):
+    def prepare_vops(comment_payout_ops, vopsList, date):
         vote_ops = {}
-        comment_payout_ops = {}
+        ops_stats = { 'author_reward_operation' : 0, 'comment_reward_operation' : 0, 'effective_comment_vote_operation' : 0, 'comment_payout_update_operation' : 0 }
+
         for vop in vopsList:
             key = None
             val = None
 
             op_type = vop['type']
             op_value = vop['value']
-            if op_type == 'curation_reward_operation':
-                key = "{}/{}".format(op_value['comment_author'], op_value['comment_permlink'])
-                val = {'reward' : op_value['reward']}
-            elif op_type == 'author_reward_operation':
-                key = "{}/{}".format(op_value['author'], op_value['permlink'])
-                val = {'hbd_payout':op_value['hbd_payout'], 'hive_payout':op_value['hive_payout'], 'vesting_payout':op_value['vesting_payout']}
+            key = "{}/{}".format(op_value['author'], op_value['permlink'])
+  
+            if op_type == 'author_reward_operation':
+                ops_stats[ 'author_reward_operation' ] += 1
+
+                if key not in comment_payout_ops:
+                  comment_payout_ops[key] = { 'author_reward_operation':None, 'comment_reward_operation':None, 'effective_comment_vote_operation':None, 'comment_payout_update_operation':None, 'date' : date }
+
+                comment_payout_ops[key][op_type] = op_value
+
             elif op_type == 'comment_reward_operation':
-                if('payout' not in op_value or op_value['payout'] is None):
-                    log.error("Broken op: `{}'".format(str(vop)))
-                key = "{}/{}".format(op_value['author'], op_value['permlink'])
-                val = {'payout':op_value['payout'], 'author_rewards':op_value['author_rewards']}
+                ops_stats[ 'comment_reward_operation' ] += 1
+
+                if key not in comment_payout_ops:
+                  comment_payout_ops[key] = { 'author_reward_operation':None, 'comment_reward_operation':None, 'effective_comment_vote_operation':None, 'comment_payout_update_operation':None, 'date' : date }
+
+                comment_payout_ops[key]['effective_comment_vote_operation'] = None
+
+                comment_payout_ops[key][op_type] = op_value
+
             elif op_type == 'effective_comment_vote_operation':
+                ops_stats[ 'effective_comment_vote_operation' ] += 1
                 key_vote = "{}/{}/{}".format(op_value['voter'], op_value['author'], op_value['permlink'])
                 vote_ops[ key_vote ] = op_value
 
-            if key is not None and val is not None:
-                if key in comment_payout_ops:
-                    comment_payout_ops[key].append({op_type:val})
-                else:
-                    comment_payout_ops[key] = [{op_type:val}]
+                if key not in comment_payout_ops:
+                  comment_payout_ops[key] = { 'author_reward_operation':None, 'comment_reward_operation':None, 'effective_comment_vote_operation':None, 'comment_payout_update_operation':None, 'date' : date }
+
+                comment_payout_ops[key][op_type] = op_value
+
+            elif op_type == 'comment_payout_update_operation':
+                ops_stats[ 'comment_payout_update_operation' ] += 1
+
+                if key not in comment_payout_ops:
+                  comment_payout_ops[key] = { 'author_reward_operation':None, 'comment_reward_operation':None, 'effective_comment_vote_operation':None, 'comment_payout_update_operation':None, 'date' : date }
 
-        return (vote_ops, comment_payout_ops)
+                comment_payout_ops[key][op_type] = op_value
+
+        return (vote_ops, ops_stats)
 
 
     @classmethod
@@ -187,8 +207,7 @@ class Blocks:
                     if not is_initial_sync:
                         Accounts.dirty(op['author']) # lite - rep
                         Accounts.dirty(op['voter']) # lite - stats
-                        update_comment_pending_payouts.append([op['author'], op['permlink']])
-                        Votes.vote_op(op)
+                    Votes.vote_op(op)
 
                 # misc ops
                 elif op_type == 'transfer_operation':
@@ -207,27 +226,21 @@ class Blocks:
             custom_ops_stats = CustomOp.process_ops(json_ops, num, cls._head_block_date)
             cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, custom_ops_stats)
 
-        if update_comment_pending_payouts:
-            payout_ops_stat = Posts.update_comment_pending_payouts(hived, update_comment_pending_payouts)
-            cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, payout_ops_stat)
-
-        # virtual ops
-        comment_payout_ops = {}
-        vote_ops = {}
-
-        empty_vops = (vote_ops, comment_payout_ops)
+        vote_ops = None
+        comment_payout_stats = None
 
         if is_initial_sync:
-            (vote_ops, comment_payout_ops) = virtual_operations[num] if num in virtual_operations else empty_vops
+            if num in virtual_operations:
+              (vote_ops, comment_payout_stats) = Blocks.prepare_vops(Posts.comment_payout_ops, virtual_operations[num], cls._head_block_date)
         else:
             vops = hived.get_virtual_operations(num)
-            (vote_ops, comment_payout_ops) = Blocks.prepare_vops(vops, cls._head_block_date)
+            (vote_ops, comment_payout_stats) = Blocks.prepare_vops(Posts.comment_payout_ops, vops, cls._head_block_date)
 
-        for k, v in vote_ops.items():
-            Votes.effective_comment_vote_op(k, v, cls._head_block_date)
+        if vote_ops is not None:
+          for k, v in vote_ops.items():
+              Votes.effective_comment_vote_op(k, v, cls._head_block_date)
 
-        if comment_payout_ops:
-            comment_payout_stats = Posts.comment_payout_op(comment_payout_ops, cls._head_block_date)
+        if Posts.comment_payout_ops:
             cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, comment_payout_stats)
 
         cls._head_block_date = block_date
diff --git a/hive/indexer/posts.py b/hive/indexer/posts.py
index b6820f0ec3375e9a27631ffa541e8d56e45f6010..10b1da8dde28153b14fd6d7fb541a2aeaafdcbb9 100644
--- a/hive/indexer/posts.py
+++ b/hive/indexer/posts.py
@@ -16,7 +16,7 @@ from hive.indexer.community import Community, START_DATE
 from hive.indexer.notify import Notify
 from hive.indexer.post_data_cache import PostDataCache
 from hive.indexer.tags import Tags
-from hive.utils.normalize import legacy_amount, asset_to_hbd_hive
+from hive.utils.normalize import sbd_amount, legacy_amount, asset_to_hbd_hive
 
 log = logging.getLogger(__name__)
 DB = Db.instance()
@@ -30,6 +30,9 @@ class Posts:
     _hits = 0
     _miss = 0
 
+    comment_payout_ops = {}
+    _comment_payout_ops = []
+
     @classmethod
     def last_id(cls):
         """Get the last indexed post id."""
@@ -146,21 +149,23 @@ class Posts:
             cls._insert_feed_cache(result, block_date)
 
     @classmethod
-    def comment_payout_op(cls, ops, date):
-        ops_stats = {}
+    def flush_into_db(cls):
         sql = """
               UPDATE hive_posts AS ihp SET
-                  total_payout_value = data_source.total_payout_value,
-                  curator_payout_value = data_source.curator_payout_value,
-                  author_rewards = data_source.author_rewards,
-                  author_rewards_hive = data_source.author_rewards_hive,
-                  author_rewards_hbd = data_source.author_rewards_hbd,
-                  author_rewards_vests = data_source.author_rewards_vests,
-                  last_payout = data_source.last_payout,
-                  cashout_time = data_source.cashout_time,
-                  is_paidout = true
-
-              FROM 
+                  total_payout_value    = COALESCE( data_source.total_payout_value,                     ihp.total_payout_value ),
+                  curator_payout_value  = COALESCE( data_source.curator_payout_value,                   ihp.curator_payout_value ),
+                  author_rewards        = COALESCE( CAST( data_source.author_rewards as INT8 ),         ihp.author_rewards ),
+                  author_rewards_hive   = COALESCE( CAST( data_source.author_rewards_hive as INT8 ),    ihp.author_rewards_hive ),
+                  author_rewards_hbd    = COALESCE( CAST( data_source.author_rewards_hbd as INT8 ),     ihp.author_rewards_hbd ),
+                  author_rewards_vests  = COALESCE( CAST( data_source.author_rewards_vests as INT8 ),   ihp.author_rewards_vests ),
+                  payout                = COALESCE( CAST( data_source.payout as DECIMAL ),              ihp.payout ),
+                  pending_payout        = COALESCE( CAST( data_source.pending_payout as DECIMAL ),      ihp.pending_payout ),
+                  payout_at             = COALESCE( CAST( data_source.payout_at as TIMESTAMP ),         ihp.payout_at ),
+                  updated_at            = data_source.updated_at,
+                  last_payout           = COALESCE( CAST( data_source.last_payout as TIMESTAMP ),       ihp.last_payout ),
+                  cashout_time          = COALESCE( CAST( data_source.cashout_time as TIMESTAMP ),      ihp.cashout_time ),
+                  is_paidout            = COALESCE( CAST( data_source.is_paidout as BOOLEAN ),          ihp.is_paidout )
+              FROM
               (
               SELECT  ha_a.id as author_id, hpd_p.id as permlink_id, 
                       t.total_payout_value,
@@ -169,8 +174,13 @@ class Posts:
                       t.author_rewards_hive,
                       t.author_rewards_hbd,
                       t.author_rewards_vests,
+                      t.payout,
+                      t.pending_payout,
+                      t.payout_at,
+                      t.updated_at,
                       t.last_payout,
-                      t.cashout_time
+                      t.cashout_time,
+                      t.is_paidout
               from
               (
               VALUES
@@ -183,70 +193,142 @@ class Posts:
                       author_rewards_hive,
                       author_rewards_hbd,
                       author_rewards_vests,
+                      payout,
+                      pending_payout,
+                      payout_at,
+                      updated_at,
                       last_payout,
-                      cashout_time)
+                      cashout_time,
+                      is_paidout)
               INNER JOIN hive_accounts ha_a ON ha_a.name = t.author
               INNER JOIN hive_permlink_data hpd_p ON hpd_p.permlink = t.permlink
               ) as data_source(author_id, permlink_id, total_payout_value)
               WHERE ihp.permlink_id = data_source.permlink_id and ihp.author_id = data_source.author_id
-              """
+        """
+
+        def chunks(lst, n):
+            """Yield successive n-sized chunks from lst."""
+            for i in range(0, len(lst), n):
+                yield lst[i:i + n]
+
+        for chunk in chunks(cls._comment_payout_ops, 1000):
+            values_str = ','.join(chunk)
+            actual_query = sql.format(values_str)
+            DB.query(actual_query)
+
+        cls._comment_payout_ops.clear()
 
-        values = []
+    @classmethod
+    def comment_payout_op(cls):
         values_limit = 1000
 
         """ Process comment payment operations """
-        for k, v in ops.items():
-            author, permlink = k.split("/")
-            # total payout to curators
-            curator_rewards_sum = 0
+        for k, v in cls.comment_payout_ops.items():
+            author                    = None
+            permlink                  = None
+
             # author payouts
-            author_rewards = 0
-            author_rewards_hive = 0
-            author_rewards_hbd = 0
-            author_rewards_vests = 0
+            author_rewards            = None
+            author_rewards_hive       = None
+            author_rewards_hbd        = None
+            author_rewards_vests      = None
+
             # total payout for comment
-            comment_author_reward = None
-            for operation in v:
-                for op, value in operation.items():
-                    if op in ops_stats:
-                        ops_stats[op] += 1
-                    else:
-                        ops_stats[op] = 1
-
-                    if op == 'curation_reward_operation':
-                        curator_rewards_sum = curator_rewards_sum + int(value['reward']['amount'])
-                    elif op == 'author_reward_operation':
-                        author_rewards_hive = value['hive_payout']['amount']
-                        author_rewards_hbd = value['hbd_payout']['amount']
-                        author_rewards_vests = value['vesting_payout']['amount']
-                    elif op == 'comment_reward_operation':
-                        comment_author_reward = value['payout']
-                        author_rewards = value['author_rewards']
-            curator_rewards = {'amount' : str(curator_rewards_sum), 'precision': 6, 'nai': '@@000000037'}
-
-            values.append("('{}', '{}', '{}', '{}', {}, {}, {}, {}, '{}'::timestamp, '{}'::timestamp)".format(author, permlink,
-               legacy_amount(comment_author_reward), # total_payout_value
-               legacy_amount(curator_rewards), #curator_payout_value
-               author_rewards,
-               author_rewards_hive,
-               author_rewards_hbd,
-               author_rewards_vests,
-               date, #last_payout
-               date #cashout_time
-               ))
-
-            if len(values) >= values_limit:
-                values_str = ','.join(values)
-                actual_query = sql.format(values_str)
-                DB.query(actual_query)
-                values.clear()
-
-        if len(values) > 0:
-            values_str = ','.join(values)
-            actual_query = sql.format(values_str)
-            DB.query(actual_query)
-            values.clear()
-        return ops_stats
+            #comment_author_reward     = None
+            curators_vesting_payout   = None
+            total_payout_value        = None;
+            curator_payout_value      = None;
+            #beneficiary_payout_value  = None;
+
+            payout                    = None
+            pending_payout            = None
+
+            payout_at                 = None
+            last_payout               = None
+            cashout_time              = None
+
+            is_paidout                = None
+
+            date =  v[ 'date' ]
+
+            if v[ 'author_reward_operation' ] is not None:
+              value = v[ 'author_reward_operation' ]
+              author_rewards_hive       = value['hive_payout']['amount']
+              author_rewards_hbd        = value['hbd_payout']['amount']
+              author_rewards_vests      = value['vesting_payout']['amount']
+              curators_vesting_payout   = value['curators_vesting_payout']['amount']
+              if author is None:
+                author                    = value['author']
+                permlink                  = value['permlink']
+
+            if v[ 'comment_reward_operation' ] is not None:
+              value = v[ 'comment_reward_operation' ]
+              #comment_author_reward     = value['payout']
+              author_rewards            = value['author_rewards']
+              total_payout_value        = value['total_payout_value']
+              curator_payout_value      = value['curator_payout_value']
+              #beneficiary_payout_value  = value['beneficiary_payout_value']
+
+              payout = sum([ sbd_amount(total_payout_value), sbd_amount(curator_payout_value) ])
+              pending_payout = 0
+
+              if author is None:
+                author                    = value['author']
+                permlink                  = value['permlink']
+
+            if v[ 'effective_comment_vote_operation' ] is not None:
+              value = v[ 'effective_comment_vote_operation' ]
+              pending_payout            = sbd_amount( value['pending_payout'] )
+              if author is None:
+                author                    = value['author']
+                permlink                  = value['permlink']
+
+            if v[ 'comment_payout_update_operation' ] is not None:
+              value = v[ 'comment_payout_update_operation' ]
+              is_paidout                = True
+
+              #Payout didn't generate any payments
+              if v[ 'comment_reward_operation' ] is None:
+                author_rewards            = 0
+                total_payout_value        = "0.000 HBD"
+                curator_payout_value      = "0.000 HBD"
+
+                payout = 0
+                pending_payout = 0
+
+              if author is None:
+                author                    = value['author']
+                permlink                  = value['permlink']
+
+            #Calculations of all dates
+            if ( is_paidout is not None ):
+              payout_at = date
+              last_payout = date
+              cashout_time = "1969-12-31T23:59:59"
+            else:
+              if ( total_payout_value is not None ):
+                payout_at = date  #Here should be `cashout_time`
+                last_payout = date
+
+            cls._comment_payout_ops.append("('{}', '{}', {}, {}, {}, {}, {}, {}, {}, {}, {}, '{}'::timestamp, {}, {}, {})".format(
+              author,
+              permlink,
+              "NULL" if ( total_payout_value is None ) else ( "'{}'".format( legacy_amount(total_payout_value) ) ),
+              "NULL" if ( curator_payout_value is None ) else ( "'{}'".format( legacy_amount(curator_payout_value) ) ),
+              "NULL" if ( author_rewards is None ) else author_rewards,
+              "NULL" if ( author_rewards_hive is None ) else author_rewards_hive,
+              "NULL" if ( author_rewards_hbd is None ) else author_rewards_hbd,
+              "NULL" if ( author_rewards_vests is None ) else author_rewards_vests,
+              "NULL" if ( payout is None ) else payout,
+              "NULL" if ( pending_payout is None ) else pending_payout,
+
+              "NULL" if ( payout_at is None ) else ( "'{}'::timestamp".format( payout_at ) ),
+              date,#updated_at
+              "NULL" if ( last_payout is None ) else ( "'{}'::timestamp".format( last_payout ) ),
+              "NULL" if ( cashout_time is None ) else ( "'{}'::timestamp".format( cashout_time ) ),
+
+              "NULL" if ( is_paidout is None ) else is_paidout ))
+        cls.comment_payout_ops.clear()
 
     @classmethod
     def update_child_count(cls, child_id, op='+'):
@@ -328,60 +410,6 @@ class Posts:
         # force parent child recount when child is deleted
         cls.update_child_count(pid, '-')
 
-    @classmethod
-    def update_comment_pending_payouts(cls, hived, posts):
-        comment_pending_payouts = hived.get_comment_pending_payouts(posts)
-        for comment_pending_payout in comment_pending_payouts:
-            if 'cashout_info' in comment_pending_payout:
-                cpp = comment_pending_payout['cashout_info']
-                sql = """UPDATE
-                            hive_posts
-                        SET
-                            total_payout_value = :total_payout_value,
-                            curator_payout_value = :curator_payout_value,
-                            max_accepted_payout = :max_accepted_payout,
-                            author_rewards = :author_rewards,
-                            children_abs_rshares = :children_abs_rshares,
-                            abs_rshares = :abs_rshares,
-                            vote_rshares = :vote_rshares,
-                            net_votes = :net_votes,
-                            active = :active,
-                            last_payout = :last_payout,
-                            cashout_time = :cashout_time,
-                            max_cashout_time = :max_cashout_time,
-                            percent_hbd = :percent_hbd,
-                            reward_weight = :reward_weight,
-                            allow_replies = :allow_replies,
-                            allow_votes = :allow_votes,
-                            allow_curation_rewards = :allow_curation_rewards
-                        WHERE id = (
-                            SELECT hp.id 
-                            FROM hive_posts hp 
-                            INNER JOIN hive_accounts ha_a ON ha_a.id = hp.author_id 
-                            INNER JOIN hive_permlink_data hpd_p ON hpd_p.id = hp.permlink_id 
-                            WHERE ha_a.name = :author AND hpd_p.permlink = :permlink
-                        )
-                """
-
-                DB.query(sql, total_payout_value=legacy_amount(cpp['total_payout_value']),
-                         curator_payout_value=legacy_amount(cpp['curator_payout_value']),
-                         max_accepted_payout=legacy_amount(cpp['max_accepted_payout']),
-                         author_rewards=cpp['author_rewards'],
-                         children_abs_rshares=cpp['children_abs_rshares'],
-                         abs_rshares=cpp['abs_rshares'],
-                         vote_rshares=cpp['vote_rshares'],
-                         net_votes=cpp['net_votes'],
-                         active=cpp['active'],
-                         last_payout=cpp['last_payout'],
-                         cashout_time=cpp['cashout_time'],
-                         max_cashout_time=cpp['max_cashout_time'],
-                         percent_hbd=cpp['percent_hbd'],
-                         reward_weight=cpp['reward_weight'],
-                         allow_replies=cpp['allow_replies'],
-                         allow_votes=cpp['allow_votes'],
-                         allow_curation_rewards=cpp['allow_curation_rewards'],
-                         author=comment_pending_payout['author'], permlink=comment_pending_payout['permlink'])
-
     @classmethod
     def _insert_feed_cache(cls, result, date):
         """Insert the new post into feed cache if it's not a comment."""
@@ -430,3 +458,9 @@ class Posts:
             new_body = new_body_def
         
         return new_body
+
+
+    @classmethod
+    def flush(cls):
+      cls.comment_payout_op()
+      cls.flush_into_db()
diff --git a/hive/indexer/sync.py b/hive/indexer/sync.py
index 806f71844592aab7f55497cd0978e34431610776..add0499d053c4d54823a95249d4cfd2e6e60bf98 100644
--- a/hive/indexer/sync.py
+++ b/hive/indexer/sync.py
@@ -45,7 +45,7 @@ def prepare_vops(vops_by_block):
     for blockNum, blockDict in vops_by_block.items():
         vopsList = blockDict['ops']
         date = blockDict['timestamp']
-        preparedVops[blockNum] = Blocks.prepare_vops(vopsList, date)
+        preparedVops[blockNum] = vopsList
   
     return preparedVops
 
diff --git a/hive/indexer/votes.py b/hive/indexer/votes.py
index 5d74255338bb63d4330d96adb3cfdcd97498afd9..63b7d019f0c8c14b554534f4004844d5eccfa35a 100644
--- a/hive/indexer/votes.py
+++ b/hive/indexer/votes.py
@@ -77,11 +77,12 @@ class Votes:
             log.info("Updating data in '_votes_data' using effective comment")
             raise "Fatal error"
 
-        if key in cls._votes_data:
-            cls._votes_data[key]["vote_percent"]  = vop["vote_percent"]
-            cls._votes_data[key]["weight"]        = vop["weight"]
-            cls._votes_data[key]["rshares"]       = vop["rshares"]
-            cls._votes_data[key]["last_update"]   = date
+        assert key in cls._votes_data
+
+        cls._votes_data[key]["vote_percent"]  = vop["vote_percent"]
+        cls._votes_data[key]["weight"]        = vop["weight"]
+        cls._votes_data[key]["rshares"]       = vop["rshares"]
+        cls._votes_data[key]["last_update"]   = date
 
     @classmethod
     def flush(cls):
diff --git a/hive/server/common/payout_stats.py b/hive/server/common/payout_stats.py
index fb737827c42e05c68018c2b8b6ced5df01032081..8a6ac4a756b8eedddce17c701bf2e3785e9d2f52 100644
--- a/hive/server/common/payout_stats.py
+++ b/hive/server/common/payout_stats.py
@@ -39,23 +39,23 @@ class PayoutStats:
         sql = """
             SELECT community_id,
                    ha.name as author,
-                   SUM(payout) payout,
+                   SUM( payout + pending_payout ) payout,
                    COUNT(*) posts,
                    NULL authors
               FROM hive_posts
               INNER JOIN hive_accounts ha ON ha.id = hive_posts.author_id
-             WHERE is_paidout = '0'
+             WHERE is_paidout = '0' and is_deleted = false
           GROUP BY community_id, author
 
              UNION ALL
 
             SELECT community_id,
                    NULL author,
-                   SUM(payout) payout,
+                   SUM( payout + pending_payout ) payout,
                    COUNT(*) posts,
                    COUNT(DISTINCT(author_id)) authors
               FROM hive_posts
-             WHERE is_paidout = '0'
+             WHERE is_paidout = '0' and is_deleted = false
           GROUP BY community_id
         """
 
diff --git a/hive/server/condenser_api/tags.py b/hive/server/condenser_api/tags.py
index 7c687cfdde938238c23ada35668643c7cd65bcc6..cdf541ec14a9e21893404c11365a7f00f2e3a3e6 100644
--- a/hive/server/condenser_api/tags.py
+++ b/hive/server/condenser_api/tags.py
@@ -29,10 +29,10 @@ async def get_trending_tags(context, start_tag: str = '', limit: int = 250):
 
     if start_tag:
         seek = """
-          HAVING SUM(payout) <= (
-            SELECT SUM(payout)
+          HAVING SUM(payout + pending_payout) <= (
+            SELECT SUM(payout + pending_payout)
               FROM hive_posts
-             WHERE is_paidout = '0'
+             WHERE is_paidout = '0' and is_deleted = false
                AND category_id = (SELECT id FROM hive_category_data WHERE category = :start_tag))
         """
     else:
@@ -42,11 +42,11 @@ async def get_trending_tags(context, start_tag: str = '', limit: int = 250):
       SELECT (SELECT category FROM hive_category_data WHERE id = category_id) as category,
              COUNT(*) AS total_posts,
              SUM(CASE WHEN depth = 0 THEN 1 ELSE 0 END) AS top_posts,
-             SUM(payout) AS total_payouts
+             SUM(payout + pending_payout) AS total_payouts
         FROM hive_posts
-       WHERE is_paidout = '0'
+       WHERE is_paidout = '0' and is_deleted = false
     GROUP BY category %s
-    ORDER BY SUM(payout) DESC
+    ORDER BY SUM(payout + pending_payout) DESC
        LIMIT :limit
     """ % seek
 
diff --git a/hive/server/hive_api/stats.py b/hive/server/hive_api/stats.py
index 54d1815e05abb9b8c621cd60c6e1dbbc1b5d52a9..92977a68ec02e4984d5df9bc73a3ae5ecb7ccf93 100644
--- a/hive/server/hive_api/stats.py
+++ b/hive/server/hive_api/stats.py
@@ -46,4 +46,4 @@ async def get_payout_stats(context, limit=250):
               WHERE community_id IS NULL AND author IS NULL"""
     blog_ttl = await db.query_one(sql)
 
-    return dict(items=items, total=float(total), blogs=float(blog_ttl))
+    return dict(items=items, total=float(total if total is not None else 0.), blogs=float(blog_ttl if blog_ttl is not None else 0.))
diff --git a/hive/steem/client.py b/hive/steem/client.py
index 06883a7506fd644ae247dc93833961dcf09e9d0b..4bf58c77109f21df0e93f6bb5b87491d119ff533 100644
--- a/hive/steem/client.py
+++ b/hive/steem/client.py
@@ -145,7 +145,7 @@ class SteemClient:
     def get_virtual_operations(self, block):
         """ Get virtual ops from block """
         result = self.__exec('get_ops_in_block', {"block_num":block, "only_virtual":True})
-        tracked_ops = ['curation_reward_operation', 'author_reward_operation', 'comment_reward_operation', 'effective_comment_vote_operation']
+        tracked_ops = ['author_reward_operation', 'comment_reward_operation', 'effective_comment_vote_operation', 'comment_payout_update_operation']
         ret = []
         result = result['ops'] if 'ops' in result else []
         for vop in result:
@@ -162,12 +162,12 @@ class SteemClient:
         #According to definition of hive::plugins::acount_history::enum_vops_filter:
 
         author_reward_operation                 = 0x000002
-        curation_reward_operation               = 0x000004
         comment_reward_operation                = 0x000008
         effective_comment_vote_operation        = 0x400000
+        comment_payout_update_operation         = 0x000800
 
-        tracked_ops_filter = curation_reward_operation | author_reward_operation | comment_reward_operation | effective_comment_vote_operation
-        tracked_ops = ['curation_reward_operation', 'author_reward_operation', 'comment_reward_operation', 'effective_comment_vote_operation']
+        tracked_ops_filter = author_reward_operation | comment_reward_operation | effective_comment_vote_operation | comment_payout_update_operation
+        tracked_ops = ['author_reward_operation', 'comment_reward_operation', 'effective_comment_vote_operation', 'comment_payout_update_operation']
 
         resume_on_operation = 0
 
diff --git a/tests/tests_api b/tests/tests_api
index ef779872ccc5f48fbc9dabe012644210626cada8..e61ab28740266c565b2bce724e74b1d36035fbec 160000
--- a/tests/tests_api
+++ b/tests/tests_api
@@ -1 +1 @@
-Subproject commit ef779872ccc5f48fbc9dabe012644210626cada8
+Subproject commit e61ab28740266c565b2bce724e74b1d36035fbec