-
Couldn't load subscription status.
- Fork 0
Description
Problem Statement
Note - To be deployed when Ticket #751 is live on production
Scope & Requirements:
- Integrate Persona Hosted Flow for KYC verification (@komal-sai-yral has admin access to Persona)
- Show KYC Status and corresponding withdrawal limits to the user.
- Allow both KYC and non-KYC users to play games, but limit withdrawal privileges.
User Flow:
- Trigger Points for KYC:
Withdraw Flow:
- If user tries to withdraw SATS, prompt KYC if not already done.
- Show withdrawal limits for both KYC & non-KYC users.
- KYC Status Visibility:
Wallet Page:
- Show KYC Status: Active (Green)/ Not Active (Grey).
Hamburger Menu:
- Add a “Verify KYC” option linking to Persona flow.
- Show KYC Status below the profile picture
- KYC Flow:
- On click, redirect to Persona Hosted Flow.
- While Persona flow is in progress → Show "Processing KYC" loader on yral.com.
- Post-completion, redirect back to yral.com → Show Success screen and update KYC Status to Active.
- Withdrawal Limits:
KYC Done:
- Min Withdraw: 50 SATS
- Max Withdraw: 1000 SATS
KYC Not Done:
- Withdraw Limit: 50 SATS per day
Business Document
User Stories
-
As a user, I want to see my KYC status and be able to initiate KYC, So that I can verify my account and unlock higher withdrawal limits.
-
As a user, I want to see my withdrawal limits and be prompted to complete KYC when withdrawing, So that I understand the benefits of verifying my account.
-
As a verified user, I want my withdrawal limits to increase after completing KYC, So that I can withdraw more SATS without restrictions.
-
As a user, I want a seamless transition between yral.com and Persona, So that the KYC experience feels integrated and frictionless
-
As a system, I want to initiate the Persona Hosted Flow and receive KYC completion status, So that user KYC status is updated securely and automatically.
-
As a withdrawal service, I want to enforce withdrawal limits based on a user’s KYC status, So that bots cannot bypass withdrawal limits.
-
As a system, I want an API endpoint for the frontend to fetch the user’s KYC status, So that the UI can show correct KYC information on wallet and menus
Acceptance Criteria
- KYC Status is visible on the Wallet Page (Active = Green, Not Done = Grey).
- KYC Status is visible in the Hamburger Menu, with a “Verify Now” button if not done.
- Clicking "Verify Now" redirects user to Persona Hosted Flow.
- During redirection/loading, show a Processing popup on yral.com.
- Once KYC is successfully completed, user is redirected back to yral.com and sees a success confirmation screen.
- KYC status changes to Active (Green) in the wallet and hamburger menu post completion.
- When user initiates a withdrawal, show a modal as per design
- If KYC is not done, user can withdraw only 50 SATS/day.
- If KYC is done, user can withdraw between 50 - 1000 SATS per withdrawal