Overview
The Bet Model defines data structures for tracked bets and arbitrage opportunities in the PROPPR platform.Tracked Bet Document
Schema
Unique bet tracking ID (ObjectId string)
Reference to original alert
Timestamp when bet was tracked
Player name (Player Bot only)
Player ID (Player Bot only)
Team name
Team ID
Betting market (e.g., “Player Shots On Target”)
Match name (e.g., “Liverpool vs Man City”)
Match date (YYYY-MM-DD)
Match time (HH:MM)
Market threshold (e.g., 1.5)
“over” or “under”
Bookmaker name
Decimal odds
Actual stake in currency
User’s unit size
Stake in units
“pending”, “won”, “lost”, “refund”, “half_win”, “half_loss”
If true, bet was manually graded (protected from auto-grading)
Total return amount
Profit or loss amount
Fixture/match ID
Timestamp when bet was settled
Actual statistic value from match
Result tracking metadata for auto-grading
Result Tracking Object
API type ID for statistic
“home”, “away”, “total”, or “player”
Stat type (e.g., “shots_on_target”, “goals”)
Expected threshold value
“over” or “under”
“pending”, “won”, “lost”, “refund”, “half_win”, “half_loss”
Actual value from grading
Grading timestamp
Example Document
Arbitrage Bet Document
Schema
Unique arbitrage ID
Event/fixture ID
Profit margin percentage
Total stake amount
Market details
Array of bet legs (minimum 2)
Event/fixture details
Creation timestamp
Expiration timestamp
Sport name
League name
Market Object
Market name (e.g., “Totals”, “Moneyline”)
Handicap value (e.g., 2.5)
Stat type for totals (e.g., “goals”, “points”)
Leg Object
Bookmaker name
Bet side (“over”, “under”, “home”, “away”, “draw”)
Decimal odds as string
Whether this is a LAY bet (exchange)
Market name for this leg
Handicap for this leg
Last odds update timestamp
Event Object
Home team name
Away team name
Event date/time (ISO 8601)
Sport name
League name
Example: Standard Arbitrage
Example: LAY Arbitrage
User Bets Collection
Schema
Telegram user ID
Array of tracked bet documents
User document creation timestamp
Last update timestamp
User’s current unit size
Telegram username
Example Document
Status Enums
Bet Status
pending- Awaiting resultwon- Bet wonlost- Bet lostrefund- Bet refunded (push)half_win- Half stake won (Asian handicap)half_loss- Half stake lost (Asian handicap)
Market Direction
over- Over thresholdunder- Under threshold
Bet Sides
over- Over (totals)under- Under (totals)home- Home teamaway- Away teamdraw- Drawyes- Yesno- No
Indexes
Tracked Bets Collection
Arbitrage Bets Collection
References
- Related: Tracking API
- Related: Grading API
- Related: Calculator Interface