Mine
One tap starts a session that keeps earning even when the app is fully closed. A notification tells you when it's ready to claim.
Idle-mining rewards
Start a session and it earns Points with the app closed. Watch a rewarded ad for more. Check in daily and the streak pays you back. One loop, one balance — and every rule of the economy is published.
In-app Points only today. No purchase required. Cash-out, and any token after it, are staged, conditional plans — not a promise. See the roadmap.
9:41
9:41
9:41Illustrative activity — the kind of moments the app surfaces.
The loop
Everything you do lands in the same pile of Points. Points raise your Level; Level unlocks bigger rewards. No wallet, no gas, no waiting.
One tap starts a session that keeps earning even when the app is fully closed. A notification tells you when it's ready to claim.
Rewarded video pays Points on top, verified before it lands. Every fourth ad lights a boost window; a lucky roll can multiply the payout.
A flat daily reward that builds a streak. The streak adds a permanent bump to your mining rate — and breaking it hurts.
The app, screen by screen
These are real renders of the shipping UI — a demo account with sample numbers. Scroll, and the phone follows.
9:41Open the app and Home picks the best thing to do right now — claim a finished session, start mining, check in, or open your daily Mystery Box. Your balance, earn rate and live mining timer sit right under it.
9:41A session keeps earning with the app fully closed — a notification tells you when it’s ready. Rewarded ads are always optional and pay Points on top, verified server-side before they land.
9:41The Rewards tab lays the month out as a real calendar. Each streak day adds +2% to your mining rate, permanently, up to +50% — so the cost of breaking it is physical, not abstract.
9:41Points have somewhere to go. Buy a pickaxe, upgrade it through levels, and fold its bonus into your mining rate — or spend on timed boosts, unlocks and cosmetics that never touch the earn rate.
9:41One append-only ledger backs your balance. The wallet shows the last seven days, where your Points come from, and the full history — and it’s honest about the redeem goal: cash-out is not live yet.
9:41The weekly board resets every ISO week and shows the top 100. Your own row tells you the gap to the spot above in real Points — and there’s a global chat room for talking shop while your rig mines.
9:41Cumulative earnings climb a 50-step curve. Every ten levels pays a milestone bonus, a permanent +5% mining rate and a new avatar frame; the earn multiplier keeps stepping up to ×3.2.
9:41Invite with a code — there is no payout for a signup. Friends only count once they reach Level 3 and mine, then each active one adds +2% to your rate, plus a 10% share of their ad earnings for 30 days.
9:41One-time achievements evaluated on every action — first reward, streaks, ad counts, earnings and level tiers. Counter badges show a progress bar and percent so you always know what’s close.
The full set
Hover to lift a phone and pause the row. Every screen shares the same tokens, motion and rules.
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41The shape of it
No small print
Rewards apps are usually vague about the maths. Not this one. Every bonus is added, never compounded, so the maximum earn rate is finite and knowable no matter how many systems you stack.
The whole parameter set — rates, caps, costs, windows — is published in the whitepaper, and it's the same config the client and server both read.
Illustrative maxed stack. Each labelled segment is a capped source; the total is their sum.
Points are in-app rewards today, not currency. They have no cash value yet and can't be bought. A redeem flow for gift cards is designed, gated behind a 25,000-Point threshold and an ad-revenue readiness bar (whitepaper §9), switched off until both hold. A longer-term liquidity option, with its own strict gate, is described honestly in whitepaper §10 — it is not live and not a promise. Ads are standard rewarded video — watching is always your choice.
Roadmap
The foundation and the engagement systems are built and running against the deployed backend today. Phase 2 is launch readiness — Play Store, legal, production ad config.
Community
TAVEXA MINI runs an ambassador program — people who want to grow the app in their country apply in-app and get tracked through review. Everyone else can follow along while it ships.
Questions
It’s free to install and play. There’s nothing to buy to earn Points; ads are optional and pay extra, they’re not the price of entry.
Not today. There's no token, no blockchain, and no cash-out live right now — Points are in-app rewards with no monetary value. A gift-card redeem flow is designed and switches on once the ad-revenue readiness bar in whitepaper §9 is met. A longer-term liquidity option is a conditional, later-stage idea explained in whitepaper §10 — it is not a promise, not investment advice, and nothing to buy into today.
No. Mining is computed on the server from elapsed time when you claim — nothing runs on your phone while the app is closed. You only get a notification when a session is ready.
Android first, launching on Google Play. There’s no iOS release announced yet.
16 or older. The ambassador and partnership programs are 18+.
Yes, any time — in the app under Settings → Account, or by email. Here’s how.
More detail: the field guide FAQ and the whitepaper.
Get the app
TAVEXA MINI launches on Google Play. Drop us a line and we’ll tell you the day it’s live.
Whitepaper
A rewards app lives or dies on trust. Most are opaque about how earning works; this document is the opposite. It states every source of Points, every bonus, every cap, and the mechanisms that keep the system fair.
TAVEXA MINI rewards attention and consistency with Points — a virtual, in-app balance with no monetary value and no relationship to any cryptocurrency or security. Points are earned three ways: a passive mining session that accrues while the app is closed, optional rewarded video ads, and a daily check-in. Layered on top are streaks, a weekly pass, weekly missions, timed events, level milestones and a referral team, each of which modifies the earn rate or pays a bounded bonus.
Today, Points are not a token and carry no promise of value. A gift-card redemption feature is engineered, and it stays switched off until the conditions in §9 are met. This is a deliberate sequencing, not an accident: the product is a rewards app first, proven at real scale, before any cash value enters the picture — never the other way around. §9 sets out exactly when redemption turns on; §10 sets out, with the same discipline, the only conditions under which a broader liquidity mechanism would ever be considered. Neither section promises a date or a price. Both exist so that if either ever happens, it happens because the numbers earned it, not because a roadmap said so.
What remains is a game about a machine that earns for you. The rest of this paper describes how that machine is balanced and defended.
Engagement mechanics are timed windows the player can see and reason about — a three-hour boost after completing the daily goal, a repair window after a broken streak, a countdown on a live event. There are no hidden timers, no pay-to-skip walls, no loot boxes bought with real money. The pull to return is "your boost is live for two more hours", stated plainly.
Every bonus source has a hard cap, and bonuses are summed rather than multiplied (§4). The maximum possible earn rate is knowable and finite regardless of how many systems a player stacks, so the economy cannot be inflated into meaninglessness by a small number of maximised accounts.
The client never decides what a reward is worth. A mining claim's payout is computed by the server from the session's recorded start time and a rate locked in at start; an ad reward is credited only after the ad network's server-to-server verification confirms the view. The client runs a copy of the same rules only for an optimistic preview, which the server reconciles.
A reputation score, deterministic idempotency on every mutation, a replay guard on the ledger, and a level-and-activity gate on referral rewards are built into the core loop, not bolted on. See §7.
All earning credits a single append-only ledger; the running balance is the sum of its entries. Points raise the account Level from cumulative lifetime earnings across a 50-step curve, and Level unlocks higher ad caps, higher earn multipliers and milestone rewards.
| Flow | Mechanic |
|---|---|
| Source | Idle mining — 15 Points/hr base, 4–8 h sessions, rate modified by every bonus in §4 |
| Source | Rewarded ads — 9 Points base × earn multiplier × boost × ad-streak × event × luck |
| Source | Daily check-in — 11 Points, up to four times a day, streak advances once |
| Source | Reward tasks & weekly missions — small flat credits for in-app actions |
| Source | Weekly Pass — 7 tiers, 15→225 Points, one per check-in day that week |
| Source | Mystery Box — a bounded random amount, once daily from Level 3 |
| Source | Level milestones — 375→37,500 Points at Levels 10/20/30/40/50, once each |
| Source | Referral rev-share — 10% of a referred friend's ad earnings for 30 days |
| Sink | Marketplace pickaxes — one-time purchase then upgrades; the only rate item bought with Points |
| Sink | Store — consumables, timed boosts, permanent unlocks, cosmetics, a −25% daily deal |
Cosmetic sinks (frames, pickaxe skins, chat colours) give Points somewhere to go without touching the earn rate, so a player can spend without weakening their own progression.
The mining rate is the most important number in the economy, and the way its bonuses combine is a deliberate choice. Every source contributes a bonus in basis points; those are summed, and the sum is applied once:
rate = 15/hr × (1 + Σ bonusBps / 10000)Multiplicative stacking produces runaway numbers: five ×1.4 bonuses compound to roughly ×5.4, not ×3. Additive stacking keeps each source's marginal effect bounded and legible. A player with everything maxed knows exactly what their ceiling is.
| Source | Rate | Cap |
|---|---|---|
| Check-in streak | +2% / day | +50% (25 d) |
| Active referrals | +2% / friend | +20% base, grows w/ level & unlock |
| Level milestones | +5% each | +25% (all 5) |
| Equipped pickaxe | rarity + level | bounded by catalog |
| Timed boost (Rush Hour / Overclock) | +50% / +25% | while active |
| Daily-goal boost | +10% | 3 h window (5 h w/ Go-Getter) |
| Limited-time event | admin-set | event window |
Ads are the revenue engine and are always optional. The player can run the entire loop — mining, check-ins, streaks, missions, the pass — without watching one; ads simply pay Points on top.
A rewarded video is served by Google AdMob. The reward is credited only after AdMob's server-side verification callback confirms the impression to our backend. A request whose token belongs to another account, or which arrives before verification, is rejected; a verified token that is replayed is caught by the ledger guard (§7) and dings reputation.
The check-in streak is the retention core. It advances once per calendar day (UTC) on the first check-in, and it does three things: pays milestone bonuses at 3, 7, 14, 30, 50, 75, 100, 200 and 365 days; adds a permanent +2%/day to the mining rate up to +50%; and, when broken, opens a paid recovery window.
Missing a single day without a Streak Freeze consumable reduces the streak by seven, not to zero — a long investment survives one slip. Missing two full days resets to one.
For 24 hours after a break, the pre-break streak can be bought back for Points, at a cost that scales with what is restored (600–12,000). The state remembers the exact streak lost and when, so the offer is precise. A resumed streak on a new day clears a stale offer.
The Rewards tab shows the current month as a real calendar grid with a tick on every day the account checked in, renewing on the first. It exists to make the chain, and the cost of breaking it, physical.
A 0–100 trust score, starting at 50. Ordinary play adds small amounts and pins an honest account at 100 within days. Two abuse signals subtract three points each: a replayed mutation, and an ad token belonging to another account. Reputation gates ad earning (below 20) and the early earn-multiplier tiers (40–85).
Every mutation carries a client-generated Idempotency-Key header, deduplicated against a mutations table so an honest retry returns the cached response. Independently, each ledger entry the engine produces has a deterministic idem string, and the ledger has a unique constraint on (user, idem). A mutation whose deterministic entries already exist is treated as a duplicate: current state is returned, no double credit, reputation dinged.
Session payouts are computed server-side from the recorded start time and locked-in rate, never from a client-reported amount. Day and week boundaries are computed in UTC on both sides so the client's optimistic preview and the server agree at midnight.
A referred friend only counts toward the active-team boost once they reach Level 3 and have mined within the active window. A farm of one-session-a-day throwaway accounts is worth nothing. There is also no flat payout for a signup.
The rules of the economy exist four times, in lock-step. The Dart engine is the specification; a test suite is the contract; a TypeScript port runs on the server; an in-process mock runs the real Dart engine for local development. A parity test reads the TypeScript as text and asserts its load-bearing numbers still match the Dart side.
Pure (state, action, now) → result. The spec.
Server port, runs in a Supabase Edge Function.
Runs the real Dart engine as an in-process server.
65 cases + a Dart↔TS parity diff.
Writes land through a single atomic RPC that upserts state, appends ledger rows with deduplication, and records the mutation — a claim and its referral side effects commit together or not at all. The client holds a durable offline queue: a mutation made without a connection applies optimistically, is queued with its idempotency key, and reconciles when the connection returns.
Every tunable number lives in one versioned config blob fetched and cached by the client. Retuning the economy, or starting a limited-time event, is a new config row, not an app release. The current parameter set is in the field guide.
Economy parameters are set by the operator and can change to keep the system balanced; material changes are noted in-app. There is no on-chain governance and no community treasury today — §10 is the only scenario in which that could ever change.
A redemption flow for gift cards is designed and built. It stays switched off until two independent conditions both hold, not one:
The second condition exists because a redemption pool that pays out faster than its revenue backs it isn't a feature, it's a countdown. Gating on real, measured ad revenue — not a launch date, not a Point balance, not demand — is what keeps "coming soon" from becoming a broken promise.
Once redemption is live, cashing out will require that at least 60% of the redeemed balance's lifetime provenance is ad-earned — traced from the same append-only ledger that already tags every entry by source (ad_reward, ad_double, session_claim, checkin, and so on). Earning, holding and spending Points work exactly as they do today, with no new restriction anywhere in the app; the rule applies only at the redeem screen, to the balance being cashed out. In practice this means real payouts are backed by real ad revenue, by construction — a balance built entirely from the free loop can still be spent in the Marketplace exactly as before, it simply can't be redeemed for cash. Even once live, Points are redeemed for a fixed catalogue — never cashed out at a floating price, and never traded.
Nothing in this document, the app, or its marketing should be read as a promise that Points will have value on any specific date. Today they are a rewards-program balance and nothing else. §10 states the one long-term, fully conditional exception to that sentence, and states it with the same caution.
This section describes a possibility under study, not a product, a date, or an offer. No token exists today. There is no presale, no allocation, no whitelist, and nothing to buy, stake or reserve. If that ever changes, it will only be after redemption (§9) has been running successfully, and only under the conditions below — stated now, in public, so they can't be quietly loosened later.
Two failure modes show up again and again in this genre. The first: an app spends years telling millions of people their balance will be worth something once a mainnet or a listing finally happens — a promise that keeps receding. The second, newer one: an app does list a token, fast, on the strength of hype alone, before real trading depth exists behind it — and the price collapses within days once the buyers who propped up the launch have no organic demand to sell into. Both are the same underlying mistake: treating a token as a way to create liquidity rather than something that requires liquidity to already exist. TAVEXA MINI's position is that this is a sequencing failure, not a crypto failure — liquidity has to exist before a token needs it, never the other way around.
A token would only be considered once all of the following hold, sustained for two consecutive fiscal quarters — not a single spike:
| Condition | Why it's the bar |
|---|---|
| Redemption (§9) live and operating without a backlog | proves the ad-revenue-to-payout model already works with real money, at real volume |
| A large, genuinely active user base illustrative: 250k+ monthly active accounts | real trading depth needs real people, not a number on a pitch deck |
| Verified ad revenue at meaningful scale illustrative: $50k+ / month | the same discipline as §9 — liquidity backed by revenue, not by the token's own hoped-for price |
| Full legal review in every jurisdiction offered | a token can be a regulated security depending on how it's structured and sold — a legal question before it's a product one |
The thresholds above are a starting proposal, published so the bar is public before it's ever close to being met — not a number we'll quietly move. They will be finalised with legal and financial counsel, not adjusted downward to hit a launch date.
Not investment advice. Not an offer or solicitation to buy, sell or trade any security or digital asset, in this jurisdiction or any other. Not a guarantee that a token will ever launch, that it would have any particular value if it did, or that today's Points would convert to it on any particular terms. Anyone telling you otherwise — in a chat, a group, or a "pre-sale" — is not us.
Roadmap
Phases are grouped by intent, not tied to dates. Everything in Phase 0 and Phase 1 is built and running against the deployed backend today.
The core loop and the systems that make it trustworthy.
Timed windows and reveal moments that give the player a reason to come back now.
Not a product yet — a public statement of the only conditions under which one would ever be considered. Full detail in whitepaper §10.
Field guide · config v16+
The whitepaper explains why the economy is shaped the way it is. This is the operator's reference for what — each system, its exact values, the windows that trigger it, and where it surfaces in the app.
Everything the player does resolves to Points in a single balance. Points raise their Level from cumulative lifetime earnings and count toward a redeem threshold. Three mechanics generate them; every timed window, streak and boost exists to pull the player back to one of the three.
Passive, runs with the app closed. One tap to start, one to claim.
Watch an ad, get Points on top. The revenue engine, always optional.
A flat reward that builds a streak — the retention anchor.
50-level curve off cumulative earnings. Milestones at 10 / 20 / 30 / 40 / 50.
Threshold 25,000 Points. Gift-card flow designed, switched off until a partner + tax setup lands.
Starting a session records a server-side start time and locks in the effective rate; the claim payout is computed by the server from elapsed time × locked rate, so a client can't forge the amount. Claimable once the session has run its full length (or half, with Instant Claim).
A passive session that keeps earning while the app is fully closed. Nothing runs on the phone; a local notification fires when it's ready.
Google AdMob rewarded video, verified server-side (SSV) before Points land. Reward = base × earn-multiplier × boost × ad-streak × event × luck. Rate-limited, capped, and gated on reputation so it can't be farmed.
A flat daily reward that also advances the check-in streak — a loss-aversion engine that grants a passive mining boost, unlocks milestone bonuses, and, if broken, can be bought back for a short window.
Every bonus source is summed and applied once — never compounded — so each new source has a bounded, predictable marginal effect no matter what else is running:
rate = 15/hr × (1 + Σ bonusBps / 10000)
| Source | Amount | Cap |
|---|---|---|
| Active referrals | +2% / active friend | +20% (10) + level & unlock |
| Check-in streak | +2% / day | +50% (25 days) |
| Level milestones | +5% each | +25% (all 5) |
| Equipped pickaxe | rarity + level | Obsidian maxed |
| Timed boost (Rush Hour / Overclock) | +50% / +25% | while active |
| Daily-goal boost | +10% | 3 h window (5 h w/ Go-Getter) |
| Limited-time event | admin-set | event window |
Do 4 daily activities (distinct tasks + check in + watch an ad + claim a session) and a 3-hour +10% mining boost lights. Deliberately a ticking window, not an all-day bonus — there has to be a reason to mine now. Completing it fires a celebration + a "boost is live" push, and a "30 min left" push before it ends.
A battle-pass-style track of 7 escalating rewards. Tier N unlocks once the account has checked in on N distinct days in the current ISO week; the tail tier is the "came back all week" payoff. Resets every week.
Five weekly targets that reset each ISO week. Progress accrues passively as the player uses the app; the reward is claimed once the target is hit.
| Mission | Target |
|---|---|
| Ad Marathon | watch 40 rewarded ads |
| Steady Hand | check in on 5 different days |
| Task Master | complete 20 tasks |
| Session Streak | claim 5 earning sessions |
| Big Week | earn 1,500 Points in the week |
Admin-toggled promo windows — e.g. "Weekend 2× Mining". Each is {key, title, kind, magnitudeBps, startsAt, endsAt}. kind: idle_rate adds to the mining rate alongside referral/streak; kind: ad_reward multiplies ad payouts. Toggling one is a new config version, no redeploy — the migration ships a ready SQL template. Home shows a gradient banner with a live countdown while an event runs.
A pg_cron job (every 6 h) sweeps user_state.updated_at for accounts gone quiet 3 / 7 / 14 days and sends each one one personalised FCM push per stage — copy uses their real streak count, level and balance. A lifecycle_pings table guarantees a stage never fires twice. Reuses the existing Vault secrets + FCM sender; no new infra.
A once-daily random Points reward, unlocked at Level 3. The range widens at the same level brackets as the ad cap (L3–19: 11–22 … L50+: 60–120). Go-Getter grants a second free open per day; a Mystery Key consumable buys one more. A box is also paid automatically alongside each level milestone.
Level comes from cumulative earnings across a 50-level curve — fast to ~15, steep 15→30, a genuine long-haul 30→50. The earn multiplier scales every ad and reward; early tiers also gate on streak and reputation, later tiers on level alone.
| Multiplier | Requires |
|---|---|
| ×1.00 | base |
| ×1.10 | L2 · 40 reputation |
| ×1.25 | L3 · 3-day streak · 55 rep |
| ×1.50 | L4 · 7-day streak · 65 rep |
| ×1.80 | L5 · 14-day streak · 75 rep |
| ×2.20 | L6 · 21-day streak · 85 rep |
| ×1.30 → ×3.20 | L11 / 20 / 30 / 40 / 50 — level only |
Level milestones (10 / 20 / 30 / 40 / 50) each pay a flat bonus (375 → 37,500 Points), a Mystery Box, a permanent +5% mining rate, and an upgraded profile frame: Bronze → Silver → Gold → Platinum → Legendary. The earning-team cap also grows +5 every 10 levels.
A 0–100 trust score, starting at 50. Honest play pins it at 100 within days; abuse signals bleed it. Purpose: a lightweight fraud throttle.
15 one-time achievements, evaluated on every mutation. Counter-based badges show a live progress bar and percent on the Badges screen.
| Badge | Unlock |
|---|---|
| First Step | claim your first reward |
| On A Streak / Week Warrior | 3-day / 7-day streak |
| Early Earner | claim an earning session |
| Ad Rookie / Ad Pro | watch 10 / 100 ads |
| Point Collector / Master | earn 1,000 / 5,000 Points |
| Task Explorer | complete 25 tasks |
| Connected | use or share a referral |
| Bronze → Legendary | reach Level 10 / 20 / 30 / 40 / 50 |
Invite friends with a code. There is no flat payout for a signup (that used to reward spam). The referrer earns two ways: a rev-share on the friend's ad activity, and a passive mining boost that scales with how many friends are currently active.
Chat — one room for everyone, keyed to the username, ~48 h retention, poll-based over the API seam. Links and promo text are blocked; 1.5 s send cooldown. Name colour is a cosmetic bought from the store — an owned collection you switch between for free.
Leaderboard — top 100 by weekly Points, resets each ISO week. A compact Home social strip new shows your rank, the gap to the spot above, your streak and how much of your team is active — and taps through to the full board.
The global top 100 is out of reach for a new player, so everyone also races a small league: a cohort of up to 30 on the same tier, ranked by this week’s Points. Open the League tab on the Leaderboard screen and the server places you. On Monday the top fifth of each group moves up a tier, and anyone who mined nothing drops one.
An in-app application form (Profile → "Ambassador Program", first in the list). Two kinds — represent your country or partnership — each with a thorough, decision-ready field set (main platform + link, audience band, languages, weekly commitment, experience; or company + website + role + partnership type). Only decision-critical fields are required.
Everything buyable with Points that isn't a pickaxe. Pickaxe purchases and store spends are the only actions that subtract Points. Three consumable / timed keys rotate onto a −25% daily deal.
| Item | Kind | Price | Effect |
|---|---|---|---|
| Streak Freeze | consumable | 720 | bridge one missed streak day |
| Double Mining | consumable | 540 | ×2 the next session payout |
| Instant Claim | consumable | 360 | skip a session's back half |
| Mystery Key | consumable | 450 | one extra Mystery Box today (L3+) |
| Rush Hour | timed | 450 | +50% mining for 1 h |
| Overclock · 24h | timed | 2,700 | auto-restart + +25% for a day |
| Overclock · 7d | timed | 13,500 | same, for a week |
| Extended Sessions | unlock | 7,200 | sessions run 6 h |
| Marathon Sessions | unlock | 18,000 | sessions run 8 h |
| Bigger Team | unlock | 10,800 | +10 active-teammate cap |
| Go-Getter | unlock | 4,500 | 5 h daily-goal boost + 2nd Mystery Box |
| Avatar frames ×4 | cosmetic | 3.6k–9k | Ocean / Forest / Sunset / Royal ring |
| Pickaxe skins ×6 | cosmetic | 2.7k–13.5k | recolour the equipped pickaxe |
| Chat name colours ×12 | cosmetic | 1.4k–10.8k | owned collection, free to switch |
Mining tools bought once with Points, then upgradable through levels. The equipped pickaxe's bonus folds into the mining-rate stack. Wood is owned from the start.
| Pickaxe | Rarity | Price |
|---|---|---|
| Wooden Pick | common | — starter |
| Stone Pick | common | 450 |
| Iron Pick | uncommon | upgrade path |
| Gold Pick | rare | upgrade path |
| Diamond Pick | epic | upgrade path |
| Obsidian Pick | legendary | upgrade path |
Upgrade cost scales price × 0.6 × currentLevel (min 200). Also on the Marketplace: sponsored / partner tasks that submit a link or handle for manual approval, then pay a flat credit.
Five bottom-nav tabs in a stateful shell, plus pushed screens.
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41
9:41Renders of the shipping UI with a demo account — sample numbers only.
The rules of the economy exist four times, in lock-step. The Dart engine is the spec; a test file is the contract; the TypeScript port and the in-process mock must match it — a parity test diffs their load-bearing numbers.
Pure (state, action, now) → result. The spec.
TS port for the Supabase Edge Function.
Runs the real Dart engine as an in-process "server".
Unit tests + a shared Dart↔TS parity-vector suite.
Every economy constant lives in one remote-config blob, fetched and cached by the client. Retuning is a new row in economy_config — no app release.
| Key | Value |
|---|---|
| adRewardBase | 9 |
| adMinGapSeconds | 25 |
| boostWindowSeconds | 900 |
| boostMultiplierBps | 15000 |
| boostAdsRequired | 4 |
| adDoubleBonusBps | 6000 |
| checkinReward | 11 |
| checkinCooldownSeconds | 21600 |
| idleSessionSeconds | 14400 |
| idleRatePerHour | 15 |
| streakMilestones | 3 … 365 days |
| levelThresholds L2 / L3 | 250 / 700 |
| referralActivation (inviter / friend) | 100 / 50 |
| eventSchedule | Fri idle +50% · Sun ads +30% |
| dailyTaskGoal | 4 |
| reputationStart / Max | 50 / 100 |
| refereeBonus | 55 |
| referralRevShareBps | 1000 |
| referralBoostPerActiveBps | 200 |
| referralBoostMaxActive | 10 |
| weeklyPassRewards | 15 … 225 |
| events | [ ] |
| minRedeemPoints | 25000 |
Deliberately not built: a live token, a presale, or any promise of guaranteed value — the actual, conditional long-term plan is whitepaper §10, published precisely so it can't quietly become more than that; multi-level referral commissions; forced or deceptive ad gating. The latter two are Play-Store and AdMob risks on their own, independent of the token question.
Not today. There is no token and no blockchain live right now. Points are in-app rewards with no monetary value. A gift-card redemption flow is built and switches on once the operational and ad-revenue conditions in whitepaper §9 are both met — and even then Points are redeemed for a fixed catalogue, never cashed out at a floating price or traded. A longer-term liquidity option is a fully conditional, later-stage idea with its own strict gate, set out in whitepaper §10; it is not live, not funded, and not something to buy into today.
Yes. The session records its start time on the server; the payout is computed from elapsed time when you claim. Nothing runs on your phone, and you get a notification when it's ready.
No. Ads are optional and pay Points on top of everything else. The full loop works without them — you just earn slower.
A username (optionally an email), a push-notification token, and your in-app economy data. Rewarded ads use Google AdMob, which processes an advertising identifier. Full detail in the Privacy Policy. Nothing is sold.
Server-authoritative payouts, deterministic idempotency on every write, a ledger replay guard, a reputation-based throttle, and a level-and-activity gate on referral rewards. See whitepaper §7.
Blog & Dev Notes
Feature tours, design calls, engineering trade-offs — written by the people building the economy, not a marketing team pretending to be them. Each one's its own page; pick what you're curious about.
Five tabs, a dozen systems, one balance. Here's what each one actually does.
DesignEvery mechanic pulling you back, and why none of them needed a dark pattern to work.
StoryMorning notification to evening leaderboard check — one ordinary day, in Points.
Feature TourWood to Obsidian, and why upgrading one is oddly satisfying.
Feature TourOne room, one weekly board, and why neither one needed to be complicated.
PolicyThe staged, public plan for redemption and, much later, a possible token — with the exact conditions attached up front.
PolicyNo say over what it looked at, no veto over what got published. What came back, and what we did about it.
EconomyWe nearly shipped compounding multipliers. Here's the spreadsheet that talked us out of it.
DesignLoss aversion works. Most apps use it cruelly. We tried not to.
EngineeringA trust score that forgives normal play and remembers abuse.
EngineeringHow a Dart spec, a TypeScript port, a mock server and a test suite never quietly disagree.
DesignSame shape as the genre's favourite retention tool, opposite incentive.
CommunityTwo tracks, one form, and exactly what we do and don't promise applicants.
Dev LogAd streaks, a weekly pass, win-back pushes — and the list of things we still won't build.
Five tabs on the bottom, a dozen systems underneath, and exactly one balance that all of them feed. Here's what each screen is actually for.
Open the app and you land on Home — your rig's dashboard. The mining ring tells you what's running and what it's worth right now; if a limited-time event or a boost is live, it's the first thing you see, not something buried three taps deep. A social strip shows your leaderboard rank and how far the next spot up actually is, in Points, not vibes.
Your rig, your rank, your rate — one screen, no digging.
Start a session, watch an ad, see your multiplier and your rate stack broken down.
Daily tasks, weekly missions, badges and partner offers — and the streak calendar.
Every credit, every source, a 7-day trend and a redeem-progress bar.
Pickaxes, timed boosts, permanent unlocks, cosmetics — the only place Points leave.
Invite friends; every one actively mining adds a real, visible rate bonus.
One room, everyone in it, a username colour you actually bought.
Top 100, weekly, resets clean — no account can camp the top forever.
Level, frame, badges, settings — and the Ambassador application, first in the list.
None of these screens exist to keep you scrolling for its own sake. Rewards groups everything you can do today; Wallet answers "where did my balance come from"; Marketplace is the only place it can go. The whole shell is built as a StatefulShellRoute, so switching tabs never loses your scroll position or resets a running countdown — the mining ring on Home keeps ticking whether you're looking at it or three tabs away.
The easy version of this app is one button that says "claim." We built nine screens instead because each one answers a different question a real player actually asks: what am I earning right now (Home), how do I earn faster (Earn), what's left to claim today (Rewards), where did all this come from (Wallet), what can I spend it on (Marketplace), who's helping me and who am I helping (Earning Team), is anyone else here (Chat, Leaderboard), and who am I in this (Profile). Cut any one of those and a real question goes unanswered — that's the test we used to decide what earned a tab and what got folded into a detail screen instead.
A rewards app with a dozen systems and no map is just a dozen confusing systems. The tour above is the map.
"Engagement" has a bad reputation, mostly earned. Here are the five mechanics actually doing the pulling in TAVEXA MINI, and why we're comfortable naming every one of them out loud.
Every one of the five mechanics below is engineered to make you want to open the app again soon. That's not a confession — it's the job description of any rewards product. What matters is whether the mechanic still looks fine once you understand exactly how it works. Read each one as if we're explaining it to you before you've used it, because that's genuinely how we designed it.
A real, visible 15-minute window where ad rewards run +50%, counting down on the Earn tab. The pull is exactly as strong as the number on screen — no hidden multiplier, no "sometimes it's better, you'll never know when."
Seven tiers, one unlocked per distinct check-in day. The pull isn't "grind harder today," it's "there's a reason to open the app tomorrow specifically" — a hook that rewards a habit, not a session length.
Consecutive ad days add +2% each, up to +20%. Watch one ad and a countdown opens to add 60% to that exact reward with one more. Both expire on a real clock, both pay out the stated amount — no escalating requirement, no bait-and-switch.
A "Weekend 2× Mining" banner, when one runs, shows up on Home with a countdown and nowhere else to hide it. It's honest about being temporary because it's built to literally stop existing when the timer hits zero.
Go quiet for three, seven or fourteen days and we send exactly one push per stage, built from your actual state — your real streak, your real level. Not "we miss you." A nudge built from truth, sent once, not a drip campaign.
Every hook on this list tells you the truth about what it does. That's the whole design brief.
Engagement mechanics aren't inherently manipulative. The line is whether the player, shown exactly how the mechanic works, would still feel fine about it. Every one of the five above passes that test, on purpose.
Not a hypothetical persona — the exact sequence of taps and numbers a genuinely active account sees over one ordinary day.
This isn't a hypothetical persona built for a pitch deck. It's the literal sequence of screens, taps and numbers a real, moderately active account moves through on an ordinary weekday — six separate moments, none of them requiring more than a few seconds of attention.
A notification: the session is done. The ring is full, and the button has already flipped to a pulsing CLAIM NOW · +140. One tap. A shower of coins animates toward the balance, and a fresh session starts on its own — Overclock is still active from last week's purchase.
+11 Points, and the streak strip ticks over to day 13 — +26% now folded permanently into the mining rate. The Weekly Pass card shows day 3 of 7 lit, one more tier waiting.
One rewarded ad — the fourth today, so the Boost Window lights, +50% on ad rewards for 15 minutes. A sheet slides up: Boost it?, a 180-second ring counting down. One more ad. +24 instead of +15.
Two friends mined today; the rate breakdown shows Team at +4%, next to Streak at +26% and Pickaxe at +12%. The whole stack, laid out, sits at 275% of base — exactly why the effective rate reads what it reads.
#482 this week, 160 Points from #481. Global Chat is mid-conversation about who's opened a Diamond pick yet. Not yet — the Marketplace screen shows exactly how close.
None of this required a single decision that felt like it was being made for you. Every number on every screen was one you'd already seen coming.
That's the actual design goal behind all of it: a day where the app is worth opening five or six separate times, and every single one of those visits pays out something real and legible, whether it's 11 Points or 140.
Six tools, a rarity ladder, and an upgrade curve — the one part of TAVEXA MINI that plays like a collection game, sitting directly on top of the mining rate that actually matters.
Everyone starts with a Wooden Pick, free, day one. From there the ladder climbs through Stone, Iron, Gold, Diamond, to Obsidian — common to legendary, exactly the rarity vocabulary you'd expect from a loot-driven game, except every step is bought outright with Points you earned mining, not with a currency you had to buy.
Buying a pickaxe is only step one. Each one upgrades through levels afterward, at a cost that scales with price × 0.6 × currentLevel — cheap early, deliberately real by the time you're pushing a Diamond pick toward its cap. The pickaxe you have equipped folds its bonus directly into the mining-rate stack described in the rate-math post; it isn't cosmetic, it's one of the five real levers on your effective rate.
Six pickaxes, one visible rarity ladder, starting piece free.
A real cost curve tied to the pick's own level, not a random gate.
Six cosmetic skins recolour the equipped pick without touching the rate.
Skins — six of them, priced 2,700–13,500 Points — sit entirely apart from the upgrade ladder. They exist so spending Points always has somewhere satisfying to go, even once your rate is already where you want it, and buying one never touches your actual earn rate one way or the other.
A collection loop only feels good when the thing you're collecting also does something. Ours mines faster.
The Marketplace tab is also where sponsored partner tasks live — follow a channel, submit a link, get reviewed, get paid — a completely separate reward stream that happens to sit next to the pickaxe shelf because they're both "spend a minute here, come back with something."
An idle-mining app doesn't need a social network. It needs one room and one scoreboard, both honest, and both worth glancing at more than once a day.
Global Chat is exactly one room — not per-country channels, not a wall of servers to pick between. Everyone lands in the same conversation, keyed to a username, with roughly 48 hours of history so it stays a live conversation instead of an infinite scroll. Links and obvious promo text get filtered automatically, and a 1.5-second send cooldown keeps it from turning into a wall of spam the moment it gets busy. The one cosmetic touch: a name colour, bought from the store, from a collection you own and can switch between for free once purchased — small, but it's the one place your Marketplace spending shows up to other people.
The Leaderboard is just as deliberately simple: top 100 by Points earned that week, resetting clean every ISO week. Nobody camps the top forever, because the board itself forgets last week ever happened the moment a new one starts. A compact social strip on Home shows your current rank and the exact Point gap to the account above you — not a vague "you're doing great," a real number you can decide to close today.
No servers to pick, no channel to find — everyone lands in the same place.
Long enough to catch up, short enough to stay a live conversation.
Top 100 by Points, no account camping the top forever.
Together, chat and the leaderboard are the only two screens in the app where you're looking at other people instead of your own numbers. We kept both of them small on purpose: big enough to feel alive, small enough that a person who opens the app once a day for the mining loop never feels like they're missing a second app's worth of social obligation layered on top. Neither one has notifications of its own, unread badges, or a reason to pull you in beyond what's actually there when you look.
A leaderboard that never resets rewards whoever showed up first. A leaderboard that resets weekly rewards whoever showed up this week — which is a much more interesting group of people to compete against.
Every rewards app eventually gets asked "so when can I cash out?" We have a real, staged answer — and we're publishing the exact conditions for every stage of it now, before any of them are close to being met.
The honest answer, today: Points are an in-app balance with no cash value. They raise your Level, they unlock milestones, and that's it right now. There's a real plan for what comes after "right now" — two stages, each with its own hard, public gate — and this post is that plan, in full, including the parts that are years away and might not happen at all.
No exchange, no floating price, no promise the balance is worth more tomorrow than today.
A fixed-catalogue gift-card redeem first (whitepaper §9); a conditional token discussion only after that (§10).
We looked hard at how this genre usually goes, because we didn't want to repeat either of its two standard mistakes. The first: an app spends years telling millions of people their mined coins will be worth something once a mainnet finally launches — a promise that keeps receding and never quite arrives. The second, more recent one: an app does ship a token, fast, riding pure hype into a listing before any real trading depth exists behind it, and the price collapses within days once the users who propped up the launch have nothing organic to sell into. Both fail for the same reason — treating a token as the thing that creates demand, instead of something that needs real demand to already exist. We're not interested in either version.
A rewards program that names its conditions before it needs to can't quietly move the goalposts later — the goalposts are already public.
So here's the actual, two-stage plan, stated as plainly as we can state it, with every gate a matter of measurable fact rather than a vibe or a launch date:
Gift-card redemption turns on once a payout partner and per-region legal/tax work are done, and verified rewarded-ad revenue reliably covers what redemption would pay out, with margin, over a sustained period — not a single good week. On top of that, cashing out will require that at least 60% of the redeemed balance's lifetime provenance is ad-earned, traced straight from the ledger. Spending and earning Points don't change at all; the rule only applies at the redeem screen. This is what keeps the payout pool solvent by construction, instead of by hope.
Only after stage one has run cleanly for a while would a token even enter the conversation — and only once there's a large, genuinely active user base and verified ad revenue at real scale, sustained for two consecutive quarters, plus a full legal review in every jurisdiction it would touch. No presale, no whitelist, no allocation exists today, and none will be announced before those conditions are actually met. The exact thresholds are in §10, published now specifically so they can't be revised downward later just to hit a launch date.
Some players want a payout today and will go find one elsewhere. We accept that. The trade is a product that can be honest about its own economics and its own timeline, instead of one that has to keep a story going to survive. If either stage ships, it'll be because the numbers and the paperwork are actually there, not because enough people asked.
Nothing about demand, on its own, moves either one. For redemption: a signed payout partner, completed legal review per region, and ad revenue that measurably covers the liability. For a token: everything in §10's table, all at once, sustained, reviewed by counsel. Until then, this post and the whitepaper are the entire plan — not "we heard you," which isn't the same thing as "it's compliant," and not a date, because we don't have one to give.
We asked for an outside pass at TAVEXA MINI's backend, database and economy, with no say over what it looked at and no veto over what got published. Here's what came back, and what we did about it.
In September 2026 we commissioned an independent technical and economic review of TAVEXA MINI — the backend, the database, the client, and the economy's own numbers. We're not naming the reviewer; what matters here is the method and the result, not the byline. The scope: read-only queries against live production data, a full pass over the source, and re-verification of every claim before it went in the report. Nothing was changed or fixed during the review itself, and no secret or credential was written into it — only where each one lived, for us to rotate.
A single-developer codebase that had never been read by someone trying to find where it breaks.
Every item below either shipped a fix the same week or is tracked, by name, on the public roadmap.
We're publishing this because the alternative — fixing things quietly and saying nothing — is exactly the kind of silence we've said elsewhere we'd rather not practice. A report you never see protects nobody but us.
We're not going to pretend everything on the list is closed. Rewarded-ad verification enforcement is being hardened before it's switched fully on — tracked as its own line in Phase 2. A handful of items are ours to do by hand rather than ship in code: rotating a set of development secrets, and finishing the production app packaging a real store listing requires. None of it is hidden because none of it is finished — it's on the roadmap because it isn't.
The value of an audit isn't the list of things that were wrong. It's whether the list is still readable a year later, next to what actually happened about it.
We don't think one review makes a product trustworthy forever. What we're committing to is the pattern: keep asking someone to try to break it, keep publishing what they find, and keep this specific post open to being wrong later if a future review contradicts it. That's a harder standard than "audited," and it's the only one we think is worth anything.
An early build of the mining rate multiplied every bonus together. It looked fine with two bonuses active. It looked insane with six.
Here's the version we almost shipped: a +50% streak bonus, a +20% team bonus, a +25% pickaxe bonus and a +50% timed boost, all multiplying the base rate in sequence. Add a fifth bonus and the number stops being something a player can estimate in their head. That's the actual problem: not that the number gets big, but that nobody — including us — can look at their own account and predict what happens when the next bonus source is unlocked.
Four bonuses multiplied in sequence — a 237% jump from sources that sound modest individually.
20 × 1.5 × 1.2 × 1.25 × 1.5
The same four sources, summed once — a predictable, legible 175% of base.
20 × (1 + 1.45)
The fix was to stop multiplying and start adding, in basis points, once:
rate = 15/hr × (1 + Σ bonusBps / 10000)
The same five sources maxed out — streak, team, level milestones, pickaxe, a timed boost — sum to roughly 275% of base, not 800%+. More importantly, every source's marginal contribution stays exactly what it says on the label: a +2%-per-day streak bonus adds 2% each day, forever, whether you have zero other bonuses running or all of them.
An economy where a player can compute their own ceiling on a napkin is an economy that feels fair, even to the player who hasn't maxed it out yet.
We kept exactly one exception in mind while designing this, and then didn't use it: Lucky Strike and Lucky Ad multipliers (×1.5 to ×3, rolled server-side on a single claim) stay multiplicative, because they're a one-shot dice roll on a single payout, not a standing rate modifier. Multiplying a one-time roll doesn't compound into anything — it resolves and it's done. The rule we actually follow is narrower than "never multiply": it's "never let two standing bonuses multiply each other." Everything in the whitepaper's rate table follows from that one line.
Loss aversion is real and it works. It's also the mechanic most responsible for making people feel bad about apps they otherwise like.
The classic version, which you've almost certainly used, is a single missed day wiping a streak counter back to zero. It's effective — nobody wants to lose a 40-day chain — and it's also the single most common source of "I deleted the app after I missed one day and lost everything" reviews across the genre. We wanted the retention pull without inheriting that specific resentment.
Three decisions got us there:
A missed day with no Streak Freeze costs seven days. A 40-day run drops to 33.
Buy the exact days back, cost scaling with what's restored (600–12,000 Points).
Not a bare counter — the month, the ticks, the ninth actually looks like the ninth.
A number going up is an abstraction. A calendar with gaps in it is a memory.
We didn't add a way to buy an unlimited streak-freeze subscription, and we didn't make the repair cost trivial. Both would have quietly turned "don't break the chain" into "pay to never think about it," which defeats the point of having a streak in the first place. The mechanic is supposed to reward showing up, not reward spending enough to skip showing up.
The seven-day decay only covers a single slip. Miss two full days in a row with no Freeze active and the streak resets to one — the repair window still opens, but it's now repairing from a much smaller base, which is the honest trade-off of a forgiving-once system: it forgives once, not indefinitely.
The easy version of ad-fraud prevention treats every player like a suspect. We wanted a system that mostly forgets you exist — right up until you do something that looks like abuse.
Every account starts at 50 reputation, on a 0–100 scale. Ordinary play — a check-in, an ad watched, a session claimed, a streak milestone hit — nudges it up by one to four points, clamped at 100. Within a few days of normal use, an honest account sits at the ceiling and never thinks about the number again. That's the part we care about most: the score should be invisible to everyone who isn't doing something wrong.
Two things pull it down, and only two: a replayed mutation (the same write, resent as if it were new) and an ad token that belongs to someone else's account. Each costs three points. Below 20 reputation, ad earning stops outright; between 40 and 85, the early earn-multiplier tiers stay locked. That's the entire penalty surface — no shadow bans, no silent throttling triggered by "unusual" but legitimate play patterns like watching several ads in a row after a long break.
A fraud system that occasionally flags real players isn't a fraud system with a bug. It's a fraud system with the wrong design.
Reputation catches patterns; three other mechanisms catch the individual events:
A retried request returns the cached result instead of a second credit.
Every entry has a deterministic id; the ledger enforces uniqueness on it.
An ad credit only lands after AdMob's own callback confirms the impression.
None of this requires the player to notice it exists, which is exactly the point — a fraud layer that shows itself has usually already failed at its actual job.
The scariest bug class in a rewards economy isn't a crash. It's the client and the server quietly agreeing on the wrong number.
The client needs to show you something the instant you tap "claim," before a round trip to the server completes — that's the whole point of an optimistic UI. But the server is the only party allowed to actually decide what you earned. Those two facts are in tension unless the client's guess and the server's truth are computed by rules that are provably the same rules. Our answer was to stop treating that as a documentation problem and start treating it as a lock-step problem.
Pure (state, action, now) → result. The specification, not a description of it.
A line-for-line port that runs inside the Supabase Edge Function — the actual authority.
Runs the real Dart engine in-process, so local development never touches a fake ruleset.
Reads the TypeScript source as text and asserts its load-bearing numbers still match the Dart side.
The interesting piece is the last one. Most cross-language ports drift silently: someone tunes a constant in one file, forgets the other, and the bug sits there until a support ticket surfaces it weeks later. Our parity test doesn't run the TypeScript — it reads it as a string and greps for the numbers that matter (a rate constant, a cap, a formula's shape) and fails the build the moment either side changes without the other. It's a blunt instrument on purpose. Blunt instruments are the ones you don't have to remember to use correctly.
We didn't want "the client and server agree" to depend on two engineers remembering to update the same number in two files on the same day.
The other unusual choice: local development doesn't run against a simplified stand-in economy. The mock API client runs the actual Dart engine in-process, so a feature built and tested entirely offline behaves identically to production the moment it's pointed at the real backend. One line swaps the client implementation. Nothing about the rules changes.
It's caught real bugs, not hypothetical ones — a streak-repair calculation that briefly disagreed between the Dart and TypeScript sides during the Phase 1 push shipped fine specifically because the parity test failed the build before it reached a device. That's the entire value proposition in one sentence: the boring test that fails loudly in CI is cheaper than the interesting bug report that arrives from a real account three weeks later.
It has tiers, a ladder of rewards, and a reveal moment at the end — the shape of a battle pass. The incentive underneath it is the opposite of one.
A battle pass, in the genre that popularised the term, rewards hours logged: grind a season's worth of matches or missions, or pay to skip the grinding. Ours rewards a much smaller, much more specific thing — showing up on a distinct day. Tier N of the seven-tier ladder unlocks the moment you've checked in on N different days in the current ISO week. There's no way to grind it open faster by playing longer in a single sitting, and there's no way to buy a tier you haven't earned.
That constraint was intentional. The check-in streak already rewards consecutive days; the Weekly Pass rewards the same behaviour on a shorter, resetting clock, so a broken long streak isn't the only thing worth coming back for — a fresh Monday is too. The tail tier, at 300 Points, is specifically the "came back all seven days" payoff, sized to be worth noticing without being worth changing your week around.
The reward for showing up should scale with showing up, not with how long you're willing to sit there once you have.
No premium track, no Points-to-skip-a-tier purchase, no cosmetic-only "free" ladder next to a "real" paid one. If we ever add a paid pass, it'll be a different, clearly-labelled thing — not this one, quietly split in two.
The application form is longer than most in-app forms get away with. That's deliberate — we'd rather ask for detail up front than review a form that tells us nothing.
The Ambassador & Partnership program has two tracks, and the form branches depending on which one you pick.
Your main platform and a link to it, an audience-size band, the languages you post in, how many hours a week you can realistically commit, and any relevant experience — the fields a reviewer actually needs to say yes or no.
A company name, a website, your role there, and the kind of partnership you're proposing — enough for a reviewer to understand what working together would actually look like.
After you submit, the application lands in a review table with a status — Submitted, In review, Accepted, Declined — that you can track from a "My applications" screen in-app, along with any note a reviewer leaves. We don't auto-approve either track; a person reads every submission.
We'd rather tell an applicant "not yet" honestly than tell them "yes" and mean "maybe, we'll see."
Acceptance isn't a job offer, a guaranteed payment, or a promise of a specific reward — the program is still early, and we're upfront about that in the form itself. What it is: a real, tracked way to say "I want to help this grow in my country" or "I want to explore working together," and to have that go to an actual person instead of a support inbox.
A short form is easy to fill out and impossible to act on. Asking for an audience-size band and a weekly-hours commitment up front means a reviewer can say "yes, and here's what to expect" on the first pass, instead of a back-and-forth of follow-up questions that quietly discourages everyone except the most persistent applicants — which is exactly the opposite of who a program like this should select for.
Foundation was Phase 0 — the economy, the auth, the core loop. Phase 1 was about giving that loop a reason to pull you back on a given hour, not just a given day.
Phase 0 was the foundation — the economy, the auth, the core loop, the anti-fraud plumbing. Phase 1 was about giving that loop a reason to pull you back on a given hour, not just a given day. Here's what actually shipped, and what we fixed alongside it.
A roll on rewarded video (×2 about 8% of the time, ×3 about 2%), a streak that stacks +2%/day to +20%, and a 180-second window to add 60% to any single credit.
One tier unlocked per distinct check-in day, resetting every ISO week — the design rationale is its own post.
A promo window that lights from a new config row, not a code change — and disappears the same way when the timer ends.
Personalised D3 / D7 / D14 nudges built from each account's real streak, level and balance — not a generic "we miss you."
A monthly calendar rebuild of the streak strip, a Dart↔TS streak-repair parity fix, a daily-goal correction (five was quietly unreachable; it's four now), and a real notification icon after a placeholder shipped by mistake.
The features that show up in a changelog and the bugs that get fixed alongside them are usually the same amount of work. Only one of them makes it into the announcement.
No hint, anywhere, that Points become money or crypto later. No multi-level referral commissions — a referrer earns from the friends they invited directly, not from a downline. No forced or deceptive ad gating. Each of those is a fast way to grow a number in a spreadsheet and a fast way to get an app pulled from the Play Store, or worse, to genuinely deserve it.
Phase 2 is launch readiness: the Play Store listing, the legal review this site's Privacy Policy and Terms keep flagging as drafts, and production ad configuration. Phase 3, after that, is where the Ambassador program above starts to matter at scale.
Legal
Last updated 20 September 2026 · Türkçe özet (KVKK)
This policy explains what personal data the TAVEXA MINI app (“the App”, “we”) processes, why, and what choices you have. It covers the mobile app and this site.
The controller is the operator of TAVEXA MINI. Contact for privacy requests: feedback@tavexa.app.
| Category | What | Why |
|---|---|---|
| Account | E-mail address, username, password (stored only as a salted hash by our authentication provider), sign-in method (e-mail or Google) | Create and secure your account |
| Gameplay | Points balance, ledger of rewards, level, streaks, mining sessions, in-app store purchases, referral relations, partner-task submissions (the username or link you submit) | Run the rewards economy, prevent fraud |
| Device & notifications | Push token, platform, app version, time-zone offset, notification preferences | Deliver the reminders and announcements you enabled |
| Network | IP address — used briefly for abuse throttling and not stored in your profile | Security and anti-abuse |
| Advertising | Google AdMob may process your advertising ID and ad interactions, subject to your consent choices (consent form and privacy options in Settings) | Show rewarded ads and verify rewards |
| Diagnostics & usage | A pseudonymous in-app event log (screens, claims) and crash or error reports linked to your account id | Fix bugs, improve the App |
| Community | Chat messages (kept about 48 hours), reports you file, users you block; your Telegram account id if you choose to link it, and Telegram reminders only if you turn them on with /notify on in the bot | Operate chat and community tasks, moderation |
| Applications | Details you submit in the Ambassador / Partner form | Review your application |
| Launch waitlist | E-mail address (and the invite code, if you arrived through an invite link) when you ask to be notified at launch | Send you one e-mail when the app is live |
We do not collect precise location, contacts, photos or microphone data.
Contract (providing the App you signed up for), legitimate interests (security, fraud prevention, diagnostics), and consent (personalised advertising, push notifications, optional Telegram linking). You can withdraw consent at any time in Settings or your device settings.
Account and gameplay data are kept while your account exists. Chat messages are deleted automatically after roughly 48 hours. Diagnostics and event logs are kept for up to 90 days. When you delete your account, all personal data listed above is deleted, except records we must keep by law.
You may request access, correction, export, restriction, objection or deletion of your data, and lodge a complaint with your data-protection authority. In the app: Settings → Account → Delete account. Or see how to request deletion. Otherwise email feedback@tavexa.app.
The App is not directed to children and you must be at least 16 years old. We do not knowingly process data of younger users; if you believe a child has registered, contact us and we will delete the account.
Data is encrypted in transit and access to production data is restricted. Some processors may process data outside your country under appropriate safeguards, such as standard contractual clauses.
We may update this policy. Material changes are posted here and announced in the App.
Veri sorumlusu: TAVEXA MINI işleticisi · feedback@tavexa.app.
İşlenen veriler: e-posta, kullanıcı adı, şifre (yalnızca hash olarak), puan ve ödül geçmişi, seviye ve seri bilgileri, mağaza işlemleri, cihaz ve bildirim bilgisi (push token, platform, uygulama sürümü, saat dilimi), reklam kimliği (onayınıza bağlı), anonim kullanım ve hata kayıtları, sohbet mesajları (yaklaşık 48 saat), isteğe bağlı Telegram hesabı kimliği ve ortaklık başvuru bilgileri.
Amaçlar ve hukuki sebepler: hesabınızın oluşturulması ve sürdürülmesi (sözleşmenin kurulması ve ifası), güvenlik ve kötüye kullanımın önlenmesi (meşru menfaat), kişiselleştirilmiş reklam ve bildirimler (açık rıza).
Aktarım: Supabase (barındırma ve kimlik doğrulama), Google (AdMob, Firebase, Google ile giriş), Telegram (yalnızca bağlanırsa). Veriler yurt dışında işlenebilir; uygun güvencelerle korunur.
Haklarınız (KVKK md. 11): verilerinize erişme, düzeltme, silme, işlemeye itiraz ve şikayet hakları. Uygulama içinden: Ayarlar → Account → Delete account. 16 yaşından küçükler uygulamayı kullanamaz.
Legal
Last updated 20 September 2026
By creating an account or using TAVEXA MINI you agree to these terms and to our Privacy Policy. If you don’t agree, don’t use the app.
You must be at least 16 years old, and 18+ for the ambassador or partnership program.
Points are a virtual, in-app currency used for progression, the in-app store and leaderboards. Points have no cash value and are not money, securities or crypto-assets. Cash-out or gift-card redemption is not available unless and until we announce it in the App. Any future redemption will be subject to separate conditions, availability, verification and limits, and Points may be adjusted or expire as described in the App.
One account per person. You must not use bots, emulators, automation, multiple accounts, self-referrals, VPN or IP tricks, modified apps, or exploit bugs to earn Points, and you must not manipulate ads or task verification. We may withhold, reverse or reset Points and suspend or delete accounts that break these rules, without prior notice where necessary to protect the service.
Rewarded ads are optional. Rewards are credited after server-side verification and may be limited by daily caps, cooldowns and eligibility. Availability and amounts can change.
Some tasks ask you to follow or join third-party services and submit proof. Submissions are reviewed manually; false or duplicated submissions are rejected. Rewards are paid only after approval. Follow the rules of the third-party platform.
Do not post illegal, hateful, harassing, sexual, scam or spam content, personal data of others, or links to unsafe sites. Messages may be removed and repeat offenders muted or banned. You can report and block other users.
You keep ownership of content you submit but grant us a limited licence to host and display it to operate the service.
The App is provided “as is”. We may change, pause or discontinue features, the economy and rewards, or require an app update, to keep the service safe and sustainable.
You can delete your account at any time in Settings → Account (or see how to request deletion). We may suspend or terminate accounts that violate these terms.
To the extent permitted by law we are not liable for indirect or consequential loss, loss of Points, or interruptions outside our reasonable control. Nothing limits liability that cannot be limited by law.
These terms are governed by the laws of the operator’s country of establishment. Contact: feedback@tavexa.app.
Legal
Last updated 20 September 2026
You can delete your account and personal data at any time. Points cannot be recovered afterwards.
If you can’t open the app, send a request from the e-mail address of your account and we will delete the account within 30 days.
Your profile, e-mail, username, points and reward history, purchases, referral links, partner-task submissions, chat messages and blocks, push tokens, Telegram link, diagnostics and analytics tied to your account, and your sign-in record.
Minimal records we are legally required to keep — for example, records needed to handle fraud or legal claims — for the period the law requires. See also the Privacy Policy and Terms of Use.
The link may be old, or mistyped. Everything that does exist is one click away.