UNICESS · BLOCKCHAIN STUDENT IDENTITY

Institutional identity,
on-chain. Performed live.

UNICESS is a blockchain-backed student identity system for Android. A live demo needs two phones, a funded testnet, and network availability — so this site performs it instead: scripted, scroll-driven Demo Runs inside a Mock Phone.

SIMULATED WALKTHROUGH · NO BLOCKCHAIN · NO BACKEND · NO LIVE DATA
↓ SCROLL — THE DEMOS PLAY WITH YOUR SCROLL

FLAGSHIP · QR CREDENTIAL FLOW

Two phones. One verification.

UNICESS's QR verification needs a student, a verifier, and the blockchain — two or more phones in real life. Here both devices sit side by side, and the Demo Run performs the whole exchange in one scroll.

Two phones. One verification.

✓ Credential Verification · Registrar Office → Justin Bieber · Success

KEEP SCROLLING — THE DEMO PLAYS WITH YOUR SCROLL

ADMIN CONSOLE · ROLE-SWITCH

Every management move, on-chain.

The same phone, switched to the Registrar Office's Admin role: search the registry, edit an account, delete it — then the audit trail, where every action is recorded. Above the Admin sits the contract Owner, the role that grants every Admin their power.

One phone, a new role: the Registrar Office's Admin console.

ROLE: ADMIN · Registrar Office

KEEP SCROLLING — THE DEMO PLAYS WITH YOUR SCROLL

VERIFY & SEARCH

Verify any presented credential and search the on-chain identity registry — the console's daily work.

AUDIT TRAIL

Every verification, edit, and deletion is recorded on-chain and readable in the console — Success, Reverted, Pending.

EDIT

Deactivate or activate an account with one signed action — the edit the audit records as Changed Account Status.

DELETE

Delete a student identity on-chain when the Registrar Office says so — the contract demands a second confirmation.

OWNER

The contract owner's view: assign or revoke Admin roles and read the contract owner name.

PUBLIC LEDGER · WHAT THE PUBLIC SEES

Public on-chain. Readable in the app.

Every action lives on a public blockchain — anyone can audit it. But a raw block explorer is complicated and confusing for non-technical people. The app turns those rows into simple, readable events, with full information about the action that happened within the smart contract.

Etherscan API · sepolia — the app's audit reads the same public data
sepolia.etherscan.ioSIMULATED · NO LIVE CHAINREAL EXPLORER ↗
StatusTxn HashMethodBlockAgeFromToAmount
✓0x8f3a…3f5aDeleted Account59585513 mins ago0x3E9a…4a910x5C77…21B10 ETH
✓0x4a7c…7a5fChanged Account Status59585356 mins ago0x3E9a…4a910x5C77…21B10 ETH
✓0x6c8e…8c3eRecord Verification59575063 hrs 32 mins ago0x3E9a…4a910x5C77…21B10 ETH
✕0x9e7d…2a0cRecord Verification59574983 hrs 33 mins ago0x3E9a…4a910x5C77…21B10 ETH
✓0x1e3d…2a0cAssigned Admin Role565510642 days ago0x5F2c…2e840x5C77…21B10 ETH
✓0x3b5d…6b8dAccount Registered554710657 days ago0x842b…23b50x5C77…21B10 ETH
INPUT DATA0x1f3a9c2d…0x1f3a9c2d00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000…

Contains the student's encrypted PII (AES-GCM) — gender, email, phone, faculty, program — stored on-chain in the tx input.

AI CHAT · UTAR AI ASSISTANT

An assistant built into the app.

UNICESS ships with the UTAR AI Assistant — chat support that answers questions about the system without leaving the app. A server runs a scheduled Python scraper that ingests the UTAR website into a ChromaDB RAG index, and a local ministral-3:3b model answers from it, so the assistant handles UTAR questions (like intake dates) a general AI model can't.

The UTAR AI Assistant, one tap away in the app.

READY — ASK ME ANYTHING

✓ PYTHON SCRAPER · CHROMADB RAG

KEEP SCROLLING — THE DEMO PLAYS WITH YOUR SCROLL

SECURITY

Hardware-backed. On-chain. Private.

Two keys carry the whole trust model: a hardware-bound biometric key that signs inside the phone's secure hardware, and a runtime-generated delegate key that signs on-chain. The Demo Run below performs both key ceremonies.

Two keys guard one identity.

✓ SHA256withECDSA · secure hardware
✓ DelegateLinked · bound on-chain

KEEP SCROLLING — THE DEMO PLAYS WITH YOUR SCROLL

HARDWARE KEYSTORE

The signing key is an Android Keystore pair — secp256r1 with SHA-256, purpose SIGN, user authentication required, invalidated by new biometric enrollment. Its private half never leaves secure hardware; the app holds only the public key.

RUNTIME DELEGATE KEYS

A separate secp256k1 key is generated at runtime and persisted only in AES-256-GCM EncryptedSharedPreferences. It signs the wallet's MetaMask transactions and is bound to the identity on-chain — linkDelegate() fires the DelegateLinked event.

ENCRYPTED PII

All personal information is AES-GCM encrypted before it touches the chain — only authorized university personnel hold decryption rights.

RESEARCH

From FYP to product.

UNICESS began as a UTAR Final Year Project — the poster is the project's research summary, and the thesis lives in the university's institutional repository.

The UNICESS Final Year Project poster: forgery-resistant decentralized digital student ID

Selected for the UTAR Institutional Repository

Chen, Jin Shen (2026) Forgery resistant decentralized digital student ID. Final Year Project, UTAR.

Repository record ↗