D3
Duty3

Social Login & Card Onramp

You do not need MetaMask or a hardware wallet to use Duty3. Sign in with Google, email, phone, or a passkey and an in-app wallet is created for you. You can buy crypto with a card inside the app.

Supported Login Methods

Google

One-click login with your existing Google account.

Email

Enter your email — receive a one-time code to verify.

Phone

SMS verification code to your mobile number.

Passkey

Biometric login — Face ID or fingerprint on your device.

MetaMask

Classic browser extension wallet for experienced users.

Coinbase Wallet

Mobile and browser wallet by Coinbase.

Rainbow

Popular mobile-first Ethereum wallet.

WalletConnect

Connect any compatible mobile wallet via QR code.

How In-App Wallets Work

When you sign in with Google, email, phone, or a passkey, thirdweb creates an in-app wallet for you. It is a standard Ethereum account (EOA) — the same kind of account MetaMask creates. It has a public address on Arbitrum, holds tokens, and signs transactions. It is not a smart-contract wallet.

The wallet's key is generated and managed by thirdweb's in-app wallet infrastructure, and access to it is tied to your login. You never see or store a seed phrase. Signing back in with the same login method gives you the same wallet.

From the blockchain's point of view, an in-app wallet behaves exactly like MetaMask: it holds your tickets, receives prizes and refunds, and signs the same transactions.

Gas

Gas is not sponsored. Every transaction — approving a token, buying tickets, claiming a refund — needs a small amount of ETH on Arbitrum in your wallet. A ticket purchase typically costs under $0.01. Buy a little ETH along with your WETH or USDC.

Card Onramp — Buy Crypto with a Card

Once your wallet is connected, you can buy ETH, WETH, or USDC on Arbitrum with a card — no need to visit a separate exchange.

How to use the onramp

  1. Connect your wallet (or sign in with Google/email)
  2. Click your wallet address in the top-right corner to open the wallet details
  3. Click "Buy" — this opens the onramp
  4. Select the token and amount
  5. Complete the purchase with the payment provider
  6. Tokens arrive in your wallet on Arbitrum, usually within minutes

The onramp is provided by thirdweb, which routes purchases through third-party payment providers. Available payment methods, fees, limits, and identity checks depend on the provider and your region. Duty3 does not process card payments itself.

There is no built-in way to cash out to a bank account. To convert winnings to fiat, send them to an exchange or off-ramp service of your choice.

Who This Is For

Social login and the card onramp make Duty3 usable for people who have never set up a crypto wallet:

  • They sign in with Google
  • They buy a small amount of ETH for gas plus WETH or USDC for tickets with their card
  • They buy a ticket in a raffle
  • If they win, the prize arrives in their wallet automatically

Security Considerations

Access to an in-app wallet is tied to your login. If your Google account, email, or phone number is compromised, your wallet may be at risk. Recommendations:

  • Enable 2FA on your Google or email account
  • Add a passkey as a second way to sign in
  • For larger amounts, move funds to a wallet you control directly, such as a hardware wallet (Ledger, Trezor)

For Developers

In-app wallets are provided by thirdweb's SDK. This is the configuration Duty3 uses — social login plus external wallets:

import { ConnectButton } from "thirdweb/react"
import { inAppWallet, createWallet } from "thirdweb/wallets"

const wallets = [
  inAppWallet({
    auth: { options: ["google", "email", "phone", "passkey"] },
  }),
  createWallet("io.metamask"),
]

<ConnectButton client={client} wallets={wallets} />