Rewards Tracker
Horizon provides tools to track and estimate Polymarket liquidity rewards. Market makers earn USDC rebates on qualifying orders. The rewards module fetches eligible markets, checks order scoring status, and estimates earnings from fill data.Polymarket pays liquidity rewards daily as USDC. There is no historical rewards API, so Horizon estimates earnings locally from fill data at a configurable rebate rate.
Overview
Reward Markets
hz.fetch_reward_markets() - fetch all reward-eligible markets from Polymarket.Order Scoring
engine.check_order_scoring() - check if a specific order qualifies for rewards.Rewards Tracker
hz.RewardsTracker - track maker fills and estimate rebates with deduplication.Pipeline
hz.rewards_tracker() - pipeline function for automatic reward tracking in hz.run().Fetching Reward Markets
Fetch all markets currently eligible for liquidity rewards (unauthenticated).RewardMarket Fields
RewardConfig Fields
Checking Order Scoring
Check if a live order qualifies for rewards (authenticated, Polymarket only).False for non-Polymarket exchanges.
RewardsTracker Class
Track maker fills and estimate rebates locally.Features
- Deduplication: duplicate fill IDs are automatically rejected
- Per-market tracking: separate
EpochRewardsper market - Epoch reset: clear per-market accumulators while preserving lifetime totals
- Configurable rate: default 2bps, adjustable via
rebate_rate
EpochRewards Fields
Pipeline Function
Thehz.rewards_tracker() pipeline function automatically tracks fills from the engine during hz.run().