ChainSeal OG
ChainSeal OG (Once Guard) stops recycled and counterfeit packaging in FMCG and pharma.
视频
技术栈
描述
Project name
ChainSeal OG
One-liner
Scan the package. Pay. The package is locked forever.
Short description (for character-limited fields)
ChainSeal OG stops recycled and counterfeit packaging in FMCG and pharma. Every carton and item is tracked on Arbitrum from factory to shop. When a buyer pays, one transaction sends the money to the shop and locks the item as REDEEMED, so a refilled package is rejected on the next scan.
Problem
The problem of counterfeiting has become a critical issue. You can watch the documentary video at the following YouTube link: Watch Documentary on YouTube
Packaging fraud is simple and cheap. Scavengers and criminals pick up empty bottles and boxes after a genuine sale, refill them with fake or diluted product, and sell them again as new. In FMCG and especially in pharmaceuticals, this puts consumers at risk and damages the brand.
Today's anti-counterfeit tools fall short for three reasons:
A printed code stays valid forever. A normal QR code or barcode proves nothing after the first sale, so a refilled package scans exactly like a genuine one.
Supply-chain records are siloed. Factories, distributors and shops each keep their own records, so a buyer cannot see where an item has actually been.
Verification and payment are separate. Checking authenticity is an optional extra step, so most people never do it.
Solution
ChainSeal OG is a phygital RWA protocol: each physical carton and item gets an on-chain identity on Arbitrum, and the moment of sale becomes the moment of verification and lock.
1. Factory mints. The factory mints a carton that wraps exactly 10 items. Each carton and each item gets a QR code.
2. Controlled B2B transit. The carton moves from factory to distributors to the shop with a two-step handover: the sender ships, the receiver scans and confirms. The contract allows at most 5 transfers, and only registered, KYC-flagged wallets can take part. Wholesale prices stay off-chain.
3. Shop unpacks. The shop scans the carton, taps Unpack and sets the retail price. The 10 items become active, each bound to the shop's wallet as the payee.
4. Consumer verifies. The consumer scans an item QR with the phone camera. The website opens and shows the custody history from the factory to the shop, the factory name, authenticity status and price.
5. Atomic payment and Once Guard. The consumer signs in with Google (a wallet is created automatically) and taps Pay. In a single transaction, USDG is pulled from the consumer, sent to the shop, and the item is locked as REDEEMED.
6. Re-scan protection. If anyone scans the same package again, the screen turns red: ALREADY REDEEMED / THIS IS PROBABLY USED OR COUNTERFEIT. A refilled package cannot be sold as new again.
Why this solution is better
Payment is the lock. Verification, payment and locking happen in one atomic transaction. If the transfer fails, nothing is locked. There is no gap in which a package is paid but still reusable.
Consumers can verify before paying, for free. Scanning needs no account. Only the payment needs a sign-in.
Zero crypto friction. Login with Google creates an embedded wallet. There is no MetaMask and no seed phrase. The balance is shown like a normal digital wallet ("Balance: $100.00"). A small gas sponsor pays starter fees on testnet.
One signature, one transaction.
payWithPermituses an ERC-2612 signature, so the buyer does not need a separate approve step.Shared, tamper-evident history. Every handover is recorded on-chain, so the buyer sees the real path of the item.
Controlled network. Role-based access (Factory, Distributor, Seller) with a KYC flag, a hard limit of 5 transfers, and a rule that the last hop must be a shop.
Private wholesale pricing. B2B prices never touch the blockchain; only the retail price chosen at unpack time is stored.
Cheap and fast on Arbitrum. Item-level tracking is only practical when transactions cost very little.
Stablecoin ready. The contract works with any ERC-20, so real USDG can replace the test token by changing one constructor argument.
How the application works
Role | What they do in the app |
|---|---|
Factory | Register distributor and seller wallets (KYC flag set), mint cartons with 10 items, print QR labels, ship cartons |
Distributor | Scan a carton, confirm receipt, ship it onward |
Seller | Scan and receive the carton, tap Unpack, set the retail price |
Consumer | Scan an item, see authenticity, history and price, sign in with Google, claim test USDG from the faucet, pay |
Item QR codes contain a link to the official site (https://chainseal-og.vercel.app/?item=ITEM-ID), so the phone's normal camera opens the verification page directly. The page reads the contract and shows one of four results:
Result | Meaning |
|---|---|
Green: GENUINE PRODUCT | Active, never sold; shows history, price, payee and the Pay button |
Yellow: NOT ACTIVATED YET | Registered, but the carton has not been unpacked by a shop |
Red: NOT REGISTERED | The ID does not exist in the factory records |
Red: ALREADY REDEEMED | Already paid for; probably used or counterfeit |
Technology
Chain: Arbitrum Sepolia (chainId 421614)
Smart contracts: Solidity 0.8.28, OpenZeppelin 5 (AccessControl, ReentrancyGuard, SafeERC20, ERC20Permit, EnumerableSet), Hardhat. Two contracts:
ChainSealandMockUSDG(ERC-20, 6 decimals, permit, faucet).Testing: 17 automated tests covering access control, minting, handover, the 5-transfer limit, unpack, permit payment, double-redeem rejection, atomic revert on low balance and the faucet.
Frontend: Next.js 15, React 19, Tailwind CSS, viem
Accounts: Privy embedded wallets with Google login
QR: html5-qrcode (scanner) and qrcode (label generation)
Hosting: Vercel, with a server route that sponsors starter gas on testnet
Why Arbitrum
Item-level tracking means many small transactions: minting, handovers, unpacking and one payment per item. Arbitrum's low fees and fast confirmations make that practical, and its EVM compatibility lets us use standard OpenZeppelin contracts and common wallet tooling. The contract is plain Solidity, so it can also target other EVM chains in the Arbitrum ecosystem; we have not tested Robinhood Chain yet.
Stablecoin note (Paxos USDG)
The payment layer is designed around USDG: 6 decimals, ERC-2612 permit with a fallback to approve + pay, and a token address set in the constructor. For the testnet demo we use MockUSDG, because we did not find a Paxos USDG deployment on Arbitrum Sepolia (Paxos lists test networks on Ethereum Sepolia, Solana Devnet and Ink Sepolia). Moving to real USDG is a configuration change, not a redesign.
What we built
Two smart contracts with 17 passing tests, deployed on Arbitrum Sepolia
A single web app whose menus change by wallet role (Factory, Distributor, Seller, Consumer)
Camera QR scanning and printable QR label generation
Google login with auto-created wallets and a testnet gas sponsor
Live deployment on Vercel, so anyone can try the consumer flow
本次黑客松进展
During the hackathon, we built the ChainSeal OG protocol from concept into a fully functional Phygital Supply Chain DApp. Our key milestones include:
Smart Contract Engineering: Developed
ChainSeal.solandMockUSDG.sol(Solidity 0.8.28, OpenZeppelin v5) with 17 automated passing tests.Core Protocol Logic: Implemented a two-step B2B handover system, an anti-hoarding limit (max 5 transfers), and the "Once Guard" mechanism for atomic payment and permanent item locking (Anti-counterfeiting).
Blockchain Deployment: Successfully deployed and stabilized the smart contracts on the Arbitrum Sepolia testnet.
Web App & Phygital Scanner: Built a Next.js 15 SPA with role-adaptive dashboards for B2B (Factory, Distributor, Seller) and a built-in QR scanner for B2C (Consumers).
Consumer UX (Account Abstraction): Integrated Privy (Google Login) to generate embedded wallets without seed phrases, coupled with a custom gas-drip API to auto-fund testnet transactions for frictionless consumer checkout.
End-to-End Testing: Successfully demonstrated the physical-to-digital loop using printed QR codes on physical items.
Current Status & Future Development: Please note that the current live version is a Minimum Viable Product (MVP) built as a proof-of-concept for this hackathon. We plan to develop this protocol further post-hackathon. Our future roadmap includes implementing hardware-level physical security (scratch-off codes/NFC tags), integrating real decentralized oracles for B2B KYC, deploying ERC-4337 paymasters for completely gasless consumer transactions, and exploring mainnet/Robinhood Chain deployment.
融资状态
N/A