diff --git a/.gitignore b/.gitignore
index 55f2dc44..b9d04fb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@ node_modules
dist
dist-ssr
*.local
+.next
# Editor directories and files
.vscode/*
diff --git a/examples/nextjs/.gitignore b/examples/nextjs/.gitignore
new file mode 100644
index 00000000..fd3dbb57
--- /dev/null
+++ b/examples/nextjs/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/examples/nextjs/README.md b/examples/nextjs/README.md
new file mode 100644
index 00000000..a75ac524
--- /dev/null
+++ b/examples/nextjs/README.md
@@ -0,0 +1,40 @@
+This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
+
+[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
+
+The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
+
+This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
diff --git a/examples/nextjs/next.config.js b/examples/nextjs/next.config.js
new file mode 100644
index 00000000..a843cbee
--- /dev/null
+++ b/examples/nextjs/next.config.js
@@ -0,0 +1,6 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ reactStrictMode: true,
+}
+
+module.exports = nextConfig
diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json
new file mode 100644
index 00000000..f6b42362
--- /dev/null
+++ b/examples/nextjs/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "example-nextjs",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "react": "^18",
+ "react-dom": "^18",
+ "next": "^13",
+ "@totejs/walletkit": "workspace:*",
+ "viem": "^1.16.6",
+ "wagmi": "^1.4.4"
+ },
+ "devDependencies": {
+ "typescript": "^5",
+ "@types/node": "^20",
+ "@types/react": "^18",
+ "@types/react-dom": "^18"
+ }
+}
diff --git a/examples/nextjs/pages/_app.tsx b/examples/nextjs/pages/_app.tsx
new file mode 100644
index 00000000..52d4e0e6
--- /dev/null
+++ b/examples/nextjs/pages/_app.tsx
@@ -0,0 +1,43 @@
+import '@totejs/walletkit/styles.css';
+import '@/styles/globals.css';
+import type { AppProps } from 'next/app';
+import { chains } from './chains';
+import { WagmiConfig, createConfig } from 'wagmi';
+import {
+ SwitchNetworkModal,
+ WalletKitButton,
+ WalletKitOptions,
+ WalletKitProvider,
+ getDefaultConfig,
+} from '@totejs/walletkit';
+import { trustWallet, metaMask, walletConnect } from '@totejs/walletkit/wallets';
+
+const config = createConfig(
+ getDefaultConfig({
+ autoConnect: true,
+ appName: 'WalletKit',
+
+ // WalletConnect 2.0 requires a projectId which you can create quickly
+ // and easily for free over at WalletConnect Cloud https://cloud.walletconnect.com/sign-in
+ walletConnectProjectId: 'e68a1816d39726c2afabf05661a32767',
+
+ chains,
+ connectors: [trustWallet(), metaMask(), walletConnect()],
+ }),
+);
+
+const options: WalletKitOptions = {
+ initialChainId: 56,
+};
+
+export default function App({ Component, pageProps }: AppProps) {
+ return (
+