Chat-first DeFi interface for EVM. Type what you want, Zuza does it. Powered by 0G + Uniswap
Zuza is a chat-first DeFi interface where the entire wallet experience is a conversation. No swap forms. No token dropdowns. No chain selectors. You type what you want in plain English and Zuza handles everything.
Say "swap 100 USDC for ETH on Base" — Zuza understands the intent, picks the right chain based on your balances, fetches a real-time quote, and explains exactly what will happen before you sign. Multi-token splits work too: "split 1 ETH equally into USDC, LINK, and UNI" executes three parallel swaps with a progress bar and sequential signing.
Paste any contract address into the chat and Zuza becomes your safety layer — it pulls market data, checks liquidity depth, flags risks like unverified contracts or concentrated holders, and warns you before you touch anything dangerous. If it's safe, it offers to trade. If it's not, it tells you why.
Zuza also handles sends with ENS resolution ("send 10 USDC to vitalik.eth"), portfolio views with USD values across five chains, transaction history analysis, and price checks — all through conversation. User preferences like default chain, slippage, and favorite tokens are stored on-chain and persist across sessions.
Frontend is Next.js 16 with React 19, TypeScript, and Tailwind CSS v4. All AI inference runs on 0G Compute Network (mainnet) with dual model routing — Qwen3-VL-30B for fast conversational responses and GPT-OSS-120B for precise transaction construction. Responses stream token-by-token via SSE. The system prompt is injected with real-time wallet balances, gas prices, and transaction history before every message.
Swaps route through Uniswap's Trading API with full support for CLASSIC (V3/V4 pool routing), UniswapX (gasless execution via professional fillers), and CHAINED (cross-chain bridging via Across Protocol). The app handles the critical permitData difference between routing types — signing locally for UniswapX but stripping it from the submission body. Multi-swap fetches quotes in parallel and signs sequentially, with fresh quotes before each signature to avoid stale pricing. V2 pools are excluded to prevent fee-on-transfer scam routes.
User settings (default chain, slippage, tracked tokens with full metadata) are stored in ZuzaSettings, a Solidity smart contract deployed and verified on 0G Chain mainnet. Chat history is encrypted with AES-256-GCM server-side and persisted to 0G Storage mainnet via MemData, with autosave, manual save, and save-on-unload. Full message state including completed swap cards, explorer links, and risk assessments survives page reload.
Wallet connection uses Reown AppKit with wagmi and SIWE authentication, supporting 700+ wallets. Balance fetching runs across Ethereum, Base, Arbitrum, Optimism, and Polygon with per-chain dedicated RPCs. Token prices are resolved by contract address via DexScreener to avoid wrong-chain price matches. Transaction history comes from Etherscan V2 API with spam filtering.
ENS resolution is handled server-side via viem. Social sharing generates dynamic OG images via Next.js ImageResponse at the edge.
0G integration spans all three layers: Compute (inference), Chain (smart contract), and Storage (encrypted persistence).

