> For the complete documentation index, see [llms.txt](https://vesta-group.gitbook.io/vesta-group/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vesta-group.gitbook.io/vesta-group/products-and-use-cases/monthly-nft-lottery.md).

# Monthly NFT Lottery

The Monthly NFT Lottery is an automated reward mechanism within the Vesta platform that incentivizes NFT purchases by providing free lottery entries with every completed transaction. Each NFT purchase on the Vesta Launchpad automatically generates one lottery ticket, giving users the opportunity to win a fixed monthly prize of $250 USD. The feature is designed to reward active participation in the ecosystem while maintaining complete transparency through blockchain-based random selection powered by Chainlink VRF (Verifiable Random Function).

**Use Case:** An investor who regularly purchases NFTs on the Vesta platform wants to maximize their potential returns. By acquiring multiple NFTs throughout the month, the investor automatically accumulates lottery tickets with each transaction, proportionally increasing their chances of winning the monthly $250 USD prize. At the end of the calendar month, the investor can view their total ticket count, review their odds of winning, and track the draw results through their Lottery Dashboard. The automated nature of the lottery ensures that participation requires no additional action beyond standard NFT investment activities, while the provably fair draw mechanism provides confidence in the integrity of winner selection.

***

### How the Monthly NFT Lottery Works

#### Automatic Ticket Generation

The lottery operates on a simple principle: every completed NFT purchase transaction on the Vesta Launchpad generates exactly one lottery ticket. This process is entirely automatic and requires no additional user action. Key characteristics include:

* **One-to-One Ratio:** Each NFT purchase equals one lottery ticket, regardless of the NFT's price or the quantity purchased within a single transaction.
* **Proportional Chances:** Users who make multiple separate NFT purchases during the month receive multiple tickets, directly increasing their probability of winning.
* **Immediate Issuance:** Lottery tickets are generated and recorded immediately upon blockchain confirmation of the NFT purchase transaction.
* **Real-Time Tracking:** Users can monitor their accumulated tickets through the Lottery Dashboard, which displays current ticket count, total pool size, and individual odds of winning.

#### Monthly Lottery Cycle

The lottery follows a fixed calendar-month structure (UTC timezone):

* **Cycle Duration:** From the first day of the month at 00:00:01 UTC to the last day at 23:59:59 UTC.
* **Ticket Pool Isolation:** Each month maintains a separate ticket pool. Tickets do not carry over between periods.
* **Draw Execution:** Winner selection occurs automatically within 24 hours after the month ends.
* **Fresh Start:** A new lottery cycle begins immediately on the first day of each month.

#### Eligibility Requirements

To participate in the Monthly NFT Lottery, users must meet the following criteria:

* **KYC Verification:** Identity verification must be completed on the Vesta platform.
* **Active Transaction:** At least one NFT purchase must be completed during the current lottery cycle.
* **Valid Wallet:** A valid wallet address must be associated with the user account for prize distribution.

Exclusions apply to platform administrators and employees. Additionally, cancelled, refunded, or reversed transactions do not generate valid lottery tickets.

***

### Winner Selection Process

#### Chainlink VRF Integration

The Monthly NFT Lottery employs Chainlink VRF (Verifiable Random Function) to ensure provably fair and tamper-proof winner selection. Chainlink VRF is a cryptographically secure randomness service that provides verifiable proof of fairness, eliminating the possibility of manipulation by any party, including the Vesta team.

**Technical Implementation:**

1. **VRF Request Initiation:** At the conclusion of each monthly cycle, the lottery smart contract submits a randomness request to the Chainlink VRF coordinator.
2. **Random Number Generation:** Chainlink VRF generates a cryptographically secure random number using techniques that are mathematically impossible to predict or influence.
3. **Winner Selection:** The random number is used to select the winning ticket via a modulo operation against the total ticket count, ensuring equal probability for each ticket.
4. **On-Chain Verification:** The complete selection process, including the VRF Request ID, random seed, block hash, and winning ticket ID, is recorded immutably on the blockchain.

This architecture guarantees that:

* No participant, including platform operators, can predict or manipulate the outcome.
* Any third party can independently verify the fairness of the draw using on-chain data.
* The integrity of the selection process is mathematically and cryptographically assured.

#### Transparency and Auditability

All lottery results are published on a dedicated results page accessible to all users. Published information includes:

* Winner's wallet address (partially masked for privacy)
* Winning ticket ID
* VRF Request ID and transaction hash
* Draw date and timestamp
* Blockchain verification link for independent audit

This level of transparency allows any user to verify that the draw was conducted fairly and that the winner was selected through a truly random process.

***

### Prize Distribution

#### Prize Details

* **Amount:** $250 USD equivalent
* **Currency:** USDC or USDT (platform's primary stablecoin)
* **Distribution Method:** Direct transfer to the winner's registered wallet address
* **Timeline:** 5-7 business days following winner selection and verification

#### Winner Notification

Winners are notified through multiple channels:

* **Email:** Automated notification sent within one hour of winner selection
* **In-Platform Alert:** Notification banner displayed upon login to the Vesta platform
* **Push Notification:** Sent to mobile app users (if applicable)

The notification includes:

* Congratulatory message with winning details
* Lottery period and draw date
* Winning ticket number
* Verification details (VRF Request ID, transaction hash, blockchain explorer link)
* Prize distribution timeline
* Instructions for wallet address verification

#### Winner's Certificate

Each winner receives a digital Winner's Certificate delivered via email as a PDF attachment. The certificate includes:

* Winner's name and wallet address
* Lottery period and draw date
* Winning ticket number
* Prize amount
* Blockchain verification details
* QR code linking to on-chain transaction verification
* Unique certificate ID for authenticity verification

#### Prize Distribution Failure Handling

In cases where prize distribution fails (e.g., invalid wallet address), the system implements the following protocol:

* The prize is held in escrow
* The winner is notified of the issue and requested to update their wallet information
* A 30-day window is provided for the winner to resolve the issue
* Upon resolution, the prize distribution proceeds as normal

***

### User Dashboard Features

#### Lottery Dashboard Overview

The Lottery Dashboard serves as the central interface for users to track their participation and lottery status. Accessible through the main platform navigation menu, the dashboard provides:

**Current Cycle Information:**

* Personal ticket count for the active month
* Total tickets in the current lottery pool across all participants
* Individual odds of winning (displayed as "1 in X tickets")
* Countdown timer showing time remaining until the monthly draw
* Current prize amount

**Historical Data:**

* Ticket history from previous months
* Past lottery results and winners
* Prize distribution history

**Activity Tracking:**

* Each NFT purchase confirmation displays lottery ticket issuance
* Real-time updates to ticket count as purchases are completed

#### Participation History

Users can access a comprehensive log of their lottery participation, including:

* Monthly breakdown of tickets earned
* NFT purchase transactions that generated tickets
* Transaction hashes for blockchain verification
* Ticket issuance timestamps
* Month and year identifiers

***

### Technical Requirements and Considerations

#### Smart Contract Architecture

The lottery system operates through a dedicated smart contract deployed on the Ethereum and/or Polygon network. The contract implements:

* **Chainlink VRFConsumerBaseV2 Interface:** Ensures proper integration with Chainlink's randomness service
* **Access Control:** Utilizes OpenZeppelin libraries for role-based permissions and security
* **Reentrancy Protection:** Prevents common smart contract vulnerabilities
* **Pausability:** Allows for emergency circuit breaker functionality if required

Key contract functions include:

* Ticket issuance upon NFT purchase confirmation
* VRF randomness request initiation
* Winner selection via VRF callback
* Prize distribution mechanisms
* Ticket count and lottery state queries

#### Performance and Scalability

The lottery system is designed to handle substantial participation volumes:

* **Ticket Issuance:** Completes within 3 seconds of NFT purchase confirmation
* **Dashboard Load Time:** Under 2 seconds under normal network conditions
* **Scalability:** Supports up to 10,000 ticket entries per month without performance degradation
* **VRF Response Time:** Typically completes within 5 minutes under normal blockchain network conditions

#### Security Measures

* **Third-Party Audit:** Smart contract undergoes independent security audit before deployment
* **Multi-Signature Control:** Administrative functions require multi-signature wallet approval (minimum 2-of-3)
* **Timelocks:** Critical parameter changes implement a minimum 24-hour delay
* **Input Validation:** All user inputs are validated to prevent injection attacks and exploits

***

### Compliance and Fair Play

#### Legal Framework

The Monthly NFT Lottery operates within the following framework:

* **Regulatory Compliance:** The lottery adheres to applicable gambling and sweepstakes regulations in all jurisdictions where Vesta operates
* **Terms and Conditions:** Complete lottery rules, odds calculation methodology, and participation terms are publicly accessible
* **Record Retention:** All lottery activities are maintained for a minimum of 7 years for audit purposes
* **Tax Implications:** Winners are responsible for understanding and complying with tax obligations in their local jurisdiction

#### Fair Play Assurance

* **Equal Probability:** Every ticket has an identical probability of winning (1/total\_tickets)
* **No Preferential Treatment:** Platform operators, partners, and employees are excluded from participation
* **Immutable Records:** All lottery data is permanently stored on-chain, preventing retroactive manipulation
* **Transparency Reports:** Monthly transparency reports publish lottery statistics and participation data

#### Data Integrity

* **Blockchain Verification:** Complete lottery history is verifiable on the blockchain
* **Audit Trail:** All ticket issuances, draw executions, and prize distributions are logged immutably
* **No Carryover:** Each monthly cycle is independent, preventing accumulation advantages

***

### Edge Cases and System Behavior

#### Zero Tickets in Cycle

If no eligible tickets are generated during a lottery cycle:

* No draw is executed
* The cycle closes normally
* The next month's lottery begins on schedule
* No prize is distributed for that period

#### NFT Purchase at Month Boundary

If an NFT purchase occurs exactly at the boundary between two lottery cycles:

* The ticket assignment is determined by the blockchain timestamp of the confirmed transaction
* Transactions confirmed at 23:59:59 UTC or earlier count toward the concluding month
* Transactions confirmed at 00:00:00 UTC or later count toward the new month

#### VRF Request Failure

In the event of a Chainlink VRF request failure:

* The system automatically retries up to three times with exponential backoff
* If all retry attempts fail, platform administrators are alerted
* Manual intervention procedures are initiated to ensure fair draw execution

#### Ineligible Participant

If a ticket is generated for a user who subsequently fails eligibility verification:

* The ticket is marked as invalid and excluded from the draw pool
* The total ticket count is adjusted accordingly
* The user is notified of the eligibility issue

***

### Future Enhancements

The Monthly NFT Lottery is designed as a foundational reward mechanism with potential for expansion. Planned enhancements under consideration include:

* Multi-tier prize structures (1st, 2nd, 3rd place winners)
* Bonus ticket allocation for high-value NFT purchases
* Integration with referral program for additional tickets
* Weekly mini-lotteries in addition to monthly draws
* Dynamic prize pools based on a percentage of platform revenue
* Cross-chain lottery participation across multiple blockchain networks
* Gamification elements such as achievements and leaderboards

These enhancements will be evaluated based on community feedback and platform growth metrics.

***

### Frequently Asked Questions

**Q: Do I need to register separately for the lottery?**\
A: No. If you are a KYC-verified user purchasing NFTs on the Vesta Launchpad, you are automatically entered into the lottery with each transaction.

**Q: Does the NFT price affect the number of tickets I receive?**\
A: No. Each NFT purchase generates exactly one ticket regardless of the purchase price.

**Q: Can I purchase lottery tickets without buying an NFT?**\
A: No. Lottery tickets are only generated through NFT purchases on the Vesta Launchpad.

**Q: Do my tickets carry over to the next month if I don't win?**\
A: No. Each lottery cycle is independent, and tickets do not carry over between months.

**Q: How do I verify that the draw was fair?**\
A: All draw results include a blockchain verification link. You can independently audit the Chainlink VRF process, view the transaction hash, and verify that the random number selection was tamper-proof.

**Q: What happens if I win but my wallet address is invalid?**\
A: The prize will be held in escrow, and you will be notified to update your wallet information. You have 30 days to resolve the issue.

**Q: Are there any fees to participate?**\
A: No. Participation is completely free. You do not pay any additional fees beyond the cost of your NFT purchase.

**Q: Can I participate from any country?**\
A: The lottery is available to all KYC-verified Vesta users worldwide, subject to local regulations. Ensure you comply with gambling and prize-winning laws in your jurisdiction.

***

### Glossary

**NFT (Non-Fungible Token):** A unique digital asset recorded on the blockchain representing fractional ownership of real-world assets on the Vesta platform.

**Lottery Ticket:** A single participation unit automatically issued upon successful NFT purchase within a lottery cycle.

**Lottery Cycle:** A calendar-month period (UTC) during which tickets are accumulated and one winner is selected.

**Chainlink VRF (Verifiable Random Function):** A cryptographic randomness service that generates provably fair and tamper-proof random numbers for smart contracts.

**VRF Request ID:** A unique identifier for each randomness request, used for verification and audit purposes.

**Smart Contract:** A self-executing blockchain program that enforces the lottery's logic, including ticket tracking and winner selection.

**On-Chain Verification:** The ability for any third party to independently verify lottery results directly on the blockchain.

**Escrow:** A temporary holding state for funds when prize distribution requires manual review or correction.

**KYC (Know Your Customer):** A regulatory identity verification process confirming user eligibility before lottery participation.

***
