Use this template to get started with embedded smart wallets using Alchemy Account Kit.
- Email, passkey & social login using preβbuilt UI components
- Flexible, secure, and cheap smart accounts
- Gasless transactions powered by ERC-4337 Account Abstraction
- Oneβclick NFT mint (no ETH required)
- Serverβside rendering ready β session persisted with cookies
- TailwindCSS + shadcn/ui components, React Query, TypeScript
Send your first transaction using the SDK or API. Email, social, biometric, or EOA login. Remove gas fees for users. Multiple transactions in 1 click on EVM & Solana. Pre-built UI components or fully whitelabel. Pre-built React components and hooks. Native mobile wallet experiences. Framework-agnostic implementation. Server-side wallet management. Build an onchain app from scratch with wallets and transactions. Upgrade to smart wallets using EIP-7702 or direct wagmi integration. Add wallet and transaction functionality to existing web2 applications. Server-side applications with signing and sending on your backend. Troubleshoot issues or get in touch. End-to-end guides for common features. Save costs as you scale.Build zero-friction user onboarding and transactions end-to-end with one SDK.
Low-level JSON-RPC for reading & writing blockchain data. Structured, indexed data for balances, NFTs, prices, and more. Account abstraction infrastructure for smart wallets. Launch dedicated rollups with full control over your L2. Build faster with production-ready APIs, smart wallets and rollup infrastructure across 70+ chains. Create your free Alchemy API key and get started today.Overview of our product offerings
The Node API gives you low-level access to standard JSON-RPC methods for interacting with blockchains.
Use it for sending transactions, querying blocks and logs, and accessing state. It supports multiple chains; see the Chain APIs Overview page for the full list.
Read & write interface for all blockchains supported by us. Subscribe to pending transactions, log events, new blocks, and more. Get insights into transaction processing and onchain activity. Non-standard RPC methods for inspecting and debugging transactions. High-performance real-time Solana data streaming interface.The Data APIs provide structured, indexed data that would be difficult to get via RPC alone.
Use it for NFT metadata, token balances, transaction histories, enriched transfers, and analytics. Optimized for high-volume reads, dashboards, and data-heavy applications.
Build a complete portfolio view of a user's wallet across tokens and NFTs. Get historical transactions for any address in a single request. Access real-time and historical token prices. Find, verify, and display NFTs across major blockchains. Subscribe to onchain events like transfers, transactions, and balance changes. Simulate transactions and see their effects before you send them.Our Smart Wallets product gives you everything you need to build zero-friction user flows, from sign-up to checkout, using smart contract accounts.
Use these APIs to handle user operations, sponsor gas, and implement smart accounts with account abstraction.
Bundler API Quickstart for handling user operations. Gas Manager API Quickstart for sponsoring gas fees. Send transactions with smart accounts.Our Rollups product helps you run a dedicated rollup with full control over transaction speed, cost, and functionality.
Launching a rollup can unlock new revenue streams, enable novel use cases, and provide a better user experience.
Send your first transaction using the SDK or API. Email, social, biometric, or EOA login. Remove gas fees for users. Multiple transactions in 1 click on EVM & Solana. Pre-built UI components or fully whitelabel. Pre-built React components and hooks. Native mobile wallet experiences. Framework-agnostic implementation. Server-side wallet management.Alchemy's current feature availability for each of its supported chains
This quickstart is configured to run on Arbitrum Sepolia testnet, by default. A free demo NFT contract has been deployed specifically for this quickstart, allowing you to mint NFTs without any setup or deployment steps. The contract is pre-configured and ready to use out of the box.
npm create next-app smart-wallets-quickstart -- --example https://github.com/alchemyplatform/smart-wallets-quickstart
cd smart-wallets-quickstartGet your pre-configured API key and policy ID from the Smart Wallets dashboard by viewing one of your configurations. You will get a default app, configuration, and sponsorship policy created for you to quickly start testing.
Once you have your keys, add them to your .env.local file.
cp .env.example .env.local # create if missing
# add NEXT_PUBLIC_ALCHEMY_API_KEY=...
# add NEXT_PUBLIC_ALCHEMY_POLICY_ID=...| Variable | Purpose |
|---|---|
NEXT_PUBLIC_ALCHEMY_API_KEY |
API key for your Alchemy app |
NEXT_PUBLIC_ALCHEMY_POLICY_ID |
Gas Manager policy ID for sponsorship |
If instead you want to set up your own configurations from scratch you should:
- Create a new Alchemy app
- Set up a new Smart Wallet configruation for your app to specify login methods
- Create a gas sponsorship policy for your app
Note: for production, you should protect your API key and policy ID behind a server rather than exposing client side.
npm run devOpen http://localhost:3000, first Login, then try minting a new NFT.
Congrats! You've created a new smart wallet and sent your first sponsored transaction!
See what else you can do with smart wallets.
app/ # Next.js pages & components
components/ui/ # shadcn/ui primitives
lib/ # constants & helpers
config.ts # Account Kit + Gas Sponsorship setup
tailwind.config.ts
config.tsinitializes Account Kit with your API key, chain, and Gas Sponsorship policy.Providerswraps the app withAlchemyAccountProvider& React Query.LoginCardopens the authentication modal (useAuthModal).- After login,
useSmartAccountClientexposes the smart wallet. NftMintCardusesuseSendUserOperationto callmintTo()on the demo ERCβ721, with gas paid by the Paymaster.
- React Quickstart β https://www.alchemy.com/docs/wallets/react/quickstart
- Gas Manager quickstart β https://www.alchemy.com/docs/wallets/infra/quickstart
npm run dev # start development server
npm run build # production build
npm run start # run production build
npm run lint # lint codeMIT