     "#{balance} :coffee:#{unless balance == 1 then 's' else ''}"
 
   accountDetailsFormatter: (account) ->
-    "_+#{account.totals.deposited}_ / _-#{account.totals.withdrawn}_, " +
+    if account.totals.rewards
+      rewardsSummary = "(_+#{account.totals.rewards.earned || 0}_ / " +
+        "_-#{account.totals.rewards.paid || 0}_ as/for rewards) "
+
+    "_+#{account.totals.deposited}_ / _-#{account.totals.withdrawn}_ " +
+      "#{rewardsSummary||''}" +
       "_Txs:_ #{account.transactions}, _Opened:_ #{@shortDateFormatter account.created}" +
       " #{if account.updated then ", _Updated:_ #{@longDateFormatter account.updated}" else ""}"
 
   topListEntryFormatter: (index, account) ->
     "_#{index}._ **#{@clientFormatter account.accountNumber}** #{@balanceFormatter account.balance}"
 
-  deposit: (client, amount) ->
-    @transaction client, amount
-
-  withdraw: (client, amount) ->
-    @transaction client, (-1 * amount)
-
-  transaction: (client, amount) ->
+  deposit: (client, amount, reward = false) ->
+    @transaction client, amount, reward
+
+  withdraw: (client, amount, reward=false) ->
+    @transaction client, (-1 * amount), reward
+
+  transaction: (client, amount, reward=false) ->
     account = @account client
     account.balance += amount
+
+    if reward and not account.totals.rewards
+      @initRewards account
+
     if amount > 0
       account.totals.deposited += amount
+      if reward
+        account.totals.rewards.earned += amount
     else
       account.totals.withdrawn -= amount
+      if reward
+        account.totals.rewards.paid -= amount
     account.transactions++
     @saveAccount account
 
     txType = if amount > 0 then 'deposited to' else 'withdrawn from'
 
-    @robot.logger.info "#{amount} :coffee:s #{txType} #{client.name} (#{client.id})"
+    @robot.logger.info "#{amount} :coffee:s #{txType} #{if reward then "reward " else ""}"+
+        "#{client.name} (#{client.id})"
 
   balance: (client) ->
     (@account client).balance

    bounty = {}

  createBounty = (issuer, reward) ->
    bounty = 
      issuer: issuer,
      reward: reward,


      withdrawn: 0
    created: new Date()

  initRewards: (account) ->
    account.totals.rewards =
      earned: 0
      paid: 0

  saveAccount: (account) ->
    account.updated = new Date()
    @storage[account.accountNumber] = account
