Appearance
Operator FAQ
Answers to the most common questions from prospective UltimaLotto operators.
Business Questions
Do I need a gaming license?
Yes. You are the operator — you sell tickets, collect player funds, and distribute prizes in your jurisdiction. Ultima Protocol Inc. is a technology licensor, not a gambling operator. You must hold a valid gaming license for each jurisdiction where you operate.
How do I make money?
You earn 15% commission on every draw, proportional to the tickets your players purchase. Additionally, if the jackpot is won by one of your players' tickets, you receive a 2% winning operator bonus from the jackpot pool.
At 500,000 tickets per draw with 3 draws per week, that's approximately $35.1M annually in commission alone.
What do I need to build?
Nothing. We provide:
- A white-label React player app (20 screens, mobile-first)
- An Express + PostgreSQL operator backend (30+ endpoints)
- A Prisma-powered database schema (11 tables)
- JWT authentication, Zod validation, responsible gambling enforcement
- Fiat on-ramp integration (Transak, MoonPay)
- Docker Compose for local development
- A CLI scaffolder:
npx create-ultima-operator
You customize branding, add your payment provider keys, and deploy.
How long does integration take?
- White-label path: Days. Run the scaffolder, customize branding, deploy.
- Custom SDK integration: 1-3 weeks. Use the TypeScript SDK to integrate UltimaLotto as a game product within your existing platform.
What about regulation?
You hold the gaming license. We are a technology vendor. This is the same model used by every B2B gaming technology provider. See the Regulatory Position Paper for details.
Our corporate entity (Ultima Protocol Inc., Delaware C-Corp) is structured as a technology licensor. We never touch player funds, player data, or game outcomes. Smart contracts handle escrow and settlement autonomously.
What are the costs?
- No upfront license fee for Founding Operators (5 slots available)
- 8% protocol fee deducted automatically per draw (enforced by smart contract)
- Operator bond posted on-chain (returned on exit, demonstrates commitment)
- Your own infrastructure costs (cloud hosting, domain, etc.)
Is this legal?
The protocol is technology — open-source cryptographic mathematics. Operating a lottery requires a gaming license in your jurisdiction. We provide legal opinion summaries for US, Malta, and UK gaming law. See the Regulatory Position Paper.
Technical Questions
How does the draw work?
- All operators submit ticket manifests (Merkle tree commitments) before the draw
- The manifest is anchored to Bitcoin (OP_RETURN) and Ethereum (contract event)
- After anchoring, the protocol waits for future blocks on both chains
- Draw seed = SHA-256 of sorted BTC block hashes + sorted ETH block hashes
- 6 winning numbers are derived using domain-separated SHA-256
- Winners are matched, and settlement is automatic via smart contract
No human can influence the outcome. Anyone can verify any draw at verify.ultimalotto.com.
What if the jackpot gets huge?
That's the plan. The jackpot rolls over until won. As it grows, media covers it. Your players grow organically. The Powerball/Mega Millions pattern — but global, blockchain-verified, and you earn 15% on the growth.
What blockchain networks are used?
- Bitcoin: Block hash randomness source, OP_RETURN anchoring for manifests and settlement
- Ethereum L1: UltimaEscrowV2 smart contract (multi-stablecoin escrow, automated settlement), UltimaAnchorV2 (manifest anchoring), UltimaRegistryV2 (operator registry)
Players don't need wallets. Stablecoin escrow is handled at the operator level.
What stablecoins are supported?
USDC, USDT, and DAI. The smart contract accepts all three and tracks deposits per-stablecoin. Operators can accept whichever they prefer.
How do webhooks work?
The coordinator sends HTTP POST webhooks to your registered webhook URL:
round.sealed— round is sealed, no more ticketsround.drawn— winning numbers determinedround.settled— settlement complete, commissions distributed
See the Webhooks Guide for payload formats and signature verification.
What are the ticket numbers?
Each ticket has 6 independent numbers:
- Jackpot: 1 – 10,000,000 (1 in 10M odds)
- Bonus 1: 1 – 1,000,000 (1 in 1M)
- Bonus 2: 1 – 100,000 (1 in 100K)
- Bonus 3: 1 – 10,000 (1 in 10K)
- Bonus 4: 1 – 1,000 (1 in 1K)
- Bonus 5: 1 – 100 (1 in 100)
Players can pick their own numbers or use Quick Pick (cryptographic random generation).
Where is the code?
The entire protocol is open-source. Core logic is in the @ultimalotto/core TypeScript package. Smart contracts are Solidity, tested with Foundry. The coordinator, operator API, dashboard, player app, and SDK docs are all in the monorepo.
Getting Started
- Read the docs: You're here. Start with the Getting Started Guide.
- See the economics: portal.ultimalotto.com/economics
- Verify the tech: verify.ultimalotto.com
- Apply: portal.ultimalotto.com/apply
Questions? Contact operators@ultimaprotocol.com.