downloadInstallation

Install seismic-react and configure peer dependencies

Prerequisites

Requirement
Version
Notes

Node.js

18+

LTS recommended

React

^18

Peer dependency

wagmi

^2.0.0

Peer dependency

viem

2.x

Peer dependency

seismic-viem

>=1.1.1

Seismic transport layer

@rainbow-me/rainbowkit

^2.0.0

Optional, for wallet UI

Install

npm install seismic-react
yarn add seismic-react
pnpm add seismic-react
bun add seismic-react

Peer Dependencies

seismic-react requires several peer dependencies that your project must provide:

Package
Purpose

react

React runtime

wagmi

Ethereum React hooks and wallet connectors

viem

TypeScript Ethereum library (used internally by wagmi)

seismic-viem

Seismic transport layer providing ShieldedPublicClient and ShieldedWalletClient

@tanstack/react-query

Async state management (required by wagmi)

Install all required peer dependencies:

circle-info

If you are using RainbowKit for wallet UI, also install @rainbow-me/rainbowkit:

Wagmi Config Setup

Create a wagmi config with Seismic chain definitions:

circle-exclamation

Minimal Working App

Package Exports

seismic-react provides two entry points:

Entry Point
Contents

seismic-react

Main entry -- ShieldedWalletProvider, useShieldedWallet, useShieldedContract, useShieldedWriteContract, useSignedReadContract

seismic-react/rainbowkit

Chain configs -- seismicTestnet, sanvil, localSeismicDevnet, createSeismicDevnet

TypeScript

TypeScript >= 5.0.4 is an optional peer dependency. seismic-react ships with full type definitions and provides type inference from contract ABIs when using hooks like useShieldedWriteContract and useSignedReadContract.

No additional @types/* packages are needed.

Troubleshooting

Module Not Found: seismic-viem

Ensure seismic-viem is installed as a peer dependency:

wagmi Version Mismatch

seismic-react requires wagmi v2. If you have wagmi v1 installed, upgrade:

RainbowKit Chain Not Appearing

Make sure you import chain configs from the seismic-react/rainbowkit entry point, not from the main entry:

React Version Conflicts

If you encounter React version conflicts in a monorepo, ensure all packages resolve to the same React version. Add a resolutions field (Yarn) or overrides field (npm) to your root package.json:

See Also

Last updated