Inside the Treasure Chest of Pirate Nation PVP: Onchain Glicko, Matchmaking, and Trophy Scoring

We recently launched real-time PVP in Pirate Nation, a milestone moment that’s now powering a PvP match starting every 2 seconds. Behind the scenes, this system is fueled by Proof of Play’s custom-built matchmaking tech, built for speed, fairness, and long-term competition. The purpose of all of this complexity is to create reliable matchmaking protocol that players can trust will give them the best matches.
In this post, we’ll break down how the system works, how Glicko2 comes into play, and what’s really happening during matchmaking — all the way down to the opponent selection and Trophy rewards calculations.
Onchain Glicko Matchmaking
At the heart of Pirate Nation’s competitive PVP lies the Glicko2 rating system, a modern evolution of Elo that adds much-needed nuance to 1v1 match-based games.
While Elo uses a single number to rate players, Glicko2 adds volatility and deviation, meaning it considers how consistent a player is and how confident the system is in their rating. Running these calculations promptly is computationally intensive and very challenging to process onchain in a smart contract. Fortunately, our Layer 3 rollup chains (Apex & Boss) are built to handle large amounts of data very quickly, enabling us to build the first ever onchain implementation of this matchmaking system.
Using Glicko2 makes it particularly useful for:
- Tracking performance over time
- Reacting to streaks or slumps
- Handling new or inactive players more gracefully
It’s the system used in Chess, CS:GO, Team Fortress 2, Splatoon 2, and now — thanks to our fully onchain implementation — Pirate Nation.
If you’re curious, we’ve open-sourced our Solidity implementation of Glicko2 here: Glicko2Library.sol.
How Our Matchmaking System Works
Our goal was to build a high-skill, competitive system that also gave casual players a sense of progression and reward. To achieve this, we created a hybrid approach:
- Glicko2 powers the core matchmaking logic, determining the skill level of each player based on previous battles
- Trophies provide a visible, player-facing reward system, allowing users to track their progress and earn rewards as they climb
This system allows us to support both casual and hardcore players, letting everyone engage in a fun, rewarding competitive loop.
What Happens During Matchmaking?
.png)
Here’s what’s actually going on when you queue up for a PVP battle:
- An oracle reads your onchain Glicko2 rating
- A matchmaking algorithm searches for an opponent with a similar rating (we’re constantly tuning the thresholds based on player population)
- The algorithm looks for a perfect match based on the matchmaking rating (MMR, or Plunder Rating in-game), then expands the MMR range for the matchup as time passes so players get matched quickly
- Once two players are matched, a coin flip then determines who gets to act first
- The battle begins
This all happens fast, and it’s entirely powered by Proof of Play’s engine — optimized for real-time responsiveness while remaining 100% verifiable onchain.
Trophy Scoring: Progression Through Play
While Glicko2 powers the matchmaking under the hood, Trophies make your progress feel real. Trophies are ERC1155 tokens that represent your rank progression. Every match you play adjusts your Trophy count, based on:
- The result of the match (win/loss)
- The Glicko2 rating change
- Your current league/tier
For the PvP event, all players start at a 1500 Plunder Rating and 0 trophies. Players start with this Plunder Rating because the system doesn’t know anyone’s skill level and this starting point leaves plenty of room to go up or down based on the player’s win performance.
When players match against each other, it's based on that Plunder Rating, not the Trophies. The matchmaking process starts with a narrow band of difference in Plunder Rating, but stretches wider as the queue time increases so players get into a match in a reasonable amount of time.
As players win or lose, that Plunder Rating will adjust up or down from the initial 1500. The difference between two opponents’ Plunder Ratings is what determines the gains or losses in Trophies. Under the current system, a roughly even match will net the winner around 10 to 20 Trophies. Conversely, an uneven match will see the player with the higher Plunder Rating lose much more Trophies if they lose and gain a small amount of Trophies if they win. Accordingly, losing to opponents with a higher Plunder Rating won’t cost that much in Trophies.
This is reflective generally of an Elo system. Our Glicko2 approach takes more variables into account, specifically "Rating Deviation" and "Rating Volatility." You’ll need to have a David-versus-Goliath upset multiple times to seriously affect the amount of Trophies you’re gaining. Even if you win against a substantially higher rated opponent, you won’t see a big change because your rating deviation is increasing and giving you a higher Plunder Rating, thus bringing you in line with the opponent.
We’ve made a few adjustments, including a “catchup” mechanic that empowers players to get more Trophies on the wins. If overall Trophies count is lower than expected for your Plunder Rating, then you’ll receive additional Trophies when you win. (Note: we did not build this for the other side, so losing won’t have similar yet negative effects.)
In the top ranks, Trophy adjustments mirror pure Glicko2 math. In the lower tiers, we’ve added calibration to make the experience feel smoother and more forgiving:
- Losing in the lowest tier only costs you 5 Trophies
- You can’t drop into negative Trophy count
This keeps early progression rewarding and encourages players to stick with the game mode — even if they’re still learning the ropes.
In addition, our system also has an inflation mechanic in which ratings will inflate over the course of the season. This disincentivizes camping and allows for a cutthroat final day, where the highest trophy count can be achieved near the end of season. This was highlighted in the Legend of Anubis event with the top 3 contenders all playing in the final seconds before the cutoff.
Why We Designed It This Way
Competitive systems often struggle to balance three core goals while still continuing to attract more players:
- Growth: attract more players to improve the overall quality of matches
- Precision: accurately match and rank skilled players
- Progression: enabling new or casual players to feel like they’re moving forward
Our hybrid system lets us do both. Glicko2 handles the rigor of matchmaking, while Trophies add an approachable layer of progression that creates a sense of accomplishment and stakes.
As you move up, we gradually transition you to pure Glicko2 calculations, making the top ranks a true skill test while keeping early ranks inclusive and fun.
Built Fast, Built to Scale
We built this entire system in under a month, thanks to the primitives in the Proof of Play engine. From day one, it’s:
- Multichain-compatible
- Already live across Apex and Boss
- Scalable enough to handle tens of thousands of matches per day
And we’re just getting started. We’re continuing to experiment with new rulesets, fine-tune matchmaking tolerances, and explore ways to make competitive PVP even better — all while staying true to the principles of onchain transparency and trustless gameplay.
Thanks for playing! And if you haven’t yet, queue up and try your luck — you might just climb the leaderboard.