Skip to content

Challenges

Challenges are the demand side of Midgard.

They let any player pay for a run against a factory’s score.

To create a challenge:

  1. Pick an active factory.
  2. Use the same game contract as that factory.
  3. Midgard mints a new game session for the challenger.
  4. The challenger pays the ticket cost.

The contract blocks:

  • self-challenges from the factory owner
  • mismatched game contracts
  • disabled or unsupported games
  • challenges on factories that should already close
  • challenges that would leave an actively leveraged factory without liquidation coverage

Challenge ticket cost is:

10% of the factory daily burn

That makes challenge cost scale with how aggressive the factory is.

When a challenge is created, the ticket is split immediately:

  • 95% is burned
  • 5% goes to fees

Of the fee slice:

  • 70% goes to the game fee wallet
  • 30% goes to the protocol fee wallet

If the challenger fails to beat the factory score:

  • the challenger gets no payout
  • the factory keeps the score defense
  • the factory gets a burn reduction equal to 85% of the ticket

That burn reduction is applied at creation time, not after settlement. In practice, losing challenges make the factory easier to sustain.

If the challenger beats the factory score:

  • the challenger receives 190% of ticket cost
  • the payout is minted at settlement time
  • the factory records the payout against its inflation

The protocol reserves this payout up front when the challenge is created, so the liability is already accounted for while the challenge is pending.

Challenges are permissionless to settle once they are finished or expired.

Settlement rules:

  • if the game is finished, anyone can complete the challenge
  • if the 2-hour challenge expiry passes, anyone can complete it
  • before that, the challenger can still lock their current score early

This lets Midgard support zero-score surrender or unfinished runs without treating them as missing data.

The current challenge expiry is:

  • 2 hours

That keeps the challenge loop fast and limits how long pending states can sit on the board.

The challenger only wins if:

player_score > factory_score

If the scores are equal, the factory successfully defends.

When a factory has an active leverage loan, Midgard simulates the post-create factory state before accepting a new challenge.

If the new pending challenge would push the factory below liquidation coverage, challenge creation is rejected.

That keeps the vault protected without forcing liquidation at challenge creation time. Liquidation remains tied to actual settlement outcomes and health checks afterward.

Challenges are not just gameplay.

They directly shape factory economics:

  • losing challenges burn GARD and lighten future factory burn
  • winning challenges pull value out of the factory
  • a stream of challenges is what turns a score into a living market