One SDK.Any chain.Any contract.
EVM infrastructure for developers who need to ship — reads, writes, events, and typed codegen across 15+ chains. Works in Node.js, browser, and Edge.
import { AwarizonWeb3 } from "@awarizon/web3" const awz = new AwarizonWeb3({ chain: "base", apiKey: process.env.AWARIZON_API_KEY, }) // ERC-20 — no ABI needed const usdc = await awz.erc20("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913") const symbol = await usdc.symbol() // "USDC" const balance = await usdc.balanceOf("0x...") // 1000000n const tx = await usdc.transfer("0xRecipient", 500_000n) const receipt = await tx.wait() console.log("confirmed:", receipt.blockNumber)
@awarizon/web3Framework-agnostic EVM client. Reads, writes, events, multicall, gas estimation. Runs in Node.js, browser, and Edge runtimes.
@awarizon/reactReact 18+ hooks built on the core SDK. Automatic loading states, error handling, re-fetching, and cleanup on unmount.
@awarizon/cliGenerate fully typed TypeScript or JavaScript contract clients and React hooks from any ABI. No boilerplate, no repetition.
From zero to on-chain in minutes.
import { AwarizonWeb3 } from "@awarizon/web3" const awz = new AwarizonWeb3({ chain: "base", apiKey: process.env.AWARIZON_API_KEY, }) // ERC-20 shorthand — no ABI import needed const usdc = await awz.erc20("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913") const symbol = await usdc.symbol() // "USDC" const decimals = await usdc.decimals() // 6n const totalSupply = await usdc.totalSupply() // 123456789000000n const balance = await usdc.balanceOf("0xYourAddress") // 1000000n
Scaffold a full project
in one command.
One command gives you a complete starter wired with AwarizonProvider, env vars, and a live on-chain read demo — for Next.js, React + Vite, or Expo.
FILE STRUCTURE
my-app/ ├── app/ │ ├── layout.tsx ← AwarizonProvider wired here │ ├── page.tsx ← live USDC read demo │ └── globals.css ├── lib/ │ └── awarizon.ts ← server-side SDK singleton ├── .env.local └── package.json
// app/layout.tsx import { AwarizonProvider } from '@awarizon/react' export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body> <AwarizonProvider chain="base" apiKey={process.env.NEXT_PUBLIC_AWARIZON_API_KEY!} > {children} </AwarizonProvider> </body> </html> ) } // lib/awarizon.ts — for Server Actions & API routes import { AwarizonWeb3 } from '@awarizon/web3' export const awz = new AwarizonWeb3({ chain: 'base', apiKey: process.env.AWARIZON_API_KEY!, })
Everything you need to build on-chain.
15+ EVM chains
Base, Ethereum, Polygon, Arbitrum, Optimism, BNB, Avalanche, zkSync, Linea, Scroll, Zora, Celo, Gnosis, Mantle, Fantom — and testnets.
Full TypeScript types
Every method, argument, and return value is typed. ABI-generated clients take it further — zero any at call sites.
Zero config reads
Read any view/pure function with zero wallet setup. Just a contract address, ABI, and API key.
React hooks included
useReadContract, useWriteContract, useContract — built-in loading, error, and refetch state. No extra library.
CLI code generation
One command converts any ABI into a typed class and React hooks. Run it once, never write boilerplate again.
Event subscriptions
Real-time on-chain events via contract.on("Transfer", cb). Returns an unsubscribe function for clean teardown.
Multicall batching
Batch multiple reads into a single RPC round-trip with awz.multicall(). Falls back gracefully on chains without multicall3.
Named registry
Register contracts once, reference by name everywhere. awz.register("USDC", { address, abi }) then awz.use("USDC").
One SDK. Every chain that matters.
"base"BaseRecommended"ethereum"EthereumMainnet"polygon"PolygonPoS"arbitrum"Arbitrum OneL2"optimism"OptimismL2"bnb"BNB ChainBSC"avalanche"AvalancheC-Chain"zksync"zkSync EraZK-L2"linea"LineaZK-L2"scroll"ScrollZK-L2"zora"ZoraOP-Stack"mantle"MantleL2"celo"CeloEVM"gnosis"GnosisxDai"fantom"FantomEVM+ TESTNETS: sepolia, base-sepolia, polygon-amoy, arbitrum-sepolia, optimism-sepolia
Deployed across every major EVM chain.
Awarizon infrastructure is chain-agnostic and EVM-native — deploy once, run on any compatible network.
Start building on-chain
in 60 seconds.
Get an API key from your dashboard, run the install command, and make your first on-chain read before the page finishes loading.