Next.jsReactStarter

template-web3-app — Next.js Starter Template

By turbo-eth

A Next.js-based Web3 app starter that integrates RainbowKit wallet connection, Sign-In With Ethereum login, Prisma database, and Disco/Etherscan API examples.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-09-30View source

What stands out

A quick read of the recorded project description.

01

Built on Next.js and TypeScript, with TailwindCSS, Radix, and Framer Motion for the interface

02

Integrates RainbowKit wallet connection and Sign-In With Ethereum account authentication

03

Uses WAGMI CLI to auto-generate React hooks

04

Connects to a database via Prisma, with Vercel as the deployment target

05

Provides Disco, Etherscan API, and ERC20 contract integration examples

06

Includes Husky and commitlint to check code before commits and validate commit message format

Template Details

This is a starter template for Web3 frontends. The repository is named template-web3-app, maintained by turbo-eth, and licensed under MIT. The tech stack centers on Next.js, with TypeScript, TailwindCSS, Radix, Framer Motion, and React Icons for building the interface, and shadcn/ui components included in the /components/shared/ui directory.

For Web3 capabilities, the template integrates WAGMI CLI (for auto-generating React hooks), RainbowKit (wallet connection management), and Sign-In With Ethereum (account authentication). On the backend, it uses Prisma as the database ORM, targets Vercel for deployment, and provides example API integrations for Disco and Etherscan, as well as an ERC20 smart contract integration example.

For developer experience, it includes Prettier, ESLint, Husky, and commitlint: a pre-commit hook checks application code, and a commit-msg hook validates commit messages against the conventional commit format. The project recommends using pnpm to install dependencies; npm and yarn can also run it. It provides pnpm dev and pnpm build scripts. The README states that the original template was forked from wslyvh/nexth.

Usage limitations: The template requires configuring environment variables (such as NEXTAUTH_SECRET and DATABASE_URL) and a JSON-RPC service to run fully. The code is MIT-licensed, but third-party assets such as demo images, fonts, and icons require separate license verification. External services such as domains, hosting, and databases may incur costs.

Next.jsStarter

Is it right for your project?

Use Cases

  • Quickly setting up a Web3 frontend project with wallet connection and SIWE login
  • Integrating a Prisma database and on-chain data APIs into a Next.js project
  • Needing a reference implementation for ERC20 contract interaction and WAGMI hook generation
  • Teams wanting to standardize commit conventions and add pre-commit code checks

Suitable For

  • Frontend developers familiar with Next.js and TypeScript
  • Projects that need Web3 wallet connection and signature-based login
  • Teams looking to use MIT-licensed code as a starting point for further development
  • Projects deploying on Vercel and accepting a Prisma database approach

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Recommended to install dependencies with pnpm install; npm and yarn also work

  2. 2

    Run pnpm dev for development and pnpm build for building

  3. 3

    Configure environment variables as documented, such as NEXTAUTH_SECRET and DATABASE_URL

  4. 4

    Prepare a JSON-RPC service to connect to on-chain networks

  5. 5

    Third-party assets and external services (domains, hosting, databases, etc.) require independent license and cost verification

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This listing covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Permits free use, modification, commercial use, and distribution of this version's code.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Recommended to install dependencies with pnpm; npm and yarn also work but are not guaranteed to be fully consistent.
  • Full operation requires configuring environment variables such as NEXTAUTH_SECRET and DATABASE_URL.
  • You must prepare your own JSON-RPC service to connect to on-chain networks.
  • The deployment target is Vercel; using its hosting service may incur costs.
  • The backend relies on a Prisma database; you must provide your own database service, which may incur costs.
  • Etherscan API integration typically requires applying for an API key and is subject to its terms of service.
  • Disco integration depends on an external service and may require an account or API credentials.
  • The original template was forked from wslyvh/nexth; redistribution must retain the corresponding attribution.
  • Demo images, fonts, icons, and other third-party assets must be verified under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

The `pnpm` CLI is the recommended package manager but `npm` and `yarn` should work too.

Original README

env=NEXTAUTH_SECRET,DATABASE_URL&envDescription=How%20to%20get%20these%20env%20variables%3A

Original README

- [JSON-RPC](https://docs.turboeth.xyz/getting-started/json-rpc)

Original README

- [Vercel](https://vercel.com/) - App Infrastructure

Original README

- [Prisma](https://www.prisma.io/) - Database ORM

Original README

- [Etherscan](https://docs.turboeth.xyz/integration/etherscan)

Original README

- [Disco](https://docs.turboeth.xyz/integration/disco)

Original README

Original template was forked from https://github.com/wslyvh/nexth

Original README
https://github.com/turbo-eth/template-web3-app/blob/integrations/LICENSEhttps://github.com/turbo-eth/template-web3-app/blob/integrations/README.md

Compiled by DeepSeek based on repository license and README ·2026-09-30. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 76 / 100
Technologies
Next.js · React
Website type
Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2024-05-03
Screenshot last checked
2026-09-30

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 4e4109a2703d0cf56a91630f2e723a035abe785054b487bb347131df97b14d9e

2026-09-30T08:15:21.624Z

Source file / repository
![image](https://user-images.githubusercontent.com/3408362/230732083-1c98e451-08af-41c2-b522-126370e8c6a5.png)

# ⚡ TurboETH - Web3 App Starter Kit

![CI](https://github.com/turbo-eth/template-web3-app/actions/workflows/ci.yml/badge.svg)
![TS](https://badgen.net/badge/-/TypeScript?icon=typescript&label&labelColor=blue&color=555555)
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](http://perso.crans.org/besson/LICENSE.html)

Web3 App Template built using Next.js, RainbowKit, Tailwind, Sign-In With Ethereum, and more.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fturbo-eth%2Ftemplate-web3-app&project-name=TurboETH&repository-name=turbo-eth&demo-title=TurboETH&env=NEXTAUTH_SECRET,DATABASE_URL&envDescription=How%20to%20get%20these%20env%20variables%3A&envLink=https%3A%2F%2Fgithub.com%2Fturbo-eth%2Ftemplate-web3-app%2Fblob%integrations%2F.env.example)

### [Documentation](https://docs.turboeth.xyz)

- Getting Started
  - [Environment Variables](https://docs.turboeth.xyz/getting-started/environment)
  - [JSON-RPC](https://docs.turboeth.xyz/getting-started/json-rpc)
  - [WAGMI CLI](https://docs.turboeth.xyz/getting-started/wagmi-cli)
  - [UI Components](https://docs.turboeth.xyz/getting-started/design-system)
  - [Backend Database](https://docs.turboeth.xyz/getting-started/database)
- Core Integrations
  - [🌈 RainbowKit](https://docs.turboeth.xyz/integration/rainbowkit)
  - [🔏 Sign-In With Ethereum](https://docs.turboeth.xyz/integration/sign-in-with-ethereum)
- Smart Contract Integrations
  - [ERC20](https://docs.turboeth.xyz/integration/smart-contract-erc20)
- API Integrations
  - [Disco](https://docs.turboeth.xyz/integration/disco)
  - [Etherscan](https://docs.turboeth.xyz/integration/etherscan)

# Getting Started

The `pnpm` CLI is the recommended package manager but `npm` and `yarn` should work too.

```bash
pnpm install
```

#### Development

```bash
pnpm dev
```

#### Build

```bash
pnpm build
```

### Web3 Core

- [WAGMI CLI](https://wagmi.sh/cli/getting-started) - Automatic React Hook Generation
- [RainbowKit](https://www.rainbowkit.com/) - Wallet connection manager
- [Sign-In With Ethereum](https://login.xyz/) - Account authentication

### Web2 Frameworks

- [Vercel](https://vercel.com/) - App Infrastructure
- [Prisma](https://www.prisma.io/) - Database ORM

### Developer Experience

- [TypeScript](https://www.typescriptlang.org/) – Static type checker for end-to-end typesafety
- [Prettier](https://prettier.io/) – Opinionated code formatter for consistent code style
- [ESLint](https://eslint.org/) – Pluggable linter for Next.js and TypeScript

### User Interface

- [TailwindCSS](https://tailwindcss.com) – Utility-first CSS framework for rapid UI development
- [Radix](https://www.radix-ui.com/) – Primitives like modal, popover, etc. to build a stellar user experience
- [Framer Motion](https://www.framer.com/motion/) – Motion library for React to animate components with ease
- [React Icons](https://react-icons.github.io/react-icons) – Beautifully simple, pixel-perfect icons

The [ui.shadcn.com](https://ui.shadcn.com) components are included in the `/components/shared/ui` folder.

# 💻 Developer Experience

### 🐕 What is husky

Husky improves your git commits.

You can use it to lint your commit messages, run tests, lint code, etc... when you commit or push. Husky supports all Git hooks.

#### 🪝 Hooks

- pre-commit: lint app codebase
- commit-msg: apply commintlint

### 📋 What is commitlint

commitlint checks if your commit messages meet the [conventional commit format](https://conventionalcommits.org).

In general the pattern mostly looks like this:

```sh
type(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")
```

Real world examples can look like this:

```
chore: run tests on travis ci
```

```
fix(server): send cors headers
```

```
feat(blog): add comment section
```

Common types according to [commitlint-config-conventional (based on the Angular convention)](https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional#type-enum) can be:

- build
- chore
- ci
- docs
- feat
- fix
- perf
- refactor
- revert
- style
- test

# Acknowledgements

Original template was forked from https://github.com/wslyvh/nexth

Thank you @wslyvh 🙏

<hr/>

Copyright 2023 [Kames Geraghty](https://twitter.com/KamesGeraghty)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.