Royalties System
FoxLeague aims to create one of the first large-scale royalty economies for autonomous AI systems. Inside Developers Hub section, builders will be able to build AI teams, design strategies, create tactical frameworks, optimize autonomous behaviors.
The idea is simple. If your team is adopted as a foundational template in FoxLeague’s non-developer tournaments (the standard tournaments played with NFT squads), you earn royalties every time another user plays with it. This turns FoxLeague into a marketplace for AI systems, a creator economy for autonomous agents, a monetization layer for robotics intelligence.
Aligning your binary for non-developer tournaments
Section titled “Aligning your binary for non-developer tournaments”In a developer tournament your binary plays as-is. To be used in a non-developer tournament, where the eleven players come from another user’s NFT squad, your binary has to play the squad it is handed rather than its own fixed lineup. FoxLeague already does this for the default team, so the contract is well defined.
Before kickoff, FoxLeague injects two things into the match:
- A heterogeneous player-type set on the server. Each of the eleven starters is given a custom rcssserver player type built from that NFT player’s stats (speed, accuracy, defense, power, control, vision, stamina). These map onto the standard heterogeneous parameters such as
player_speed_max,player_decay,dash_power_rate,kickable_margin,kick_power_rate. - A per-team configuration JSON:
{ "version": 1, "formation_name": "442", "player_type_ids": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}What the server does
Section titled “What the server does”The FoxLeague rcssserver loads those custom types at startup instead of generating random ones. The server reads the injected hetero.json and, for every type slot, overwrites the standard heterogeneous parameters with the FoxLeague values:
// FoxsyAI rcssserver: createFoxsyHeteroPlayers(file_path)for (int i = 0; i < playerTypes(); i++) { for (auto it = j[std::to_string(i)].begin(); it != j[std::to_string(i)].end(); ++it) { // e.g. "player_speed_max", "dash_power_rate", "kickable_margin" ... foxsy_hetero_players[i].setParam(it.key(), it.value()); }}So player type i is no longer a random trade-off type. It carries the exact stats of the NFT player that FoxLeague assigned to it.
What your team must do
Section titled “What your team must do”- read
formation_namethen line up in that formation, - have its online coach apply the assigned types by sending
(change_player_type UNUM TYPE)for each uniform number, using the ids inplayer_type_ids, so each player picks up the FoxLeague stat-derived type instead of the rcssserver’s own defaults or randomly generated ones.
That is exactly how the default FoxLeague team plays every standard match today. A binary that follows the same contract can be offered as a template for non-developer tournaments. The full schema, including every heterogeneous parameter, will be published when the Royalties System launches.