
Wallet / Auth·EVM · Solana
Crossmint
Wallets, NFT minting, and crypto/credit-card payments as a single platform. Embedded smart wallets with email/social login, plus server-side mint/checkout APIs across 50+ EVM chains and Solana.
- 01embedded wallets
- 02NFT minting
- 03credit-card checkout for NFTs
- 04Solana + EVM in one provider
- 05consumer apps without seed phrases
- pnpm add @crossmint/client-sdk-react-ui
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_CROSSMINT_API_KEY | Client | Crossmint client-side API key (ck_*) from the Crossmint console; scoped to allowed origins. |
| CROSSMINT_SERVER_API_KEY | Server | Crossmint server-side API key (sk_*) for minting, checkout, and wallet admin endpoints. Never expose to the client. |
Use Crossmint for embedded wallets, NFT minting, and fiat-to-NFT checkout. Wrap the app in `<CrossmintProvider apiKey={process.env.NEXT_PUBLIC_CROSSMINT_API_KEY!}>`, then nest `<CrossmintAuthProvider>` and `<CrossmintWalletProvider>` to enable email/social login and auto-create a smart wallet. Read state with `useAuth()` (login/logout/jwt) and `useWallet()` (wallet, status, address, sendTransaction). For server actions, call the REST API at `https://www.crossmint.com/api/2022-06-09/...` with the `X-API-KEY` header set to `CROSSMINT_SERVER_API_KEY`. Use staging keys (`ck_staging_`/`sk_staging_`) against testnets and production keys only against mainnets.
- ⚑Staging and production are completely separate environments — keys, wallets, and minted NFTs do not transfer between them. Pick once per deploy.
- ⚑Client API keys are origin-locked; localhost and Vercel preview URLs must be added explicitly in the console or `CrossmintProvider` will silently fail to authenticate.
- ⚑Never call mint or checkout endpoints from the browser — those require the server API key. Always proxy through a Next.js route handler / serverless function.
- ⚑Smart wallets are deployed lazily; the first transaction pays the deployment gas. Surface this in your UI so users understand the larger first-tx fee.
- ⚑Solana and EVM wallets are distinct entities under the same user — query by `chain` parameter when listing wallets, don't assume one wallet covers both.