by EmpowerTours

TURBO

The launchpad to NITRO.
Train. Build. Fund.

12
Months
LATAM
First
AI
Powered
$500K
USD via NITRO
What is TURBO

Your 12-month runwayto Web3 mastery.

TURBO is EmpowerTours' intensive 12-month program designed for aspiring Web3 founders in Latin America. Go from idea to product — with mentorship, community, and real support behind you.

The end goal? Graduates emerge ready to apply for Monad's NITRO, which awards $500,000 USD per team. TURBO is the training ground. NITRO is the destination.

Community-powered
A collective of builders funding and supporting each other
NITRO-aligned
Curriculum mirrors what NITRO selectors look for
LATAM-first
Built for Latin American founders, taught in Spanish & English
Program Structure

Three phases. One trajectory.

Months 1 – 4
01

Foundations

  • Web3 fundamentals & Monad ecosystem
  • Product discovery & validation
  • Smart contract development basics
  • Team formation & culture building
Months 5 – 8
02

Build & Ship

  • MVP development sprints
  • User acquisition strategies
  • Tokenomics & governance design
  • Technical architecture reviews
Months 9 – 12
03

Scale & Demo

  • Growth hacking & metrics
  • Pitch deck refinement
  • Demo Day preparation
  • NITRO application coaching
Membership Tiers

Choose your level.

Every tier gets you closer to NITRO. Your monthly contribution fuels the community pool that funds graduating founders.

Tier 1

Explorer

$50MXN/mo
  • Community access
  • Weekly workshops
  • Discord channels
  • Monthly AMAs
Join as Explorer
Tier 3

Founder

$500MXN/mo
  • Everything in Builder
  • Direct funding eligibility
  • VC introductions
  • Demo Day slot
  • NITRO application support
Join as Founder
The Pipeline

From TURBO to NITRO.

TURBO
By EmpowerTours
  • 12-month program
  • Community-funded
  • Mentorship + community
  • LATAM-focused
NITRO
By Monad
  • 3-month elite program
  • $500,000 USD per team
  • 15 selected teams worldwide
  • Top-tier VC access
Funding Model

Community-powered capital.

TURBO is not venture-backed. It's collectively funded by its own members. Every monthly payment feeds the Founders Club pool.

500,000
MXN Founders Club Pool
340
Members contribute
12
Months of payments
~5
Founders funded
95%
Community Pool5% Treasury

Each graduating founder receives ~100,000 MXN from the community pool to launch their project.

On-Chain Transparency

Every peso on the blockchain.

TURBO runs on a verified smart contract on Monad. All payments, pool balances, and founder distributions are publicly auditable. No trust required — just code.

01

Member Pays

Monthly WMON payment via payMonthly(). Soulbound NFT membership card minted on first payment.

02

Funds Split

95% goes to the Community Pool held in the contract. 5% goes to the EmpowerTours treasury.

03

Founders Funded

After 12 months, graduating founders are selected and receive WMON directly from the pool.

The Math: How We Reach 500,000 MXN
Explorer
MXN/mo$50
WMON/mo139
Target members200
Builder
MXN/mo$200
WMON/mo556
Target members100
Founder
MXN/mo$500
WMON/mo1,389
Target members40
200 Explorers × $50 × 12 mo120,000 MXN
100 Builders × $200 × 12 mo240,000 MXN
40 Founders × $500 × 12 mo240,000 MXN
Total collected600,000 MXN
Treasury (5%)-30,000 MXN
Community Pool (95%)570,000 MXN
~5 graduating founders × ~100K each~500,000 MXN
Remaining buffer~70,000 MXN
Code Walkthrough: TurboCohortV6.sol
L259
function payMonthly(Tier tier) external nonReentrant {

Entry point for all payments. nonReentrant prevents reentrancy attacks.

L261
require(c.active, "no active cohort");

Can only pay during an active cohort period.

L263
require(!m.banned, "member banned");

Banned members are blocked from further payments.

L267
if (m.tier == Tier.None) {

First-time payer? Auto-register them as a new member.

L269
m.tier = tier;

Their chosen tier (Explorer/Builder/Founder) is locked in.

L278
require(m.monthsPaid < MAX_PAYMENTS, "max payments reached");

Hard cap at 12 monthly payments. Contract enforced — no overpaying.

L280
require(block.timestamp >= m.lastPaymentTime + MIN_PAYMENT_INTERVAL,

25-day minimum between payments prevents double-charging.

L50
uint256 public constant TREASURY_FEE_BPS = 500; // 5%

Treasury fee is hardcoded at 5%. Cannot be changed — ever.

L286
uint256 price = tierPrice[m.tier];

Reads the current WMON price for the member's tier.

L287
require(price > 0, "tier price not set");

Safety check — prevents payments if prices aren't configured.

L290
uint256 fee = (price * TREASURY_FEE_BPS) / BPS_DENOMINATOR;

Calculates 5% treasury fee. e.g. 139 WMON × 5% = 6.95 WMON.

L291
uint256 toPool = price - fee;

Remaining 95% goes to the community pool. e.g. 132.05 WMON.

L311
wmon.safeTransferFrom(msg.sender, treasury, fee);

5% sent to treasury wallet. SafeERC20 ensures transfer succeeds.

L312
wmon.safeTransferFrom(msg.sender, address(this), toPool);

95% locked in the contract. Held until founder distribution.

L301
uint256 mintedTokenId = 0;

NFT only minted on first payment — one card per member.

L302
if (m.tokenId == 0) {

Check if member already has a card. No duplicates.

L303
_nextTokenId++;

Sequential token IDs. Each card is unique.

L316
_mint(msg.sender, mintedTokenId);

Uses _mint (not _safeMint) — soulbound, no callback needed.

L450
require(from == address(0) || to == address(0), "soulbound: non-transferable");

Cards cannot be transferred or sold. Yours forever on Monad.

L455
function tokenURI(uint256 tokenId) public view override returns (string memory) {

On-chain SVG art. No IPFS dependency — fully on Monad.

L356
function selectFounders(uint256 cohortId, address[] calldata founders, uint256[] calldata amounts)

Owner selects graduating founders and how much each receives.

L366
require(!c.active, "cohort still active");

Distribution only after the cohort ends. No early withdrawals.

L374
require(m.monthsPaid > 0, "never paid");

Only members who actually paid can be selected as founders.

L375
require(!m.isFounder, "already selected");

Each founder can only be selected once. No double-dipping.

L378
require(amount <= c.poolBalance, "exceeds pool balance");

Cannot distribute more than what's in the pool.

L380
c.poolBalance -= amount;

Pool balance decremented. On-chain accounting.

L384
wmon.safeTransfer(founders[i], amount);

WMON sent directly from contract to founder's wallet.

L4
import "@openzeppelin/contracts/access/Ownable2Step.sol";

2-step ownership transfer. Prevents accidental owner change.

L8
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

Blocks reentrancy attacks on payment and distribution functions.

L6
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

Safe token transfers that revert on failure instead of returning false.

L52
uint256 public constant MAX_TIER_PRICE = 2000 ether;

Price cap at 2000 WMON. Prevents owner from setting absurd prices.

L176
require(explorer <= builder && builder <= founder, "invalid tier ordering");

Enforces Explorer < Builder < Founder pricing. Always.

L293
// Update state BEFORE external calls (checks-effects-interactions)

State updated before any token transfer. Industry-standard security pattern.

L40
uint256 public constant GOVERNANCE_COHORT_THRESHOLD = 2;

Council governance kicks in at Cohort 2. Cohort 1 uses admin direct selection.

L246
function createProposal(uint256 cohortId, address[] calldata founders, uint256[] calldata amounts)

Council members propose a founder slate with funding amounts. One active proposal per cohort.

L253
require(founders.length > 0 && founders.length <= MAX_SLATE_SIZE, "invalid slate size");

Max 10 founders per proposal. Prevents bloated slates.

L265
p.endTime = block.timestamp + VOTING_PERIOD;

7-day voting window. Starts immediately when proposal is created.

L254
require(activeProposalForCohort[cohortId] == 0, "active proposal exists");

Only one active proposal per cohort — prevents vote splitting.

L274
function vote(uint256 proposalId, bool support) external onlyCouncilMember {

Only council members can vote. Each member gets one vote per proposal.

L278
require(!hasVoted[proposalId][msg.sender], "already voted");

No double voting. One address, one vote.

L300
if (totalVotes >= quorum && p.yesVotes > p.noVotes) {

60% of council must vote AND yes > no for the proposal to pass.

L312
function executeProposal(uint256 proposalId) external nonReentrant {

Anyone (admin or council) can execute a passed proposal. Funds distribute on-chain.

L324
_addFoundersToCouncil(p.founders);

New graduating founders automatically join the council. It grows every cohort.

L342
function vetoProposal(uint256 proposalId) external onlyOwner {

Emergency veto — admin can block any active or passed proposal.

L345
require(p.status == ProposalStatus.Active || p.status == ProposalStatus.Passed,

Can veto during voting or after passing, but not after execution.

L204
function selectFoundersDirect(uint256 cohortId, ...)

Cohort 1 only: admin selects founders directly. Auto-adds them to council.

L209
require(cohortId < GOVERNANCE_COHORT_THRESHOLD, "use governance for this cohort");

Hard-coded: Cohort 2+ MUST use council governance. No admin override.

L379
function renounceOwnership() public pure override { revert("renounce disabled"); }

Admin cannot abandon the contract. Prevents accidental lockout.

L378
require(amount <= c.poolBalance, "exceeds pool balance");

Founder payouts are deducted from the pool. Any remainder stays in the contract.

L380
c.poolBalance -= amount;

Pool balance is tracked per cohort. After all founders are paid, leftover stays on-chain.

L155
function withdrawRemainingPool(uint256 cohortId, address to, uint256 amount) external onlyOwner {

Admin can withdraw leftover funds — roll into next cohort, refund members, or fund operations.

L424
function quorumRequired() public view returns (uint256) {

Council grows each cohort. Cohort 3 needs 60% of ~10 members (6 votes). Cohort 4 needs 60% of ~15 (9 votes).

L456
if (_council.add(founders[i])) { emit CouncilMemberAdded(founders[i]); }

New founders auto-join the council. The council never shrinks — only grows with each cohort.

Both contracts verified on Monad · Ownable2Step · ReentrancyGuard

On-Chain Governance

Community-owned decisions.

TURBO is governed by smart contracts on Monad. Graduating Founder selection progressively decentralizes through a growing council of past winners.

Cohort 1

Admin Selection

Earvin selects ~5 Graduating Founders directly from any tier. Selected members are automatically added to the Founders Council.

Direct Selection
Cohort 2+

Council Governance

Past Graduating Founders propose and vote on new Graduating Founder slates. 60% quorum, 7-day voting period. Admin retains emergency veto.

Council Votes

How Proposals Work

Step 01

Propose

A council member submits a Graduating Founder slate — members from any tier — with proposed funding amounts.

Step 02

Vote

Council members vote yes or no over a 7-day voting period. 60% quorum required.

Step 03

Execute

If passed, anyone can execute. Funds distribute on-chain. New Graduating Founders join the council.

60%
Quorum
Council must participate
7d
Voting Period
Time to cast votes
10
Max Slate
Founders per proposal
5%
Treasury Fee
Ops & sustainability

Verified Contracts on Monad

TurboCohortV6
Membership, payments, pool, soulbound NFTs
0xEae06514a0d3daf610cC0778B27f387018521Ab5
TurboGovernance
Council voting, proposals, admin passthrough
0x9e7A91D9F891373DD0846f443E4484EfA12c4899
Ownable2StepReentrancyGuardSafeERC20Soulbound ERC-721
How to Join

Three steps to get started.

Becoming a TURBO candidate is simple. Complete these steps and you're in the pipeline.

01

Register on Bybit

Create your Bybit account using our referral code to become a TURBO candidate.

Use code: BPYPARJ
02

Join Telegram

Enter the EmpowerToursEdu channel — your hub for updates, community, and resources.

Join channel
03

Apply below

Fill out the application form and tell us what you want to build. We'll take it from there.

Scroll to apply
FAQ

Got questions?

Aspiring Web3 founders in Latin America who want structured mentorship, community, and a path to building real products. Whether you're a developer, designer, or business mind — if you want to build on Monad, TURBO is your launchpad.

Graduates will be well-prepared to apply for Monad's NITRO, which provides $500,000 USD per team. TURBO gives you the skills, portfolio, and network to stand out.

Step 1: Register on Bybit using referral code BPYPARJ. Step 2: Join the EmpowerToursEdu Telegram channel. Step 3: Fill out the application form on this page.

Primary content is in Spanish with English resources available. Mentorship sessions can be in either language. We believe in building bridges between LATAM and global Web3.

TURBO is the training ground. NITRO is the destination. TURBO (by EmpowerTours) builds your skills and community over 12 months. NITRO (by Monad) is a 3-month elite program with $500K USD for 15 selected teams.

No. TURBO is designed to take you from zero to builder. With AI-powered vibe coding, anyone with drive can build real products. We'll teach you everything you need.

After Graduating Founders are selected and paid, any remaining WMON stays in the contract. The admin can roll leftover funds into the next cohort's pool as a head start, distribute pro-rata refunds to members, or allocate to program operations. The withdrawRemainingPool function is onlyOwner — fully transparent and auditable on-chain.

Yes. Every Graduating Founder is automatically added to the Founders Council when selected. The council grows with every cohort — Cohort 1 founders vote in Cohort 2, Cohort 1+2 founders vote in Cohort 3, and so on. Governance becomes increasingly decentralized over time.

Apply

Ready to go full throttle?

Cohort 1 applications are open. Limited spots.

Rolling admissions. Cohort 1 starts soon.