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




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 payments
Persona 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 inbox
ERC-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; supports authorizeUsage to 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.
Built ZeroViza from scratch during the hackathon. Status as of submission:
Smart contracts (0G Aristotle Mainnet, chain id 16661):
StorageIndex.sol → 0x486aFe3c1e3dE1253B31C82A30d5270e63403c27
LawyerRegistry.sol → 0x93A931e8ec6193c2D9F4faf28e85AaBEd9601eEC
CaseAgentNFT.sol (ERC-7857 INFT) → 0xF89EC187E9062CDE86719273b85F3C6974A40829
39 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_provider
Streaming SSE chat (/api/chat/stream) — tools resolve non-streaming, final answer streams token-by-token with tool cards + citations
Proactive morning routine (/api/agent/run) — daily case analysis + AI action items pushed to user inbox
7 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-broker fallback; GLM-5 FP8, DeepSeek v3, qwen-2.5-7b supported
0G Storage: @0glabs/0g-ts-sdk with turbo indexer; chat JSONL, profile JSON, documents, lawyer metadata, embassy snapshots all content-addressed
INFT 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/apply
30+ 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