Skip to content

Vite Installation

Install and configure OnchainKit with Vite. If you are integrating OnchainKit into an existing project, skip to the OnchainKit installation.

Install Vite

Create a new Vite project by using the Vite CLI. More information about Vite can be found here.

npm
npm create vite@latest

During the setup process you will encounter multiple prompts. Make sure you select React and TypeScript.

Install OnchainKit

Add OnchainKit to your project by installing the @coinbase/onchainkit package.

npm
npm install @coinbase/onchainkit

Get A Client API Key

Get your Client API Key from Coinbase Developer Platform.

OnchainKit copy Client API Key

Create a .env file in your project's root directory.

OnchainKit define Client API Key

Add your Client API Key to the .env file:

.env
VITE_PUBLIC_ONCHAINKIT_API_KEY=YOUR_CLIENT_API_KEY

Configure Providers

In order to use OnchainKit, you need to wrap your app with three providers:

  1. <WagmiProvider />
  2. <QueryClientProvider />
  3. <OnchainKitProvider />

To accomplish this, we recommend creating a wagmi.ts file and an AppProviders.tsx file within the src directory.

You must add base as a supported chain in the Wagmi configuration file wagmi.ts. You can use baseSepolia for testing.

wagmi.ts
import { http, cookieStorage, createConfig, createStorage } from 'wagmi';
import { base } from 'wagmi/chains'; // add baseSepolia for testing
import { coinbaseWallet } from 'wagmi/connectors';
 
export function getConfig() {
  return createConfig({
    chains: [base], // add baseSepolia for testing
    connectors: [
      coinbaseWallet({
        appName: 'OnchainKit',
        preference: 'smartWalletOnly',
        version: '4',
      }),
    ],
    storage: createStorage({
      storage: cookieStorage,
    }),
    ssr: true,
    transports: {
      [base.id]: http(), // add baseSepolia for testing
    },
  });
}
 
declare module 'wagmi' {
  interface Register {
    config: ReturnType<typeof getConfig>;
  }
}

Wrap your app with <AppProviders />

After configuring the providers in step 4, wrap your app with the <AppProviders /> component.

import { AppProviders } from 'src/AppProviders';
 
export default function App() {
  return (
    <AppProviders>
      <YourApp />
    </AppProviders>
  );
}

Import OnchainKit Styles

OnchainKit components come with pre-configured styles. To include these styles in your project, add the following import statement at the top of the file where imported <AppProviders />:

import { AppProviders } from 'src/AppProviders';
import '@coinbase/onchainkit/styles.css'; 
 
export default function App() {
  return (
    <AppProviders>
      <YourApp />
    </AppProviders>
  );
}

This ensures that the OnchainKit styles are loaded and applied to your entire application.

  • For Tailwind CSS users, check out our Tailwind Integration Guide.

  • Update the appearance of components by using our built-in themes or crafting your own custom theme. Explore the possibilities in our Theming Guide.

Start building!

Explore our ready-to-use onchain components: