-
-
Sample turn from a WWZ match
-
Sample cross-community scoreboard depicting a match between the Order of the Tigons and ThetaZillaClub
-
Sample community league standings demonstrating our new support for organized play
-
Sample community league scoreboard demonstrating our new support for organized play
-
PvP Tournament Nᵒ 1 announcement
-
Final bracket from our first PvP tournament in June
-
In-Game cosmetics are now NFTs minted on Theta and transactable on OpenTheta
This project description is also available as a paginated microsite for easier browsing
Inspiration
WWZ is a Web3 game that began as an entry to the 2023 Theta Hackathon. We enjoyed participating and are proud of what we accomplished, but want to take the project further.
This year, we are submitting a major new release that includes:
- Cross-community, cross-chain gameplay
- Organized leagues
- On-Chain, in-game cosmetics
- Automated TFUEL and TNT20 reward capability
With this update, we believe WWZ can become to Web3 communities what pickleball or softball leagues are to off-chain communities.
Our goal is to become a touchstone for Web3 communities of all shapes and sizes—and to base that shared activity here on Theta.
What It Does
WWZ is a Discord game for supported profile picture (PFP) NFTs. Players choose and train a PFP from their existing collection to fight on their behalf in automated, text-based combat that can be surprisingly fun.
New for Summer 2024
Community vs. Community matches
For the first time, one NFT Community can challenge another to a WWZ match—even across blockchains. Full write-up available in v0.11 Patch Notes.
Community leagues
Web3 communities can now play against peer communities in organized leagues. Game results are tracked against league leaderboards. For more, see the full v0.11 Patch Notes.
On-Chain, In-Game Cosmetics
We first introduced in-game skins in January 2024. As part of our Summer Release, these skins are now NFTs on the Theta Blockchain.
To date, these cosmetics have been earned by attending or winning special WWZ events. Thanks to help from OpenTheta, players may also buy and sell these rewards.
Automated TFUEL/TNT20 Rewards
The game is capable of rewarding players with TFUEL or TN20 tokens in the following ways:
- Winning a match earns
XTFUEL/TNT20 whereXis the number of players in the match - Defeating a player with a bounty earns
YTFUEL/TNT20 whereYvaries as a function ofXdepending on bounty severity
How We Built It
Architecture
The success of WWZ depends on how well it can support a growing player base. Therefore, most of our architectural design decisions favor some form of auto-scaling or serverless components.
![]() |
|---|
| Overview of WWZ system architecture |
UX
Players interact with the game primarily through a Discord app. We made this choice because:
- most of our potential players already have access to Discord
- it works on any popular mobile device or PC
- offloading authentication and account management to Discord enables us to move faster
Knowing we wanted to build for Discord, we attempted to follow UX flows established by the most popular Discord apps such as MidJourney.
For example, many MidJourney users are conditioned to making initial requests and options through Discord application commands.
![]() |
|---|
| Comparison of MidJourney and WWZ requests via Discord Application Commands |
And just-in-time graphics support form component choices for deeper workflows.
![]() |
|---|
| Comparison of MidJourney and WWZ follow-up UIs |
Verification
Generally speaking, players are limited to NFTs they own when playing WWZ. However, players do not need to connect a wallet to WWZ to play.
We follow the principle of least privilege (PoLP)
Instead, we perform a Web3 version of a common Web1 security verification method: DNS-based Domain Validation (DNS-01 challenge). We provide players a unique code and ask them to place it in a location only the controller of an account could (ThetaDrop profile, OpenTheta profile, Magic Eden bio, etc.).
An example of this pattern in action can be seen in our guide for verifying a ThetaDrop account with WWZ.
Summer 2024 Enhancements
Most of the Summer 2024 enhancements were built on top of existing WWZ infrastructure. However, there are some notable new components.
Theta Transaction Management
Theta Blockchain JS SDK
Automated TFUEL rewards are made possible by the Theta Blockchain JS SDK running in a nodejs environment.
Chain Readers
InfStones
We read data from the Theta blockchain using the InfStones Theta API service. This service has been so effective, we've started using it to work directly with Ethereum as well.
MagicEden API
For cross-community matches, we leverage the publicly available Magic Eden API for data related to Solana NFTs.
OpenSea API
For cross-community matches, we leverage the OpenSea API for data related to Polygon NFTs.
Challenges We Ran Into
ETH RPC Adaptor
In early June, the game began intermittently having trouble reading data from the Theta blockchain. We were able to trace the issue to our communications with the Theta ETH RPC Adaptor failing.
Theta's documentation on this service is clear: it is only meant for light usage. So we assumed we may be the problem and looked at other options for ETH-to-Theta RPC support, including hosting our own.
This InfStones Partnership Announcement from 2023 piqued our interest. We tried the service, ran a series of simulated games with it, and found it to be reliable and performant. We have been running it in production without issue ever since.
3rd Party On-Chain Data Failure
Between May and mid-June, we depended on a 3rd party, premium service for querying the Solana blockchain in a reliable and efficient manner. On June 18th, it suddenly stopped working. Nothing in our related code changed. Their support offered no response. We still don't know what happened.
We reviewed several Solana data providers and ultimately found everything we needed in the Magic Eden API with one catch. Our busiest game lobbies, where several players take Training actions nearly simultaneously, are likely to violate rate limits for normal API usage. We were lucky enough Magic Eden accepted our request for elevated API usage and have been able to completely circumvent the problem.
Contract Deployment Issues
In June, we began minting the skins awarded to Players on the Theta blockchain. Our first attempts at a contract following an older Theta demonstration led to a couple of smaller challenges.
Error Messages on Deploy
We received errors messages when deploying a contract using the latest version of OpenZeppelin Contract Wizard and Remix. We learned of complexities with using the latest version of the EVM compiler and possible solutions through Discord help messages by @Pizajolo from April 2024.
Popular Toolset (In)Compatibility
With the caveat that we are not experts with the tools in question, using an earlier version of the EVM compiler (per above) meant we could not use some popular applications like the OpenZeppelin Contract Wizard (maybe possible using old builds?).
We ended up piecing our contract together from existing Theta documentation and working examples.
We think if there's a way to bridge this (temporary?) gap - how to use popular, current tools with output Theta accepts today - more groups like us could explore Theta more easily.
Scoring Information Architecture
Cross-Community matches posed a design challenge: how do we quickly convey the state of a Team of arbitrary size?
In previous game formats, we primarily relied on well-formated, text-based lists of combatants and players. These text-based leaderboards don't quickly convey the necessary information in a team vs. team setting. Good for a detailed look, they make viewing a live match tedious or even boring if a viewer simply skips reading scoreboards altogether.
We landed on a visual solution that leverages our strengths in near real-time image processing. We still provide a text-based list of combatants in scoreboards, but we include something we call Facewalls as well.
A Facewall is a grid of all team member PFPs and visual indicators of critical states (low health, energy, death).
![]() |
|---|
| Designing the Facewall feature |
Accomplishments We're Proud Of
Gym Network Growth
WWZ currently provides gaming utility:
- to 15 NFT collections (6 on Theta)
- in 9 Community Discord Servers (5 on Theta)
- across 4 blockchains (with Theta as primary)
- to over 100,000 playable PFP NFTs
Successful PvP Tournament Nᵒ 1
In early June, we invited the WWZ community to participate in our first organized tournament. Twenty-two players competed for a prize pool that included Theta NFTs, TFUEL, WWZ skins, and a Grand Prize of a ticket to ThetaCon 2024 provided by the Order of the Tigons.
![]() |
|---|
| Final bracket for PvP Tournament Nᵒ 1 |
First Solana Event
In June, POG Digital hosted a WWZ series. This marked the first WWZ event outside of Theta.
![]() |
|---|
| Promotional flyer for POG Digital WWZ series |
Ongoing Solana Expansion
On July 26th, the g00bs NFT Community opened the second WWZ Gym based on a Solana collection (10th Gym overall).
The g00bs community is already averaging close to 30 players per match - the majority of which are new to Theta.
Check out the g00bs Gym launch trailer.
![]() |
|---|
| Match results from the g00bs gym |
Simulator Results
Proving WWZ is a "skill game" is an important goal to us. So we are happy to have made progress this season with:
- a simulator capable of running relatively large volumes of games (so far tens of thousands)
- initial simulator results that point toward strong skill-based elements
Popularity
On July 4th, 2024 WWZ players trained their 100,000th combatant since we began recording around the same time in 2023.
What we learned
RPC Clarity
We did not know the strength of the Theta partner node offerings before we ran into some struggles with Theta's demo ETH RPC Adaptor in late May.
Now we know there is no need to rely on Theta's demo of the ETH RPC Adaptor. InfStones nodes, for example, allow us to interact with the Theta blockchain as an ETH client or a Theta client (two endpoints).
The demo ETH RPC Adaptor serves its purpose well for quick exercises, but any production application (regardless how light the usage) can easily make use of InfStones tiered plans - including a generous free tier.
We appreciate Theta's decision to provide node support through partners like InfStones. We think we learned a little more about how to scale responsibly in the ecosystem.
Graduating from Read-Only
Prior to this release, WWZ was a read-only Web3 application. The game relied heavily on blockchain state data, but to-date only had reason to write data to conventional databases.
Automated TFUEL Reward Transactions
In specific matches, the game is now capable of automatically signing and broadcasting a reward transaction to:
- the winner
- anyone claiming a bounty during the match
On-Chain Game Skins
Players can now earn NFT rewards through the game in the form of wearable skins. To meet this goal, we followed Theta documentation and Discord discussions on deploying ERC-721 tokens.
What's next for WWZ
Gym Network Expansion
We intend to steadily grow the WWZ gym network. To date, we have prioritized Discord servers bound to NFT communities, but any Web3 Discord server is a candidate. For example, we would love to put a WWZ gym in the ThetaNetwork and OpenTheta Discord servers where members could use any eligible Theta NFT to play and represent each server in cross-community play.
Community League Play
We plan to launch our first league in Q3 2024. We intend to start with relatively small leagues and short short seasons and grow them as we add expand the Gym Network.
Partner Rewards Integration
We would like to integrate token based rewards (eg. TDROP, KFUEL, POG, TVIBE).
We have demonstrated the game can technically do this now with the Theta Blockchain JS SDK, but we are currently in the process of selecting a partner for KYC/AML services.
On the technical side, we have integrated two prospective services. We hope to have finalized partner selection in August 2024.
Auditable Game Results
We are interested in exploring writing near-live game data on-chain. Ideally, this would include some form of on-chain randomness as well. We are only in the discovery phase here, but believe it to be an important capability going forward.
Zero-Setup Demo
There are a number of places to try or watch WWZ, but the easiest way is to follow these three steps:
- Join our Discord
- Visit the
amoechannel - Run
/wwz train
You will be presented with a few NFTs to choose from. Pick one and follow the prompts to join the next match!
Built With
- amazon-web-services
- discord-api
- infstones-theta-rpc
- magic-eden-api
- nextjs
- opensea-api
- postgresql
- ruby-on-rails
- theta-js-sdk










Log in or sign up for Devpost to join the conversation.