vLotto — How to Play

vLotto is a transparent, on-chain drawing running on the Verus blockchain. Every drawing is verifiable — from ticket generation to winner selection — using publicly auditable blockchain data. The drawing authority manages the process, but all results and ticket data are recorded on-chain in a ledger that anyone can independently verify.

Getting vlotto

To participate in vLotto, you need vlotto currency. You can acquire vlotto by converting VRSC through the vlotto Currency Basket. The conversion rate is determined by the basket's reserves. You can check the current price on the vLotto dashboard or by querying the basket currency on-chain.

Convert VRSC to vlotto (Buy in):
./verus sendcurrency "YOUR_R_ADDRESS" '[{"address":"YOUR_R_ADDRESS","amount":10,"currency":"VRSC","convertto":"vlotto"}]' 1
Convert vlotto to VRSC (Cash out):
./verus sendcurrency "YOUR_R_ADDRESS" '[{"address":"YOUR_R_ADDRESS","amount":5,"currency":"vlotto","convertto":"VRSC"}]' 1

How It Works

1. Buy a Ticket

During the marketplace phase, ticket identities are listed for sale on the Verus Marketplace. To buy a ticket, you accept a marketplace offer using the Verus CLI or wallet. Each ticket costs the listed price (e.g., 1 vlotto). When you buy a ticket, ownership of the ticket identity transfers to your R-address.

Buy a ticket:
./verus takeoffer "YOUR_R_ADDRESS" '{"txid":"OFFER_TXID_HERE","deliver":{"currency":"vlotto","amount":1},"accept":{"name":"ticket123","parent":"vlotto","primaryaddresses":["YOUR_R_ADDRESS"],"minimumsignatures":1,"revocationauthority":"TICKET_I_ADDRESS","recoveryauthority":"TICKET_I_ADDRESS"},"changeaddress":"YOUR_R_ADDRESS"}'

2. What You Get

Each ticket has a unique 64-character hex playing number that was cryptographically sealed before the drawing block — no one can change it after the fact.

3. The Drawing

At the designated drawing block height, the Verus blockchain produces a block hash. This block hash is used as the drawing number.

4. How Scoring Works

Your ticket's playing number is compared character-by-character against the drawing hash:

  • Leading zeros in the drawing hash are skipped (this is typically the case when a block is mined via proof-of-work)
  • Each position where your digit matches the hash digit counts as a match
  • The score is the sum of the hex values (0–15) of all matching digits
  • Tickets are ranked by: most matches first, then highest score, then lowest ticket number as tiebreaker

5. Winning

To win the jackpot, your ticket must:

  • Have at least the minimum required matches (set per drawing)
  • Be a sold ticket (purchased by a player, not still held by vLotto or discarded)
  • Be valid (not tampered with — the system performs cryptographic verification and will detect any tampered tickets)

If the top-ranked ticket meets all conditions, it wins. If the top ticket fails verification, the system moves to the next ranked ticket until a valid winner is found. If no valid, sold ticket meets the minimum matches, there is no winner and the jackpot rolls over to the next drawing.

6. Claiming Your Prize

If your ticket wins, vLotto places a buyback offer on the Verus Marketplace — offering the jackpot amount in exchange for your winning ticket identity. You claim by accepting this offer via CLI. The offer has an expiry block. If unclaimed, the jackpot rolls over.

Claim a jackpot:
./verus takeoffer "*" '{"txid":"JACKPOT_OFFER_TXID","deliver":"winningticket.vlotto@","accept":{"address":"YOUR_R_ADDRESS","currency":"vlotto","amount":175.50},"changeaddress":"YOUR_R_ADDRESS"}'

7. Discarding a Ticket

Discarding a ticket transfers its primary address to the graveyard address — effectively burning the ticket. Unsold tickets are discarded by the system after the sales period ends, but a player can also voluntarily discard a ticket by updating its identity. A discarded ticket cannot win the jackpot.

Discard a ticket:
./verus updateidentity '{"name":"ticket123","parent":"vlotto","primaryaddresses":["RAXCjm9Z4RJWEmsNgo83B8JevTcJRt6Tj5"],"minimumsignatures":1}'

Replace ticket123 with the ticket's identity name (without .vlotto@).

8. Verification

Every winning ticket undergoes 7-step cryptographic verification to prove it was not tampered with:

  1. Identity exists on-chain
  2. Registration transaction confirmed
  3. Ticket self-signature valid
  4. Ticket hash authentic
  5. Proofguard acknowledged the ticket
  6. Proofguard signature valid
  7. Public audit — historical consistency and playing number integrity

Anyone can independently verify these steps using the Verus blockchain.

Utility IDs

vLotto operates through a set of purpose-built identities on the Verus blockchain, each with a specific role:

Jackpot(jackpot.vlotto@)

The heart of every drawing. Jackpot holds the prize pool and keeps it safe until a winner is determined. At the start of each drawing, funds are deposited into Jackpot's custody. Once a winner is confirmed, Jackpot releases the full prize to the Payout identity for the buyback offer. After the drawing, a portion of ticket revenue flows back into Jackpot to seed the next round — keeping the cycle going.

Payout(payout.vlotto@)

The delivery specialist. Payout receives the full jackpot once a winner has been verified and handles the buyback offer. Rather than sending funds directly to a winner's wallet, Payout creates a marketplace offer to purchase the winning ticket at the full jackpot value. The winner simply accepts the offer and receives their prize in exchange for their winning ticket.

Cashier(cashier.vlotto@)

The register. Every ticket sale flows through Cashier, collecting all revenue from the marketplace. Once the drawing is complete and sales are finalized, Cashier tallies the total and distributes funds according to the configured percentages — splitting revenue between Jackpot, Operations, Reserves, and any custom destinations.

Operations(operations.vlotto@)

The budget keeper. Operations receives its configured share of ticket revenue after each drawing to cover the costs of running the drawing — transaction fees, infrastructure, and ongoing development. This ensures vLotto remains self-sustaining without relying on external funding.

Reserves(reserves.vlotto@)

The safety net. Reserves holds overflow funds and acts as a financial buffer. If the jackpot exceeds its configured ceiling cap, the surplus flows into Reserves. It also catches any remainder after all percentage-based distributions are complete. When the jackpot needs a boost for a future drawing, Reserves can contribute as a secondary funding source.

Ledger(ledger.vlotto@)

The public record keeper. Ledger writes a detailed, tamper-proof snapshot to the blockchain after every phase of every drawing. It records financial summaries, ticket counts, drawing results, payout details, and distribution breakdowns — all publicly verifiable by anyone. Ledger never holds or moves funds; its sole purpose is transparency and accountability.

Proofguard(proofguard.vlotto@)

The notary. Proofguard is the cryptographic signing authority that establishes each ticket's chain of custody. During data generation, Proofguard signs every ticket's self-signature, creating a tamper-proof hash that becomes the ticket's playing number. During the drawing, Proofguard's signatures are verified to confirm no ticket has been altered. If a ticket's chain of custody is broken, it cannot win — Proofguard is the integrity guarantee of the entire system.

Key Terms

Drawing BlockThe future block height whose hash is used as the drawing number.
Playing NumberYour ticket's 64-character hex number, sealed before the drawing.
ProofguardAn independent identity that co-signs each ticket, preventing tampering.
TimelockThe jackpot.vlotto@ identity is timelocked until there is a winner, allowing users to verify on-chain that the jackpot is locked or when it becomes unlocked.
DiscardedTickets transferred to the graveyard address, effectively burned and ineligible to win.
Jackpot RolloverWhen there's no winner, the jackpot carries to the next drawing.
LedgerOn-chain record containing all data needed to reconstruct current and past drawings.
Currency BasketThe vlotto basket from which you convert VRSC to vlotto (and back).

Tips

  • Your odds improve with more matches — but the drawing number is determined by the block hash at the drawing block height
  • All ticket data is publicly visible on the blockchain before, during, and after the drawing
  • You can verify any ticket's authenticity yourself using the Verus CLI
  • The ledger contains all data necessary to reconstruct and audit current and past drawings
  • You can cash out vlotto back to VRSC at any time via the currency basket