Skip to main content
Cardano NFT-marketplace

The First NFT-marketplace on Cardano

5 people
in the team
5 month
of work

Designed and developed in collaboration with IOHK, a decentralized application on the Plutus platform. The created DApp is one of the first NFT marketplaces on Cardano.

See the case

We've adapted a mobile RPG for the blockchain and assisted a client from Germany in selling NFTs to web2 users

legendary_play

RPG is not just entertainment, but also a source of income.

We developed NFT smart contracts and an API for one computer role-playing game, linking smart contracts with the online game. Spoiler: the transition from web2 to web3 worked out.

An NFT game where you can earn

Esports Heroes is the first blockchain-based esports RPG.

At its core is character enhancement and cooperative gameplay, allowing players to progress from amateur to professional esports athletes alongside friends.

Originally conceived under a web2 model, Esports Heroes was transformed into an innovative, free-to-play mobile game thanks to the web3 paradigm.

Nico Bordunenko

Blockchain ensures real ownership of digital assets and grants users the freedom to interact with those assets. For instance, a player can buy an NFT, play, enjoy the game, level up their character, and then sell it for a higher price.

Nico Bordunenko
Nico Bordunenko
Project manager at MetaLamp

NFTs and an API for interacting with smart contracts and the online game

The creators of the online game decided to transition it from web2 to web3. We had two main tasks at hand: developing NFT smart contracts and creating an API.

Smart contracts: We developed NFTs that serve as representations of in-game characters. These NFTs, built on the Polygon network, can be traded on popular marketplaces such as OpenSea, Blur, and Magic Eden.

NFTs in the game are a classic feature that allows users to exchange characters, items, and even resell them. Game creators don't need to develop their own solution for this. It's enough to release an NFT that will be supported on all popular marketplaces.

Pavel Naydanov
Solidity-developer at MetaLamp

Together with the client's team, we decided that NFTs should have two states: Playable and Tradeable. In the Playable state, NFTs are available for use in the game, while in the Tradeable state, tokens can be resold on marketplaces.

This approach protects the game from a common vulnerability known as Race Condition, where multiple processes attempt to simultaneously process the same data. Hackers can exploit this vulnerability to gain access to the application's currency.

Additionally, we implemented the ability to collect royalties from NFT resales, providing an additional monetization method for the application.

For the API, we developed a backend that served as a bridge between smart contracts and the game backend. This is a classic scheme used when transitioning games from web2 to web3.

In our backend, a random NFT is generated. It indexes relevant blockchain events associated with smart contracts and communicates these changes to the game.

Nico Bordunenko
Project manager at MetaLamp

The technologies we used

Solidity. Everything is written in Solidity. And what else?)

Foundry. MetaLamp developers favor this service. Tests are written directly in Solidity, not in JS. They execute much faster than in Hardhat. Moreover, the testing toolkit in Foundry is much broader.

The operator-filter-registry library. This small library was developed by the OpenSea protocol as a response to other marketplaces that did not plan to support the royalty standard.

The library allows NFT owners to exclude certain marketplaces where these NFTs can be sold. In other words, thanks to this library, NFT owners can have more control over their business models and tokens, choose platforms for distributing NFTs, guarantee royalties, and also prohibit trading their NFTs on platforms where there are no royalties.

We've encountered an issue: not all NFTs support royalty payouts. By integrating the operator-filter-registry library, we've found a solution and enabled trading our asset only on platforms where these royalties exist.

Nico Bordunenko
Project manager at MetaLamp

As of 2024, the library is deprecated and no longer supported by OpenSea, as it didn't gain enough popularity among the community and other marketplaces. However, at the time of implementation, the solution wasn't deprecated, considered fresh and quite appealing. Now, we wouldn't use this library and would seek an alternative.

Beacon Pattern. The technology is used for updating smart contracts.

In the game, there are numerous collections with characters. Each collection is an independent smart contract with a unique address on the network. However, the smart contract code for all collections is the same.

The Beacon Pattern enables updating the logic for all deployed proxy contracts in a single transaction. To implement the pattern, we utilized the tried-and-true OpenZeppelin smart contract library.

Pavel Naydanov
Solidity-developer at MetaLamp

Results

We've empowered Esports Heroes users with true ownership of their in-game assets. Up to 5% of users purchase NFTs directly on the platform.

The project receives royalties from secondary market trading on the NFT marketplace.

Our smart contracts underwent audit and received the highest rating. Not a single vulnerability was found.

RPGs are popular among users worldwide.

It took us approximately a month in total. The smart contracts were completed in a week, while the backend took three weeks. Additional time was spent on communication, consultations, and support.

On MetaLamp's side, the project involved two developers and one project manager.

Esports Heroes was our first experience transitioning a computer game from web2 to web3. There were no difficulties, but now we have a clear idea of how to do it quickly and effectively without reinventing the wheel.

Nico Bordunenko
Project manager at MetaLamp

Read more about our cases

ggem
New
wine_vinesia
Featured story
dao
What is DAO?

Pavel Naydanov

Solidity developer

Articles

education
web3
l2
stacking_nft
Featured story
NFT Staking: How does It work?

Pavel Naydanov

Solidity developer

Articles

ethereum
web3
dApps
legendary_play
Featured story
payments
TON
sharding
Featured story
blockchain_top_companies
mvp_2024
launchpad
How to create a launchpad?

Nico Bordunenko

Project manager at MetaLamp

Articles

web3
dApps
launchpad
aa zkp
Featured story
zksync
Featured story
rwa
Featured story
anonymus
Featured story
Zero-knowledge proof explained and 2024 Trends

Yevgeniy Biktimirov

Venture Analyst

Articles

ethereum
web3
dApps
cpay
Featured story
stock market chart
Featured story
planets
fundraising
Featured story
cto
wallet
Account Abstraction: A Tool Against Gas Fees in Your dApp

Nico Bordunenko

Project manager at MetaLamp

Articles

ethereum
web3
tokens
Featured story
rocketcomputer
Featured story
How to create a design for a startup MVP in 7 days

Julia Cherepanova

Head of Design Office

Articles

startup
MVP
design
crypto wallets
Featured story
speed up development
myths
Featured story
Myths about Blockchain Product Development

Nico Bordunenko

Project manager at MetaLamp

Articles

web3
dApps
startup
mvp launching rocket
Featured story
Who should be hired on the team to launch an MVP?

Alexey Sukharev

HEAD OF Sales DEPARTMENT

Articles

business
startup
MVP
galaxy
Featured story
magazine
Top 6 Trends in Crypto Apps 2023

Roman Shtih

CEO Metalamp

Articles

web3
dApps
cryptocoffee
investments
investors
squares
The first NFT marketplace on Cardano

Stanislav Zhdanovich

Haskell developer

Articles

cardano
web3
NFT
stair
bridge
abstraction
How we use our own training program to hire Plutus engineers

Svetlana Dulceva

The Education Program Supervisor

Articles

education
cardano
web3
mountains
computer in space
A perfect HR: why are IT companies happy with our junior developers?

Svetlana Dulceva

The Education Program Supervisor

Articles

education
web2
business
salary
IT developer
cardano
chains
abstraction
salary
Featured story
rocket
a man with books
Featured story