- gaming
- Gaming & Play-to-Earn
TheMemeTV: a crypto fantasy game inside a Telegram bot
Fantasy portfolios of crypto tokens, played entirely inside Telegram, with on-chain rewards and a behavioural layer built to keep bot farms off the leaderboard.
- Blockchain Engineering
- Bot Development
- Tokenomics Design
At a glance
- Sector
- Gaming & Play-to-Earn
- Type
- gaming
- Services
- Blockchain Engineering · Bot Development · Tokenomics Design
The problem
What it had to solve
The client wanted into play-to-earn against two obstacles that pull in opposite directions. Asking players to install an app and set up a wallet before they can try anything loses most of them at the door. Removing that friction invites the other problem: bot farms register in bulk and drain reward pools that were meant to attract players.
A game that lives inside a chat app inherits its distribution, which is the appeal — no install, no store listing, no wallet on day one. What it does not inherit is a way of telling a person from a script, and in a game paying out tokens that distinction is the difference between a reward pool and a subsidy for whoever automates fastest.
What we built
How it works
A Node.js backend sits behind the Telegram Bot API. Fantasy points are tracked in a virtual ledger in Postgres rather than on-chain, and reconciled against smart contracts when rewards are paid — so the scoring that happens constantly is cheap, and only settlement touches a chain.
Both hard parts are about timing. Referral rewards pay out at milestones rather than on signup, which removes the incentive to register accounts you never intend to play. The anti-cheat layer reads behavioural signals — how fast a player interacts, how old the Telegram account is — and disqualifies suspected automation before it reaches the leaderboard rather than clawing rewards back afterwards.
Calls we would still defend
Telegram Web Apps for the interface — charts and team management render as a real UI inside the chat, so the game does not have to be played through bot commands.
Off-chain balances, batched settlement — rewards accumulate as a claimable balance and are minted in batches, because paying gas per point movement would cost more than the rewards are worth.
Proof-of-human on the high tiers only — the verification step lands where the money is, so a casual player is never asked to prove anything and the tiers worth attacking are the ones that are defended.
Built with
Telegram Bot API (TWA)
The delivery channel, chosen so there is no install between hearing about the game and playing it. Mini-app support is what makes a real interface possible inside the chat.
Node.js (TypeScript)
Event-driven work throughout — live point tracking as prices move, and notifications back out to players.
PostgreSQL + Redis
Postgres holds the token balances where consistency matters; Redis serves the leaderboard, which is read constantly and can be rebuilt.
Solidity (EVM/TON)
Reward distribution and referral logic on-chain, so payouts can be checked by the people receiving them.
Where it landed
What the build changed
Telegram
Interface
the game renders as a real UI inside a chat window, with no separate app
Off-chain
Points ledger
balances accrue off-chain and settle in batched on-chain mints
Proof-of-human
Anti-sybil
verification lands on the high-reward tiers, keeping bot farms off the leaderboard
FAQ
The questions this build raises
What was actually built, the constraints it had to meet, and how it holds up in use.
A behavioural layer reads interaction speed, IP consistency and how long the Telegram account has existed, and disqualifies suspected automation before it reaches the leaderboard. The highest reward tiers add a liveness check on top. It is a filter rather than a guarantee — the aim is to make farming cost more than it returns, which is the winnable version of this problem.
Yes. Playing and earning points happens entirely inside Telegram. A wallet is only needed at the point of claiming and withdrawing rewards, which is deliberately the last step rather than the first.
Every 60 seconds, against the market performance of the tokens in each player's fantasy team. That interval is a trade-off: fast enough that the board feels live, slow enough that the ledger is not rewritten on every tick.

