Outcome Rewards API Schema
Conventions
| Item | Value |
|---|---|
| Campaign | world-cup-2026 |
| Times | ISO 8601 UTC |
| Amounts | Decimal USDC strings |
| Wallets | Hypercore addresses |
| Base URL | https://api.monarch.fast |
| Current epoch | Omit epoch_date |
| Explicit epoch | Pass epoch_date=YYYY-MM-DD for historical or future epochs |
epoch_status | upcoming, provisional, or final |
snapshot.status | preview, live, or final |
Get Eligible Teams
Eligible teams for the World Cup winner rewards.
http
GET /marina/campaigns/world-cup-2026/eligible-teams
GET /marina/campaigns/world-cup-2026/eligible-teams?epoch_date=2026-06-08Response
json
{
"campaign_id": "world-cup-2026",
"epoch_date": "2026-06-08",
"epoch_status": "provisional",
"epoch_start_time": "2026-06-08T09:00:00Z",
"epoch_end_time": "2026-06-09T09:00:00Z",
"snapshot": {
"status": "live",
"as_of": "2026-06-08T13:50:00Z",
"finalized_at": null
},
"builder_code": "0xab5dbc057628bc18523c4cdfc0e1e2ebdbecb704",
"eligible_teams": [
{
"team_name": "France",
"hyperliquid_outcome_id": 189
}
],
"ineligible_teams": [
{
"team_name": "New Zealand",
"hyperliquid_outcome_id": 190
}
]
}Field Notes
| Field | Description |
|---|---|
epoch_date | Current scoring epoch, or requested historical or future epoch |
epoch_status | upcoming, provisional, or final |
epoch_start_time | Start time for the winner market scoring epoch |
epoch_end_time | End time for the winner market scoring epoch |
snapshot.status | preview, live, or final |
snapshot.as_of | Timestamp of the data returned |
snapshot.finalized_at | Timestamp when the epoch was locked, or null while live |
builder_code | Orders and trades only count when they use this builder code |
eligible_teams | Displayed Champion teams whose eligibility mid is inside the 1% to 99% band |
ineligible_teams | Displayed Champion teams whose eligibility mid is outside the 1% to 99% band |
hyperliquid_outcome_id | Outcome id from Hyperliquid outcomeMeta |
Get Daily Matches
Match markets eligible for daily match rewards.
http
GET /marina/campaigns/world-cup-2026/daily-matches
GET /marina/campaigns/world-cup-2026/daily-matches?epoch_date=2026-06-10Response
json
{
"campaign_id": "world-cup-2026",
"epoch_date": "2026-06-10",
"epoch_status": "provisional",
"snapshot": {
"status": "live",
"as_of": "2026-06-10T13:55:00Z",
"finalized_at": null
},
"builder_code": "0xab5dbc057628bc18523c4cdfc0e1e2ebdbecb704",
"matches": [
{
"match_id": "mexico-vs-south-africa-2026-06-11",
"hyperliquid_question_id": 837,
"match_name": "Mexico vs South Africa",
"scheduled_kickoff_time": "2026-06-11T19:00:00Z",
"incentive_start_time": "2026-06-10T19:00:00Z",
"incentive_end_rule": "final_whistle_or_penalties_resolved",
"match_reward_amount_usdc": "100.00",
"live_multiplier": "3",
"publication_status": "unpublished",
"scored_outcomes": [
{
"outcome_name": "Mexico",
"hyperliquid_outcome_id": 10351
},
{
"outcome_name": "Draw",
"hyperliquid_outcome_id": 10352
},
{
"outcome_name": "South Africa",
"hyperliquid_outcome_id": 10353
}
]
}
]
}Field Notes
This endpoint returns matches inside the epoch's incentive window. Group-stage markets return three scored YES books. Knockout markets return one scored book.
| Field | Description |
|---|---|
matches | Match markets eligible for daily match rewards in the epoch |
match_id | Stable match id for this API |
hyperliquid_question_id | Question id from Hyperliquid outcomeMeta |
match_name | Human-readable match label |
scheduled_kickoff_time | Scheduled match kickoff time |
incentive_start_time | Time when orders and trades can start scoring for the match |
incentive_end_rule | Rule for ending the match incentive window |
match_reward_amount_usdc | Total reward amount assigned to the match |
live_multiplier | Score multiplier applied during the live match window, which starts at kickoff whistle |
publication_status | unpublished when HL has the match but no uploaded schedule; published when an uploaded schedule is stored |
scored_outcomes | Scored books that can score for this match. Group-stage markets include Team 1, Draw, and Team 2 YES books. Knockout markets include one book |
Get Scores
Live or finalized scores by wallet and Hyperliquid outcome.
http
GET /marina/campaigns/world-cup-2026/scores
GET /marina/campaigns/world-cup-2026/scores?epoch_date=2026-06-08Response
json
{
"campaign_id": "world-cup-2026",
"epoch_date": "2026-06-08",
"epoch_status": "provisional",
"epoch_start_time": "2026-06-08T09:00:00Z",
"epoch_end_time": "2026-06-09T09:00:00Z",
"snapshot": {
"status": "live",
"as_of": "2026-06-08T13:55:00Z",
"finalized_at": null
},
"scores": [
{
"score_scope": "champion",
"wallet": "0xabc...",
"team_name": "France",
"hyperliquid_outcome_id": 189,
"team_scoring_weight": "0.16010",
"quote_depth_score": "20081.38",
"maker_fill_volume_usdc": "4800.50",
"taker_fill_volume_usdc": "1220.00",
"total_score": "21045.26",
"daily_reward_usdc": null,
"cumulative_reward_usdc": null
},
{
"score_scope": "match",
"wallet": "0xabc...",
"match_id": "mexico-vs-south-africa-2026-06-11",
"hyperliquid_question_id": 837,
"match_name": "Mexico vs South Africa",
"outcome_name": "Mexico",
"hyperliquid_outcome_id": 10351,
"quote_depth_score": "1200.00",
"maker_fill_volume_usdc": "500.00",
"taker_fill_volume_usdc": "80.00",
"total_score": "1780.00",
"daily_reward_usdc": null,
"cumulative_reward_usdc": null
}
]
}Future / No-Run Response
json
{
"campaign_id": "world-cup-2026",
"epoch_date": "2026-06-20",
"epoch_status": "upcoming",
"epoch_start_time": "2026-06-20T09:00:00Z",
"epoch_end_time": "2026-06-21T09:00:00Z",
"snapshot": {
"status": "preview",
"as_of": null,
"finalized_at": null
},
"scores": []
}Field Notes
| Field | Description |
|---|---|
epoch_status | upcoming, provisional, or final |
snapshot.status | preview, live, or final |
scores | Empty future scores are normal and mean the UI should show upcoming/no scores yet, not an error |
epoch_start_time | Start time for the winner market scoring epoch |
epoch_end_time | End time for the winner market scoring epoch |
score_scope | champion for World Cup winner books, or match for daily match books |
wallet | Hypercore address being scored |
team_name | Team for this World Cup winner book; only present for champion scores |
match_id | Stable match id; only present for match scores |
hyperliquid_question_id | Question id from Hyperliquid outcomeMeta; only present for match scores |
match_name | Human-readable match label; only present for match scores |
outcome_name | Scored YES outcome label; only present for match scores |
hyperliquid_outcome_id | Outcome id from Hyperliquid outcomeMeta |
team_scoring_weight | Normalized team scoring weight; only present for champion scores |
quote_depth_score | Quote depth score for the wallet and book |
maker_fill_volume_usdc | Maker fill volume observed for the wallet |
taker_fill_volume_usdc | Taker fill volume observed for the wallet |
total_score | Total score for the wallet and asset |
daily_reward_usdc | Final reward for the epoch, or null until finalized |
cumulative_reward_usdc | Total earned through the epoch, or null until finalized |
Aggregation Notes
For finalized epochs, daily_reward_usdc and cumulative_reward_usdc are row-level reward amounts and may be summed by wallet.
