ADD: rewards caching logic