The 11-second signup flow

The 11-second signup flow

Five-star signup. 97% completion rate. We tested 14 versions to get here.

The 11-second signup flow

Here's the entire signup flow: open the app, enter your phone number, type the 6-digit OTP, set a 4-digit PIN, tap 'Pick a match'. Total time: 11 seconds. No email. No password. No PAN. No address proof. KYC is only required at withdrawal, and even then only if the withdrawal exceeds ₹10,000.

We removed email because it's an extra step that 23% of users abandon. We removed password because OTP is more secure (no password database to leak) and faster. We removed the welcome modal because it doesn't help users pick their first team — it just delays them. We removed the email verification step because phone verification is sufficient under Indian regulations for fantasy sports.

The signup flow is the most-tested screen in the app. We've run 14 A/B tests on it over the last 12 months. The current version has a 97% completion rate — meaning 97 out of 100 users who start the signup flow finish it. The 3% who don't finish are usually on slow networks or interrupted by phone calls.

Why we don't ask for PAN up front

PAN is required by Indian tax law for fantasy sports withdrawals above ₹10,000 per transaction or ₹50,000 per financial year. We don't ask for PAN at signup because most users start with small deposits and don't need PAN immediately. Asking for PAN up front causes 18% of users to abandon the signup.

We ask for PAN at the withdrawal screen, only if the withdrawal amount exceeds the threshold. If you're withdrawing ₹5,000, we don't ask for PAN. If you're withdrawing ₹15,000, we ask for PAN. We validate the PAN against your name using the income tax database, which adds 2-4 seconds to the withdrawal but ensures compliance.

We also accept Aadhaar at withdrawal. Aadhaar is faster to verify than PAN because the e-KYC API is real-time. If you have Aadhaar linked to your phone number, we can verify your identity in 30 seconds. If you only have PAN, we can verify in 2-4 minutes.

Phone number verification

We send the OTP via SMS, not via WhatsApp or RCS. SMS is universal — every Indian phone receives SMS regardless of data plan. We pay for SMS delivery, you don't. The OTP is 6 digits and expires in 5 minutes. If you don't type the OTP in 5 minutes, you can request a new one.

We rate-limit OTP requests to 3 per phone number per hour and 10 per phone number per day. This prevents abuse — bots can request thousands of OTPs and rack up SMS costs. If you hit the rate limit, wait an hour and try again. If you're locked out for longer, contact support.

We don't store your OTP. The OTP is verified against the value we sent, and then it's discarded. We don't log failed OTP attempts. We do log successful OTP verifications (without the OTP value itself) for fraud detection.

Setting a 4-digit PIN

After OTP verification, you set a 4-digit PIN. The PIN is required to log in after the first session. We chose 4 digits because it's easy to remember and fast to enter. We considered 6 digits but found that 4-digit PINs have a 92% recall rate after 30 days, while 6-digit PINs have a 71% recall rate.

The PIN is hashed using bcrypt with a cost factor of 12. The hash is stored in our database, not the PIN itself. If our database is breached, the attacker gets hashes that take centuries to brute-force. We don't store the PIN in any recoverable format.

If you forget your PIN, tap 'Forgot PIN' on the login screen. We send a new OTP to your phone number. You verify the OTP and set a new PIN. The old PIN is invalidated. The process takes 30 seconds and is available 24/7.

What we collect at signup

At signup we collect: phone number (required), device ID (for fraud detection), IP address (for fraud detection), and the timestamp of signup. We do not collect: name, email, address, PAN, Aadhaar, or any other personal information.

The phone number is hashed in our logs after 30 days. The device ID and IP address are retained for 90 days for fraud detection. After 90 days, they are aggregated into anonymous usage statistics. The signup timestamp is retained indefinitely as part of your account history.

You can request deletion of your account at any time. We delete all your personal data within 30 days of the request. We retain aggregated, anonymized usage statistics for product improvement. The retention is required by Indian tax law for fantasy sports platforms.

Phone number. That's it. No email, no PAN, no address. We collect the minimum required by law and nothing else.

What happens after signup

After signup, you land on the captain pick screen for the next match. The captain pick card shows the top 3 captain candidates with their confidence percentages. Below the captain card is the lineup builder with empty slots. Below the lineup builder is the differential pick card with 3-5 players outside the top 10 most-picked who have positive regression signals.

You can pick your lineup immediately or browse the schedule for the next 7 days. The schedule shows every upcoming match with the start time, the venue, and the predicted win probability for each team. Tap any match to see the full squad list, the captain pick, and the differential picks.

If you pick your lineup and don't deposit, your team is saved as a draft. The draft persists for 30 days. We send you a push notification 1 hour before the match starts reminding you to confirm your team. If you don't confirm, the team is not entered into any contests.

State verification and legality

Indian fantasy sports are legal in 28 of 31 states. The three states where it's banned or restricted are Telangana, Andhra Pradesh, and Assam. We verify your state using your phone number's registration state and your device's GPS location. If both indicate a state where fantasy sports are banned, we soft-block the deposit screen.

The soft-block shows a message that explains the state-specific law and links to the relevant legislation. The user can still browse the app and read content, but cannot deposit or enter contests. This is a legal requirement, not a technical block — we cannot bypass it even if we wanted to.

If you move between states, you need to update your location by tapping 'Update location' in Settings. We re-verify your state against the new GPS location. If the new state is legal for fantasy sports, the deposit screen unlocks. If the new state is also restricted, the block remains.

Referral code at signup

If someone referred you, you can enter their phone number or referral code at signup. Both you and the referrer get a ₹50 bonus credit when you make your first deposit of ₹100 or more. The bonus credit is added to your account within 5 minutes of the deposit clearing.

The referral bonus is credited to a separate 'Bonus' wallet, not your main deposit wallet. The bonus wallet can be used to enter contests, but winnings from bonus entries go into your main wallet and can be withdrawn normally. Bonus credits expire after 90 days if unused.

We cap referral bonuses at 10 per user per month. This prevents abuse — a user who refers 11 friends in a month gets bonus credit for the first 10 and nothing for the 11th. The cap protects our bonus pool and keeps the referral economics sustainable.

Friend referred you? Enter their phone at signup. Both of you get ₹50 bonus credit when you deposit ₹100 or more.