A comprehensive suite of tools for blockchain integration, authentication, and NFT functionality
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
The Crossmint SDK is a powerful collection of packages designed to simplify blockchain integration for developers. Our goal is to make Web3 development accessible without requiring extensive blockchain experience or cryptocurrency knowledge.
- 🚀 Quick Integration: All our tools have 5-min quickstarts
- 💻 Developer-First: Build end-to-end blockchain solutions without deep Web3 expertise
- 🔒 Secure: Enterprise-grade security for all blockchain interactions
- 💳 Fiat-First: Enable users to participate in Web3 without cryptocurrency
- 🆓 Free to Start: Start developing at no cost
- 💳 NFT checkout: with credit card and cross-chain
- 🔐 Authentication and session management
- 👛 Embedded wallets
- 📜 Verifiable credentials
@crossmint/wallets-sdk: Universal Wallet SDK.
-
@crossmint/client-sdk-react-ui: React SDK, with UI components. -
@crossmint/client-sdk-react-native-ui: React Native SDK. -
@crossmint/client-sdk-auth: Headless typescript SDK for managing auth and user profiles. -
@crossmint/client-sdk-verifiable-credentials: Headless typescript SDK for Verifiable Credentials. -
@crossmint/client-sdk-smart-wallet[DEPRECATED]: Headless typescript SDK for smart wallets. -
@crossmint/wallets-sdk: Headless typescript SDK for EVM + Solana MPC / Smart Wallets.
Other:
@crossmint/client-sdk-base: Core client-side functionality and essential building blocks for Crossmint integration. Typically you don't need to integrate against this directly.
@crossmint/server-sdk: Server-side SDK.
- 🔒 Wallets Quickstart): Create and interact with Crossmint wallets. This quickstart uses Crossmint Auth and uses your email as a signer for that wallet. Demo
- 💳 Hosted Checkout Quickstart): Allow your customers to buy NFTs with credit card and crypto payments, using Crossmint's hosted checkout. This quickstart provides a seamless integration for accepting payments in your dApp. Demo
- 🏦 Fintech Quickstart): Create your own Fintech app in minutes using Crossmint wallets and onramp. Demo
To get started with the SDK, install the packages you need into your project.
ie.
pnpm add @crossmint/wallets-sdk
Then, import the package you need.
ie.
import { CrossmintWallet } from "@crossmint/wallets-sdk";
For more information on how to use the SDK, see the Crossmint SDK Documentation.
node >= 20.19.4
pnpm
chainctlDependencies resolve from Chainguard Libraries, not from npmjs.org directly, so pnpm install needs a Chainguard token. Install chainctl and ask IT for access to the crossmint.com organization.
- Clone the repository:
git clone https://github.com/Crossmint/crossmint-sdk.git
cd crossmint-sdk- Authenticate with Chainguard. The token expires after one hour; repeat this before
pnpm installwhen it does:
chainctl auth login
export CHAINGUARD_TOKEN=$(chainctl auth token --audience=libraries.cgr.dev)
./scripts/setup-pnpm-auth.sh.npmrc only routes packages to registries; the script stores the token in your user-level .npmrc. Where chainctl cannot log in, the pull-token pair CHAINGUARD_JAVASCRIPT_IDENTITY_ID and CHAINGUARD_JAVASCRIPT_TOKEN works with the same script.
- Install dependencies:
pnpm install- Build all packages:
pnpm buildWhen modifying packages locally:
- Make your changes in the relevant package
- Rebuild the modified package:
# Inside the package directory
pnpm build- Reinstall dependencies in your project:
# From the root directory
pnpm install- Restart the demo application to see your changes
pnpm-lock.yaml pins Chainguard tarballs and hashes, so it does not install from npmjs.org. Outside the Crossmint organization, delete it and resolve from npmjs.org:
rm pnpm-lock.yaml
npm_config_registry=https://registry.npmjs.org/ pnpm installLeave the regenerated pnpm-lock.yaml out of your pull request; a maintainer regenerates it against Chainguard.
- Run
pnpm change:addto select packages for update - Commit the generated changeset file
- Merge your PR to
main - A "Release packages" PR will be created automatically
- Merge the release PR to publish to NPM
For detailed documentation and guides, visit our official documentation.
SDK reference pages on docs.crossmint.com are auto-generated from source code JSDoc annotations via TypeDoc. The pipeline:
- Trigger: Push to
mainthat touches watched paths (see.github/workflows/sdk-reference-docs-generate.yml) - Generate: TypeDoc + custom plugins produce MDX files for each package
- Sync: A
repository_dispatchsends the generated docs tocrossbit-main, which opens a PR for review
Watched paths (changes here trigger doc generation):
packages/wallets/src/**,packages/wallets/typedoc.json,packages/wallets/typedoc-custom-plugin.mjspackages/client/ui/react-ui/src/**,packages/client/ui/react-ui/scripts/**packages/client/ui/react-native/src/**,packages/client/ui/react-native/scripts/**packages/client/react-base/src/**
Manual trigger:
gh workflow run sdk-reference-docs-generate.yml -f packages="react-ui,react-native,node-wallets"Key files:
| Package | Config | Custom Plugin/Script |
|---|---|---|
| wallets-sdk | packages/wallets/typedoc.json |
packages/wallets/typedoc-custom-plugin.mjs |
| react-ui | packages/client/ui/react-ui/typedoc.json |
packages/client/ui/react-ui/scripts/generate-reference.mjs |
| react-native | packages/client/ui/react-native/typedoc.json |
packages/client/ui/react-native/scripts/generate-reference.mjs |
To get in touch with the Crossmint team, please visit our contact page. or on X
