Documentation
DawaTrace is a blockchain platform for India's pharmaceutical supply chain, built for the CDAC Blockchain India Challenge 2026. Every batch of medicine is tracked and publicly verifiable on Sui.
All supply chain logic runs in Move smart contracts on Sui with capability-based access control. Only authorized addresses (manufacturers, distributors, chemists, regulators) can perform actions. Anyone can verify batch authenticity via the public Sui RPC.
| Org ID | Role | Primary actions |
|---|---|---|
| CDSCO-REG-* | Regulator | issueRecall, flagChemist, analytics |
| MFG-* | Manufacturer | mintBatch |
| DIST-* | Distributor | transferBatch |
| CHEM-* | Chemist | dispenseMedicine (offline-capable) |
| — | Patient | verifyBatch, report suspicious batch |
| Module | File | Description |
|---|---|---|
| dawa_trace::batch | batch.move | BatchObject, mint_batch, mark_recalled, verify_batch |
| dawa_trace::custody | custody.move | CustodyRecord (frozen), transfer_custody |
| dawa_trace::dawa_points | dawa_points.move | Non-transferable loyalty points |
| dawa_trace::bridge_cap | bridge_cap.move | Capability-based access control |
Anyone can call verify_batch against the public Sui RPC — no API key, no login required.
Regulator issues recall via dashboard → Sui mark_recalled tx submitted (~5s) → BatchObject.recalled = true on-chain (~10s) → Dashboard polls and reflects recall ─────────────────────────────────────────────── Total: typically 10–15s, hard limit 60s
# Publish Sui contracts to devnet make sui-deploy # Start the web app (Next.js) npm run dev
Copy .env.example to .env. Critical variables:
| Variable | Description |
|---|---|
| SUI_RPC_URL | Sui fullnode RPC (default: devnet) |
| SUI_PACKAGE_ID | Published Sui package ID |
| API_JWT_SECRET | JWT signing secret (min 32 chars) |