Developer Docs
Recipes
RainbowKit

Usage With RainbowKit

If you're using RainbowKit (opens in a new tab), you can connect to the embedded wallet following the Wagmi recipe.

If you want to keep your existing connect logic for your crypto-savvy users but take your normie visitors straight to the frictionless Passkey flow:

import { ConnectButton } from '@rainbow-me/rainbowkit';
import { useConnect } from 'wagmi';
 
function CustomConnectButton() {
  const { connectors, connect } = useConnect();
 
  const handleClick = async () => {
    const passkeyConnector = connectors.find(
      (connector) => connector.id === 'network.passkeys',
    );
    connect({ connector: passkeyConnector });
  };
 
  return (
    <ConnectButton.Custom>
      {({ account, chain, mounted }) => {
        const ready = mounted;
        const connected = ready && account && chain;
 
        // TODO: Define based on your own criteria.
        // Check out the "Detecting Other Wallets" recipe for an example.
        const isNormieVisitor = true;
 
        return (
          <div>
            {(() => {
              if (!connected && isNormieVisitor) {
                return (
                  <button onClick={handleClick} type="button">
                    Connect Wallet
                  </button>
                );
              }
 
              // Default <ConnectButton> fallback.
              return <ConnectButton />;
            })()}
          </div>
        );
      }}
    </ConnectButton.Custom>
  );
}

This is based on the "Custom ConnectButton" recipe (opens in a new tab) by RainbowKit.

See Detecting Other Wallets to learn how to tell normie visitors from crypto natives.

Passkeys Developer Kit

©2024 Exodus Movement, Inc. All rights reserved.

Get access

Schedule a call with our team to get access to Passkeys