Embedded and smart-contract wallets purpose-built for games and consumer apps. Pairs email/social login (WaaS) with a managed smart wallet, plus indexer, marketplace, and gas-sponsorship APIs across EVM chains.
- 01web3 games
- 02embedded wallets with email/social
- 03smart-contract wallet UX
- 04in-game item indexer + marketplace
- 05gas sponsorship
- pnpm add @0xsequence/connect @0xsequence/hooks wagmi viem @tanstack/react-query
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_SEQUENCE_PROJECT_ACCESS_KEY | Client | Sequence project access key from Sequence Builder. Required for indexer, RPC, and connect flows. |
| NEXT_PUBLIC_SEQUENCE_WAAS_CONFIG_KEY | Client | Sequence Wallet-as-a-Service config key enabling email/social embedded wallets. |
Use Sequence for embedded gaming wallets and smart-contract accounts. Build a config with `createConfig('waas', { projectAccessKey, waasConfigKey, chainIds: [137, 8453], defaultChainId: 137, appName: 'My Game' })` from `@0xsequence/connect`, then wrap the app in `<SequenceConnect config={config}>`. Open the wallet modal via the `useOpenConnectModal()` hook and read state through wagmi (`useAccount`, `useWalletClient`). For game inventory, use `@0xsequence/indexer` (`getTokenBalances`, `getTransactionHistory`) keyed by the same project access key. Whitelist your origin in Sequence Builder's Embedded Wallet Configuration before shipping.
- ⚑Project access keys must whitelist the exact origin (including port) — localhost, preview URLs, and production each need explicit entries or the WaaS modal stalls.
- ⚑Smart-wallet addresses are deterministic per (project, user, chain) but only deploy on first transaction — surface that the first action costs more gas, or sponsor it.
- ⚑Sequence is EVM-only as of 2026 — non-EVM chains (Solana, Bitcoin) are not supported by the WaaS embedded wallet.
- ⚑The indexer has per-project rate limits; high-traffic games should cache balances server-side rather than calling the indexer per render.
- ⚑WaaS sessions are device-bound — clearing site data or switching browsers logs the user out and requires re-authentication via email/social.