WatchUp LTD · Open Source · v0.1 Alpha

One SDK for every chain,
every wallet.

OmniKit unifies wallet connection, authentication, and transaction handling across Ethereum and Solana. Stop writing the same code twice.

Get Started Free
terminal
$npm install @omnikit/core
✓ Installed @omnikit/core
$node app.js
🔗 Connecting to Ethereum...
✓ Wallet connected: 0x742d...3a9f
✓ Balance: 1.24 ETH
Supports:EthereumSolanaBasePolygon

Features

First-class
developer experience

Built for TypeScript-first teams. Zero config overhead. One coherent API across every chain you ship on.

Unified wallet connection

One API to connect wallets across Ethereum, Solana, and any future chain. No more per-chain boilerplate.

example-1.ts
const wallet = await kit.connect()

Multi-chain abstraction

Write chain-agnostic code. OmniKit normalizes chain differences so you focus on product, not plumbing.

example-2.ts
kit.getBalance({ chain: 'ethereum' }) kit.getBalance({ chain: 'solana' })

React hooks & UI

Drop-in hooks and pre-built components. Connect a wallet in under 10 lines of code.

example-3.ts
const { connect, wallet } = useOmniKit() await connect()

Auth & sessions

Sign-in with Ethereum and Solana. Persistent session management with secure token handling.

example-4.ts
const session = await kit.authenticate({ wallet, message: 'Sign in' })

Chain adapters

Modular plugin architecture. Add new chains without touching existing code.

example-5.ts
new OmniKit({ adapters: [ethereum(), solana(), base()] })

Token & balance APIs

Fetch balances, tokens, and NFTs with a unified interface across all supported chains.

example-6.ts
const tokens = await kit.getTokens({ chain: 'ethereum', address: wallet.address })

Developer Experience

From zero to connected
in minutes.

01

Install

Add OmniKit to your project with a single command. Zero config required.

terminal
$npm install @omnikit/core
02

Configure

Initialize with your preferred chains. Add or remove adapters anytime.

terminal
$new OmniKit({ adapters: [...] })
03

Connect

One method to connect any wallet on any supported chain. That's it.

terminal
$await kit.connect()
import { OmniKit } from '@omnikit/core'
import { ethereum, solana } from '@omnikit/adapters'
 
const kit = new OmniKit({
adapters: [ethereum(), solana()],
auth: { sessionDuration: '7d' }
})
 
// Connect any wallet — one unified API
const wallet = await kit.connect()
 
console.log(wallet.address, wallet.chain)

Chain Support

Start with two.
Scale to any.

Ethereum and Solana are fully supported at launch. The modular adapter system means adding new chains never requires touching existing code.

Ethereum

Live
ETH

Full support for EVM chains

wallets
MetaMask, WalletConnect, Coinbase

Solana

Live
SOL

Native Solana integration

wallets
Phantom, Solflare, Backpack

Base

Soon
BASE

Coinbase L2 support

wallets
Coming Q2 2025

Polygon

Soon
POL

Polygon PoS & zkEVM

wallets
Coming Q2 2025
Open Source

Build faster.
Ship with confidence.

OmniKit is open source, TypeScript-native, and designed to grow with your stack. Start free, self-host forever.

Start Building Free