Skip to main content

Getting Started




Zeekaptcha is the first credibly neutral on-chain captcha for Web3.

Zeekaptcha uses zero-knowledge cryptography to perform trustless captcha verification. This enables smart contracts to be bot-protected and for users to create on-chain reputation.

For the source, check our github.


For a more in-depth exploration of the Zeekaptcha design, read our long-form piece here.

Quick Start

Option 1: create-zeekaptcha-app

Use create-zeekaptcha-app as a starting off point!

npx create-zeekaptcha-app TestApp

Option 2: Use the <Zeekaptcha/> component.


npm i zeekaptcha

Example Code

import './App.css'
import Zeekaptcha, { Goerli } from 'zeekaptcha'

function App() {
return (
<h1>Use the Zeekaptcha component below</h1>
<Zeekaptcha chain={Goerli}/>

export default App

Zeekaptcha Component

The Zeekaptcha component takes the following props:

interface ZeekaptchaProps {
submitFunc?: (value: string) => boolean;
chain: chainType;

When submitFunc is not defined, the component uses the BrowserProvider to switch chains and initiate the transaction to the Zeekaptcha contract.

You can overload this with your own logic if you have your own wallet connection logic.