
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@crossmint/connect
Advanced tools
Embed the Crossmint wallet directly in your app
git clone https://github.com/Crossmint/connect.git
cd connect
yarn install
yarn build
@crossmint/connect from the root /connect:
yarn link
cd example
yarn link "@crossmint/connect"
yarn install
yarn dev
The CrossmintSolanaWalletAdapter is fully compatible with @solana/wallet-adapter and can be dropped into place like so:
import React, { FC, useMemo } from 'react';
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
import { FakeWalletAdapter } from '@solana/wallet-adapter-wallets';
import {
WalletModalProvider,
WalletDisconnectButton,
WalletMultiButton
} from '@solana/wallet-adapter-react-ui';
import { clusterApiUrl } from '@solana/web3.js';
import {CrossmintSolanaWalletAdapter} from "@crossmint/connect"
// Default styles that can be overridden by your app
require('@solana/wallet-adapter-react-ui/styles.css');
export const Wallet: FC = () => {
// The network can be set to 'devnet', 'testnet', or 'mainnet-beta'.
const network = WalletAdapterNetwork.Devnet;
// You can also provide a custom RPC endpoint.
const endpoint = useMemo(() => clusterApiUrl(network), [network]);
const wallets = useMemo(
() => [
new CrossmintSolanaWalletAdapter({})
],
[]
);
return (
<ConnectionProvider endpoint={endpoint}>
<WalletProvider wallets={wallets} autoConnect>
<WalletModalProvider>
<WalletMultiButton />
<WalletDisconnectButton />
</WalletModalProvider>
</WalletProvider>
</ConnectionProvider>
);
};
The following is an example of connecting to a user's Crossmint Ethereum account using the CrossmintEVMWalletAdapter
import {
BlockchainTypes,
CrossmintEnvironment,
CrossmintEVMWalletAdapter,
} from "@crossmint/connect";
import { useState } from "react";
export default function YourCustomConnectButton() {
const [address, setAddress] = useState<string | undefined>(undefined);
async function connectToCrossmint() {
// Initialize the Crossmint connect.
const _crossmintConnect = new CrossmintEVMWalletAdapter({
chain: BlockchainTypes.ETHEREUM, // BlockchainTypes.ETHEREUM || BlockchainTypes.POLYGON. For solana use BlockchainTypes.SOLANA
});
// Ask the user to sign in and give access to their publicKey
const address = await _crossmintConnect.connect();
// If the user successfully connects to Crossmint, the address will be returned.
if (address) {
setAddress(address);
}
}
return (
<button
onClick={connectToCrossmint}
className="px-6 py-2 font-semibold text-black bg-white rounded-md"
>
{address ? address.slice(0, 6) + "..." : "Connect"}
</button>
);
}
FAQs
Embed the Crossmint wallet directly in your app
We found that @crossmint/connect demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.