Jun 4, 2025

Building Win: Lessons from Tokenizing Football with Web3

by Nahuel Jaume, Software Engineer at WakeUp Labs

The Win Investments project delivered strong results and a solid technical foundation. Win stands as a concrete implementation of how Web3 can empower sports platforms by blending ownership, decentralization, and fan engagement in a meaningful and scalable way.

From Legacy Code to a Modular SDK

The first step was technical archaeology. Win came with an early Version 1, functional but far from production-ready. We chose to refactor deeply rather than build on shaky ground. It slowed things down at first, but in the long run, it ensured we weren’t piling new logic on top of technical debt.

That decision paid off. We delivered a robust, modular SDK written in JavaScript and TypeScript, using Pinata to store player metadata on IPFS, and designed to abstract all Web3 complexity. The SDK connects directly to the blockchain (via libraries like viem), allowing their application to trigger smart contract methods without ever touching raw blockchain logic.

Just install it via NPM and you’re ready to deploy clubs and tokenize players.

How It Works

Each football club is deployed as its own ERC-1155 smart contract. Every player is represented by a token with a unique ID, minted and managed via our SDK. When a new club is created, the SDK deploys a new instance of the contract. Then, as new players are added, the tool handles minting and token distribution.

The client doesn’t need to know Solidity or how to interact with an L2. They just call methods like createClub() with the relevant parameters. The SDK handles deployment, token IDs, and ensures transactions hit the chain correctly.

And yes, ERC-20 and other standards were also involved, depending on the token flows and payment structure.

Real Use Case, Real Blockchain

Win’s app allowed users to buy fractional shares in player rights. Revenue from player transfers could then be distributed back to investors via tokens. It’s a model for engaging fans and funding clubs, one where decentralization adds trust, traceability, and global access.

All of this was handled through Web3, but the client never had to touch Solidity. That’s the power of good tooling.

Learnings

One of the key learnings from the project was the value of consistent communication. When all parts of the team are aligned early on, from business vision to development goals, everything runs smoother. That foundation allowed us to deliver robust, scalable tooling that can grow with any sports-focused Web3 initiative.

Final Thoughts

At WakeUp Labs, we believe good development is not just about writing clean code, it's about enabling others to create confidently, with the right tools in hand. That’s what we aimed to achieve with Win: delivering real utility through abstraction, so teams can leverage Web3’s power without needing to be blockchain experts themselves.

Thanks to the Win team for their trust and collaboration, and to the broader community pushing Web3 forward in meaningful, tangible ways.

From Legacy Code to a Modular SDK

The first step was technical archaeology. Win came with an early Version 1, functional but far from production-ready. We chose to refactor deeply rather than build on shaky ground. It slowed things down at first, but in the long run, it ensured we weren’t piling new logic on top of technical debt.

That decision paid off. We delivered a robust, modular SDK written in JavaScript and TypeScript, using Pinata to store player metadata on IPFS, and designed to abstract all Web3 complexity. The SDK connects directly to the blockchain (via libraries like viem), allowing their application to trigger smart contract methods without ever touching raw blockchain logic.

Just install it via NPM and you’re ready to deploy clubs and tokenize players.

How It Works

Each football club is deployed as its own ERC-1155 smart contract. Every player is represented by a token with a unique ID, minted and managed via our SDK. When a new club is created, the SDK deploys a new instance of the contract. Then, as new players are added, the tool handles minting and token distribution.

The client doesn’t need to know Solidity or how to interact with an L2. They just call methods like createClub() with the relevant parameters. The SDK handles deployment, token IDs, and ensures transactions hit the chain correctly.

And yes, ERC-20 and other standards were also involved, depending on the token flows and payment structure.

Real Use Case, Real Blockchain

Win’s app allowed users to buy fractional shares in player rights. Revenue from player transfers could then be distributed back to investors via tokens. It’s a model for engaging fans and funding clubs, one where decentralization adds trust, traceability, and global access.

All of this was handled through Web3, but the client never had to touch Solidity. That’s the power of good tooling.

Learnings

One of the key learnings from the project was the value of consistent communication. When all parts of the team are aligned early on, from business vision to development goals, everything runs smoother. That foundation allowed us to deliver robust, scalable tooling that can grow with any sports-focused Web3 initiative.

Final Thoughts

At WakeUp Labs, we believe good development is not just about writing clean code, it's about enabling others to create confidently, with the right tools in hand. That’s what we aimed to achieve with Win: delivering real utility through abstraction, so teams can leverage Web3’s power without needing to be blockchain experts themselves.

Thanks to the Win team for their trust and collaboration, and to the broader community pushing Web3 forward in meaningful, tangible ways.