ZeroViza
ZeroViza is a multilingual AI immigration advisor built entirely on 0G decentralized infrastructure. It gives immigrants, refugees, and international professionals free, confidential AI guidance on vi
Videos




Tech Stack
Description
ZeroViza is a decentralized, agentic AI immigration legal aid platform built end-to-end on 0G infrastructure. Over 280 million people live outside their country of birth, and immigration advice costs $200–500/hour — pricing out the migrants, refugees, and asylum seekers who need it most. The centralized apps that do exist leak sensitive immigration data (passport numbers, asylum details, family situations) to servers that can be subpoenaed, hacked, or shut down. ZeroViza fixes both: free multilingual AI legal guidance, and zero centralized data — every byte lives on 0G.
What makes ZeroViza agentic:
Tool-calling agent loop (
src/lib/agent/loop.ts) with up to 4 iterations per turn — the AI uses tools to look up embassies, query the on-chain lawyer registry, create visa cases, extract persona facts, and hire verified service providers via on-chain agent-to-agent paymentsPersona memory extracted automatically each turn (citizenship, target country, profession, education, family, languages, English level, budget, prior visa history) and persisted to 0G Storage
Proactive morning routine (
src/lib/agent/morningRoutine.ts) — autonomously analyzes user's active cases daily for staleness, upcoming biometrics/interviews, and pushes AI-generated action items to a per-user agent inboxERC-7857 INFT (
CaseAgentNFT.sol) — every user's personal Case Agent is minted as a transferable Intelligent NFT on 0G Aristotle Mainnet, with encrypted memory on 0G Storage and contentHash auto-refreshed on every chat persist; supportsauthorizeUsageto delegate execution to verified providers, plus clone for forking
Three 0G pillars used end-to-end in a consumer product:
0G Compute — GLM-5 / DeepSeek v3 inference, Sealed Inference (TEE) capable, OpenAI-compatible HTTP + broker SDK fallback
0G Storage — chat history (JSONL), persona profile, documents, lawyer/embassy snapshots, INFT memory blobs — all content-addressed
0G Chain (Aristotle Mainnet) —
StorageIndex.sol(per-wallet root commitments),LawyerRegistry.sol(verified service-provider registry with apply/verify/reject lifecycle),CaseAgentNFT.sol(ERC-7857)
Multilingual (30+ languages auto-detected), 50+ destination countries, RAG over 30+ guide articles, 22 embassy/consulate contacts, 8 service-provider categories, 7 verified demo personas with on-chain agent-to-agent hire receipts in tx calldata. Web3-native, mobile-first PWA, 10+ wallets via RainbowKit. Users sign once for identity — the operator wallet pays all gas, compute, and storage fees so guidance stays free.
Progress During Hackathon
Built ZeroViza from scratch during the hackathon. Status as of submission:
Smart contracts (0G Aristotle Mainnet, chain id 16661):
StorageIndex.sol→0x486aFe3c1e3dE1253B31C82A30d5270e63403c27LawyerRegistry.sol→0x93A931e8ec6193c2D9F4faf28e85AaBEd9601eECCaseAgentNFT.sol(ERC-7857 INFT) →0xF89EC187E9062CDE86719273b85F3C6974A4082939 passing Foundry tests across StorageIndex (15) and LawyerRegistry (24)
Operator wallet pays all gas, compute, and storage:
0xE5A747FA09271C8d479Cf718b205F8aADd6E4C30
Agentic AI layer:
Tool-calling agent loop with 5 tools:
lookup_embassy,find_service_provider,create_case,extract_profile_facts,hire_providerStreaming SSE chat (
/api/chat/stream) — tools resolve non-streaming, final answer streams token-by-token with tool cards + citationsProactive morning routine (
/api/agent/run) — daily case analysis + AI action items pushed to user inbox7 demo personas with personaPrompt injection through 0G Compute for agent-to-agent hire simulations
On-chain hire receipts: native 0G token transfer with JSON receipt embedded in tx calldata, viewable on chainscan
0G integration:
0G Compute: direct OpenAI-compatible HTTP +
@0glabs/0g-serving-brokerfallback; GLM-5 FP8, DeepSeek v3, qwen-2.5-7b supported0G Storage:
@0glabs/0g-ts-sdkwith turbo indexer; chat JSONL, profile JSON, documents, lawyer metadata, embassy snapshots all content-addressedINFT auto-refresh: every chat persist updates the NFT's contentHash on-chain to bind chain commitment to fresh 0G blob
Product surface:
22 API routes covering chat (streaming + non-streaming), profile, cases, documents, embassies, lawyers (apply/status/verify), agent (run/inbox/status/mint), admin
9 user-facing pages:
/connect,/(dashboard),/chat,/documents,/cases,/resources,/embassies,/lawyers,/lawyers/apply30+ language auto-detection in system prompt (English, Spanish, French, Arabic, Hindi, Yoruba, Igbo, Hausa, Swahili, Tagalog, Mandarin, etc.)
RAG retrieval over 30+ guide articles with field-weighted scoring; sources panel under each AI response
8-status visa case tracker (preparing → submitted → biometrics → interview → approved/rejected/appeal) with local-first Zustand + auto-sync to 0G
Daily streak counter persisted to profile blob
10+ wallets via RainbowKit v2 + wagmi v2 + viem v2 (MetaMask, OKX, Phantom, Trust, Coinbase, Brave, Rabby, SubWallet, WalletConnect, Injected)
Mobile-first PWA with manifest, installable on iOS/Android
Live: zeroviza.vercel.app Repo: github.com/Sage-senpai/zeroviza Architecture doc: docs/hackathon/ARCHITECTURE.md