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
One-click login with your existing Google account.
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
- Connect your wallet (or sign in with Google/email)
- Click your wallet address in the top-right corner to open the wallet details
- Click "Buy" — this opens the onramp
- Select the token and amount
- Complete the purchase with the payment provider
- 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} />