D3
Duty3

Buying Tickets

Entering a Duty3 raffle takes two on-chain transactions: an ERC-20 approval and a ticket purchase. Both can be done directly from the UI in under a minute.

Prerequisites

  • A wallet on Arbitrum (MetaMask, Coinbase Wallet, Rainbow, or any WalletConnect-compatible wallet)
  • The payment token for the raffle (WETH, WBTC, or USDC) in your wallet
  • A small amount of ETH for gas (~$0.01–$0.05 per transaction on Arbitrum)

No crypto wallet? Duty3 supports social login via Google, email, or phone through Account Abstraction (powered by Thirdweb). A smart wallet is generated for you automatically — no seed phrase required.

Step-by-Step

1. Connect your wallet

Click Connect Wallet in the top-right corner. Choose your wallet type — Web3 wallet (MetaMask, etc.) or social login (Google, email, phone). Make sure you are on the Arbitrum network.

2. Find a raffle

Browse the Active Raffles on the homepage. You can filter by asset (WETH, WBTC, USDC) and sort by prize size, ticket price, or fill percentage. Featured raffles (AI or protocol picks) appear at the top.

3. Choose quantity and approve

On the raffle detail page or compact card, select how many tickets to buy. If this is your first purchase with that token, you will need to approve the vault contract to spend your tokens — this is a standard ERC-20 approval. The UI handles this automatically before the buy transaction.

4. Buy tickets

After approval, the buyTickets(quantity) transaction is sent. Your tickets are minted with sequential IDs and permanently recorded on-chain. You can view all your tickets under My Tickets.

Ticket Pricing and the DUTY3 Discount

Each raffle has a base ticket price set by the creator. If you hold 1,000 or more $DUTY3 tokens, the vault's getPrice() function returns a 10% discount automatically. No claiming, no staking — just hold the tokens in your wallet.

Example

Base ticket price: 0.01 WETH

Without DUTY3: 0.01 WETH per ticket

With 1,000+ DUTY3: 0.009 WETH per ticket

Your Odds

Your probability of winning is proportional to the tickets you hold:

win probability = tickets_you_own / total_tickets_sold

If you buy 10 tickets in a 100-ticket raffle, you have a 10% chance of winning. Buying more tickets increases your odds linearly.

If You Win

Winners are paid automatically — no claim transaction needed. The moment Chainlink VRF fulfills the draw, the vault contract transfers the full prize to your wallet. You will also see the win in the Live Activity feed and under My Tickets.

If the Raffle Enters Refund State

In the rare case a raffle is cancelled or VRF fails to fulfill, the vault enters REFUND state. Call claimRefund() (available on the raffle detail page) to recover 100% of your ticket payment.