← Back to all projects

Personal project8 min read

PlayDino - In-Game Economy, Tokenomics and Token Presale

PlayDino - In-Game Economy, Tokenomics and Token Presale

Tech stack

ReactTypeScriptNodeJSEthereumSmart ContractsviemwagmiMetaMaskWalletConnectCryptoBlockchainTelegram APIDockerAnti-FraudVoxel Art

Services

  • →In-game economy and tokenomics design (vesting, liquidity controls)
  • →Monetisation systems, in-game store and In-App Purchases
  • →Token presale dApp, frontend and EVM contract integration (wagmi/viem)
  • →Wallet authentication and multi-currency payment flow (MetaMask, WalletConnect)
  • →Anti-fraud, anti-cheat and real-time monitoring systems
  • →Full-stack infrastructure, payment gateways and backend services
  • →Technical leadership, code reviews, mentoring and hiring
  • →Freelancer onboarding, task definition, progress control and retrospective
  • →Skin catalogue design and art production pipeline (3 developers, 20+ voxel skins)

Deliverables

  • ✓Working token presale dApp on an Ethereum/EVM-compatible contract
  • ✓Live presale status: total raised, cap, stage timers, progress and personal contribution
  • ✓ETH and USDT payments with dynamic rates, fees and automatic swaps via liquidity aggregators
  • ✓In-game store and IAP monetisation running inside the Telegram game
  • ✓Vesting schedules, liquidity controls and anti-fraud safeguards
  • ✓Real-time monitoring and anti-cheat serving 10,000+ concurrent users
  • ✓20+ voxel skins across several quality and price tiers

Challenge

PlayDino is a Telegram-based game with a player base in the tens of thousands. The game itself existed, but everything around the money did not: no tokenomics, no in-game store, no protection against exploits, and no way for early supporters to buy in. The presale page that did exist rendered badly, carried a long list of bugs, and was not connected to a contract at all, so the button did nothing.

Decision

I took ownership of the whole economic layer: tokenomics and vesting schedules, liquidity controls, the in-game store and IAP, and the anti-fraud and anti-cheat side that keeps all of it honest. The presale was treated as a product of its own rather than a landing-page form, a small dApp that reads live contract state and submits real transactions.

The Build I Inherited

The starting point was the previous developer's version: the stock Chrome dino sprite dropped into a Telegram mini app, with a skin shop, a referral screen and a leaderboard that rendered the game canvas instead of a leaderboard. It ran, but there was nothing in it to come back for. I took the initiative to rewrite it into something presentable and actually worth playing.

‹›
aA🔒t.me/dinorunnebot/
⇧▢+
Меню

Inherited Telegram mini app - scrollable browser preview

Another early build of the game.

PlayDino early build 1
PlayDino early build 2

Rebuilding the Game in 3D

The client came to me with the idea of an app built around a cryptocurrency and an in-game economy. The early versions of the game looked primitive, and, to put it mildly, nobody much wanted to play them. I proposed rebuilding the game on a 3D engine.

The base was an existing open-source project. That version got heavily reworked: an interface, skins, menus and new features were added on top of it. The screenshots below show the old versions first, and the last one is the very first build of the new 3D game.

PlayDino old version and first 3D build 1
PlayDino old version and first 3D build 2
PlayDino old version and first 3D build 3
PlayDino old version and first 3D build 4

The First Interface

An early version of the interface: no design yet, but every core feature already in place. The home screen with the game start, a leaderboard with all-time, daily, weekly and monthly views, a shop split into skins, enemies and terrain, and a profile with points, coins, a referral link and the list of invited players.

PlayDino early interface screen 1
PlayDino early interface screen 2
PlayDino early interface screen 3
PlayDino early interface screen 4

The design brief for this early version looked like this: screenshots of the current screens, followed by the requirements for the new style.

PlayDino frontend design briefDownload PDF
Loading…

The New Interface

The next iteration restyled the interface around the game's theme: the same screens, now in the look of the game itself. The screenshots run from the screen mockups through builds in progress to the live mini app, where the shop already sorts items by rarity and lets the player pick variations for the dino, the pterodactyl, the cacti and the scenery.

PlayDino new interface screen 1
PlayDino new interface screen 2
PlayDino new interface screen 3
PlayDino new interface screen 4
PlayDino new interface screen 5
PlayDino new interface screen 6
PlayDino new interface screen 7
PlayDino new interface screen 8
PlayDino new interface screen 9

The Freelancer Pass

The next version, the presale landing, was ordered from an Upwork freelancer. I ran that engagement: onboarding, writing the tasks, tracking progress and the retrospective afterwards. What came back was a usable base rather than a finished product, so the decision was to keep improving it rather than ship it as delivered (the debugging pass below is part of that).

‹›
aA🔒playdino.fun/
⇧▢+
Presale

Presale landing - scrollable browser preview

Implementation

The economy side covers vesting schedules, liquidity controls and anti-fraud safeguards, an in-game store with In-App Purchases, and end-to-end full-stack infrastructure behind it: payment gateway integrations, transaction flows and backend services that carry real-time economic operations. Real-time monitoring and anti-cheat systems detect and block fraud, exploits and abuse automatically instead of waiting on a manual report.

The presale frontend talks to an Ethereum/EVM-compatible smart contract through wagmi and viem: view functions for live state, transactions for the purchase itself. Participants see total raised, the cap, stage timers, progress and their own contribution; they buy with ETH or USDT with exchange rates and fees calculated on the fly, including automatic swaps through liquidity aggregators where the payment currency calls for it. Wallets connect through MetaMask and WalletConnect, and participation is confirmed from contract events surfaced as frontend notifications.

The unglamorous half mattered as much: input validation, contract error handling, gas fee management, transaction status updates, participation history and a layout that holds up on a phone. Alongside the build I ran code reviews, mentored engineers and took part in hiring decisions.

VS Code during PlayDino development: an AI assistant fixing the frontend Dockerfile next to the build log and a git push
A random shot from frontend and backend development

Game Metrics in Prometheus and Grafana

Prometheus was added to the game to collect in-game statistics, track epochs and catch problems and errors. The charts were built in Grafana, which pulled its data from Prometheus. The screenshots show one of the panels: the total number of game points reported by the game API.

Grafana panel for PlayDino game metrics 1
Grafana panel for PlayDino game metrics 2

Presale Site Debugging

The early version of the presale site rendered inefficiently and carried a pile of bugs, a broken 3D model among them. This is the debugging pass: the problems were diagnosed and fixed, and the presale form was wired to the blockchain so it actually did what the button promised.

The Presale Contract and MetaMask Warnings

Wiring the presale payment form to the smart contract surfaced a problem the front end could not fix: MetaMask treated the contract as untrustworthy. In local tests the spender showed up as an unknown address, and once the site went live on playdino.fun the wallet flagged it as malicious and swapped the Confirm button for Review alert. A buyer who sees that screen at the moment of paying rarely goes on.

So the work moved to the contract itself. It went through an audit and a code review, its publication and verification were checked, and then I contacted MetaMask to get the contract approved and the warning removed. For comparison, the screenshots include another presale whose contract MetaMask marks as verified.

In the end the contract came out valid and safe, the malicious flag disappeared, and paying went back to a plain approve and confirm that no longer scares buyers off.

MetaMask presale contract screenshot 1
MetaMask presale contract screenshot 2
MetaMask presale contract screenshot 3
MetaMask presale contract screenshot 4
MetaMask presale contract screenshot 5
MetaMask presale contract screenshot 6
MetaMask presale contract screenshot 7

The Whitepaper Page and Its Artwork

The landing got a separate whitepaper page. It lays out the project's philosophy and embeds the PDF with a preview of the entire document.

PlayDino whitepaper page 1
PlayDino whitepaper page 2
PlayDino whitepaper page 3
PlayDino whitepaper page 4

The whitepaper itself went through a revision together with the team. Its illustrations had been made with image generation, and the lettering inside them came out broken: DinoVerve and DinoVervseinstead of DinoVerse, playgrount, Stnart contracts, MEANNGFUL,DINORUNNNER, and the ticker printed as SDINO instead of $DINO. The close-ups below show those spots marked up before the fix.

PlayDino whitepaper artwork bug 1
PlayDino whitepaper artwork bug 2
PlayDino whitepaper artwork bug 3
PlayDino whitepaper artwork bug 4
PlayDino whitepaper artwork bug 5

After the pass the document looks much better, and no broken lettering is left in it.

Character Model QA

The character model came back from the developer with defects. The flicker is visible on the second and fourth frames of the loop. The model went back for rework rather than into the build.

Skin Production Line

A brainstorm settled the shape of the skin catalogue: several tiers that differ in both quality and price, so the store has something at every level of commitment rather than one flat list. The skins are voxel models built for the game's own 3D voxel engine, which makes each one a modelling job rather than a texture swap.

Three developers were hired for it and put on a fixed loop: creative brainstorm, then modelling, then debugging, then acceptance. Nothing entered the store without passing the last step (the flickering model above is what a failed acceptance looks like). More than 20 skins came off that line.

The modellers were found on freelance platforms, and the hard part was the tooling. The game runs on a custom 3D voxel engine whose voxel editor ships separately, so each contractor had to be trained on it and handed the full documentation. They did very well: in a short time they produced a long list of skins on paid terms. Players buy the skins with in-game currency and can run as well-known characters such as Batman, SpongeBob and Mario.

PlayDino voxel skin 1
PlayDino voxel skin 2

Three of them: an entry-tier skin in an early version, a Star Wars skin, and a Mario skin shown twice, before and after its animation pass.

Coin Artwork

The game's two currencies got their own coins: a blue one for in-game points and a gold DINO coin for the token.

PlayDino coin 1
PlayDino coin 2

Sticker Pack

The dino cast also shipped as a sticker pack, 19 stickers used to give the game a presence in Telegram chats outside the app itself. Click any of them to open it full size.

PlayDino sticker 1
PlayDino sticker 2
PlayDino sticker 3
PlayDino sticker 4
PlayDino sticker 5
PlayDino sticker 6
PlayDino sticker 7
PlayDino sticker 8
PlayDino sticker 9
PlayDino sticker 10
PlayDino sticker 11
PlayDino sticker 12
PlayDino sticker 13
PlayDino sticker 14
PlayDino sticker 15
PlayDino sticker 16
PlayDino sticker 17
PlayDino sticker 18
PlayDino sticker 19

Press and Promotion Partners

To grow the community, we held a series of negotiations with companies that handle media coverage and press campaigns. With some of them we reached paid agreements to bring more customers to the platform. The screenshots show calls with these companies and one partner's presentation.

PlayDino promotion partner call 1
PlayDino promotion partner call 2
PlayDino promotion partner call 3
PlayDino promotion partner call 4
PlayDino promotion partner call 5
PlayDino promotion partner call 6

The Latest Version

This video shows what the game looks like in its latest version, along with a tour of the latest version of the site.

Outcome

A working presale with multi-currency support, transparent status tracking and an interface a non-crypto-native player can get through. The economy and anti-cheat systems run under 10,000+ concurrent users, with fraud and exploit attempts caught automatically.

Projects

Open for contract collaboration

I am available for contract-based collaboration. If you have an interesting project idea, schedule a call via Calendly.

Schedule a 30-min call