@coinbase/onchainkit
TypeScript icon, indicating that this package has built-in type declarations

0.17.0 • Public • Published

OnchainKit logo vibes

OnchainKit

React components and TypeScript utilities to help you build top-tier onchain apps.

Version MIT License Downloads per month Minified + gzip package size for @coinbase/onchainkit in KB


Documentation

For documentation and guides, visit onchainkit.xyz.

Quickstart

To integrate OnchainKit into your project, begin by installing the necessary packages.

# Yarn: Add library
yarn add @coinbase/onchainkit viem@2.x

# or

# Use NPM
npm install @coinbase/onchainkit viem@2.x

# Use PNPM
pnpm add @coinbase/onchainkit viem@2.x

Components

Display ENS avatars, Attestation badges, and ENS names.

const EAS_SCHEMA_ID = '0xf8b05c79f090979bf4a80270aba232dff11a10d9ca55c4f88de95317970f0de9';
const ACCOUNT_ADDRESS = '0x838aD0EAE54F99F1926dA7C3b6bFbF617389B4D9';

<OnchainKitProvider chain={base} schemaId={EAS_SCHEMA_ID}>
  <div className="flex h-10 items-center space-x-4">
    <Avatar address={ACCOUNT_ADDRESS} showAttestation />
    <div className="flex flex-col text-sm">
      <b>
        <Name address={ACCOUNT_ADDRESS} />
      </b>
      <Name address={ACCOUNT_ADDRESS} showAddress />
    </div>
  </div>
</OnchainKitProvider>;
OnchainKit Identity components

Convert your web page into a Frame

import { FrameMetadata } from '@coinbase/onchainkit';

export default function HomePage() {
  return (
    ...
    <FrameMetadata
      buttons={[
        {
          label: 'Tell me the story',
        },
        {
          action: 'link',
          label: 'Link to Google',
          target: 'https://www.google.com'
        },
        {
          action: 'post_redirect',
          label: 'Redirect to cute pictures',
        },
      ]}
      image={{
       src: 'https://zizzamia.xyz/park-3.png',
       aspectRatio: '1:1'
      }}
      input={{
        text: 'Tell me a boat story',
      }}
      postUrl="https://zizzamia.xyz/api/frame"
    />
    ...
  );
}

Create or connect your wallet with Connect Account, powered by Smart Wallet.

<div className="flex flex-grow">
  {(() => {
    if (status === 'disconnected') {
      return <ConnectAccount />; // [!code focus]
    }
    return (
      <div className="flex h-8 w-8 items-center justify-center">
        <button type="button" onClick={() => disconnect()}>
          <Avatar address={address} />
        </button>
      </div>
    );
  })()}
</div>
OnchainKit Wallet components OnchainKit Wallet components

Utilities

If you're seeking basic TypeScript utilities, we have plenty of ready-to-use options available.

Frames
Identity
Farcaster
XMTP

Design

All our component designs are open-sourced. You can access the Figma file to use them for your onchain project.

Figma - How to use

OnchainKit logo vibes

Figma - Components

OnchainKit logo vibes

Community ☁️ 🌁 ☁️

Check out the following places for more OnchainKit-related content:

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @coinbase/onchainkit

Weekly Downloads

5,524

Version

0.17.0

License

MIT

Unpacked Size

385 kB

Total Files

348

Last publish

Collaborators

  • cb-neel-ramachandran
  • cb-sum-xu
  • cb-nick-morgan
  • cb-rohit-durvasula
  • cb-sneh-koul
  • cb-justin-brower
  • cb-jeff-tan
  • cb-clintonreece
  • coinbase-owner