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.
<p>Built ZeroViza from scratch during the hackathon. Status as of submission:</p><p><strong>Smart contracts (0G Aristotle Mainnet, chain id 16661):</strong></p><ul><li><p><code data-inline="true" spellcheck="false">StorageIndex.sol</code> → <code data-inline="true" spellcheck="false">0x486aFe3c1e3dE1253B31C82A30d5270e63403c27</code></p></li><li><p><code data-inline="true" spellcheck="false">LawyerRegistry.sol</code> → <code data-inline="true" spellcheck="false">0x93A931e8ec6193c2D9F4faf28e85AaBEd9601eEC</code></p></li><li><p><code data-inline="true" spellcheck="false">CaseAgentNFT.sol</code> (ERC-7857 INFT) → <code data-inline="true" spellcheck="false">0xF89EC187E9062CDE86719273b85F3C6974A40829</code></p></li><li><p><strong>39 passing Foundry tests</strong> across StorageIndex (15) and LawyerRegistry (24)</p></li><li><p>Operator wallet pays all gas, compute, and storage: <code data-inline="true" spellcheck="false">0xE5A747FA09271C8d479Cf718b205F8aADd6E4C30</code></p></li></ul><p><strong>Agentic AI layer:</strong></p><ul><li><p>Tool-calling agent loop with 5 tools: <code data-inline="true" spellcheck="false">lookup_embassy</code>, <code data-inline="true" spellcheck="false">find_service_provider</code>, <code data-inline="true" spellcheck="false">create_case</code>, <code data-inline="true" spellcheck="false">extract_profile_facts</code>, <code data-inline="true" spellcheck="false">hire_provider</code></p></li><li><p>Streaming SSE chat (<code data-inline="true" spellcheck="false">/api/chat/stream</code>) — tools resolve non-streaming, final answer streams token-by-token with tool cards + citations</p></li><li><p>Proactive morning routine (<code data-inline="true" spellcheck="false">/api/agent/run</code>) — daily case analysis + AI action items pushed to user inbox</p></li><li><p>7 demo personas with personaPrompt injection through 0G Compute for agent-to-agent hire simulations</p></li><li><p>On-chain hire receipts: native 0G token transfer with JSON receipt embedded in tx calldata, viewable on chainscan</p></li></ul><p><strong>0G integration:</strong></p><ul><li><p>0G Compute: direct OpenAI-compatible HTTP + <code data-inline="true" spellcheck="false">@0glabs/0g-serving-broker</code> fallback; GLM-5 FP8, DeepSeek v3, qwen-2.5-7b supported</p></li><li><p>0G Storage: <code data-inline="true" spellcheck="false">@0glabs/0g-ts-sdk</code> with turbo indexer; chat JSONL, profile JSON, documents, lawyer metadata, embassy snapshots all content-addressed</p></li><li><p>INFT auto-refresh: every chat persist updates the NFT's contentHash on-chain to bind chain commitment to fresh 0G blob</p></li></ul><p><strong>Product surface:</strong></p><ul><li><p><strong>22 API routes</strong> covering chat (streaming + non-streaming), profile, cases, documents, embassies, lawyers (apply/status/verify), agent (run/inbox/status/mint), admin</p></li><li><p><strong>9 user-facing pages</strong>: <code data-inline="true" spellcheck="false">/connect</code>, <code data-inline="true" spellcheck="false">/</code> (dashboard), <code data-inline="true" spellcheck="false">/chat</code>, <code data-inline="true" spellcheck="false">/documents</code>, <code data-inline="true" spellcheck="false">/cases</code>, <code data-inline="true" spellcheck="false">/resources</code>, <code data-inline="true" spellcheck="false">/embassies</code>, <code data-inline="true" spellcheck="false">/lawyers</code>, <code data-inline="true" spellcheck="false">/lawyers/apply</code></p></li><li><p><strong>30+ language auto-detection</strong> in system prompt (English, Spanish, French, Arabic, Hindi, Yoruba, Igbo, Hausa, Swahili, Tagalog, Mandarin, etc.)</p></li><li><p><strong>RAG retrieval</strong> over 30+ guide articles with field-weighted scoring; sources panel under each AI response</p></li><li><p><strong>8-status visa case tracker</strong> (preparing → submitted → biometrics → interview → approved/rejected/appeal) with local-first Zustand + auto-sync to 0G</p></li><li><p><strong>Daily streak counter</strong> persisted to profile blob</p></li><li><p><strong>10+ wallets</strong> via RainbowKit v2 + wagmi v2 + viem v2 (MetaMask, OKX, Phantom, Trust, Coinbase, Brave, Rabby, SubWallet, WalletConnect, Injected)</p></li><li><p><strong>Mobile-first PWA</strong> with manifest, installable on iOS/Android</p></li></ul><p><strong>Live</strong>: <a rel="noopener noreferrer" target="_blank" href="https://zeroviza.vercel.app/">zeroviza.vercel.app</a> <strong>Repo</strong>: <a rel="noopener noreferrer" target="_blank" href="https://github.com/Sage-senpai/Abobi">github.com/Sage-senpai/</a><strong>zeroviza</strong> <strong>Architecture doc</strong>: <code data-inline="true" spellcheck="false">docs/hackathon/ARCHITECTURE.md</code></p>
<h4><span style="color: rgb(204, 204, 204)">Pre-seed / bootstrapped. No external funding raised. Solo builder. Received a ~ 5 0G mainnet gas grant from HackQuest to cover mainnet deployment (StorageIndex, LawyerRegistry, CaseAgentNFT) and fund the 0G Compute ledger for live judge inference. Beyond the hackathon, planning to publish a public technical case study showing how to combine 0G Storage + Compute + Chain for a consumer app — and to open conversations with grant programs and angels interested in privacy-preserving AI for migrants and refugees.</span></h4>