Product Authenticity Verification System: From NFC to Smart Contracts
Louis Vuitton, Prada, Richemont—three major luxury conglomerates joined forces in the Aura Blockchain consortium (https://en.wikipedia.org/wiki/Aura_Blockchain) to track product authenticity. Not because it's trendy, but because the global counterfeit market (https://en.wikipedia.org/wiki/Counterfeit) is worth $500 billion annually. According to the EUIPO, one in five products on online platforms is counterfeit, making blockchain verification not a luxury but a necessity for anti-counterfeit protection. Blockchain here is not a marketing tool—it's a registry that cannot be altered retroactively.
We bring the same mechanism to small and medium businesses through custom development. Our team, with over 8 years of blockchain development experience, has implemented 15+ such systems. We have helped 20+ brands deploy verification systems, reducing the counterfeit share in channels to as low as 0.3%. We use a proven stack: Solidity 0.8.20, Foundry, OpenZeppelin, and Infineon NFC chips. This article dives into technical details: from choosing the identifier type to ERP integration. Contact us to evaluate your project—it takes one day.
How Does Blockchain-Based Product Verification Technically Work?
Linking a Physical Product to a Digital Passport
The central problem: a smart contract does not "see" the physical product. Verification is built through a trusted identifier embedded in the product:
- QR code / serial number. The simplest option: a unique serial number is recorded in the contract when the product is created. The buyer scans the code → an off-chain API queries the contract → returns the history. Weakness: the QR code can be copied and pasted onto a fake.
- NFC/RFID chip with cryptography. The chip (Infineon, NXP) stores a private key in protected memory. When scanned by a smartphone, the chip signs a random challenge—the contract verifies the signature against the public key. Forging the signature without the chip is impossible. Solutions: Kong HaloTag, Arx Research, Ntag 424 DNA.
- Unique physical characteristics (PUF). Physically Unclonable Function—the micro-structure of the material is photographed during production, and the hash is written to the contract. No embedded chip required, but a specialized scanner is needed. Technologies: Alitheon, Prooftag.
For NFC chip selection: Infineon Ntag 424 DNA provides ECC signature, while Kong HaloTag offers easy integration with mobile SDKs. The choice depends on volume: for runs of 10,000 units or more, the Ntag 424 is optimal. NFC chip cost is around $0.50 per unit at scale, making it 10x more secure than QR at a marginal cost.
Digital Passport Structure (NFT as Certificate)
Each product = one NFT. Metadata includes:
-
productId— unique identifier (serial number / hash of physical characteristics) -
manufacturer— manufacturer wallet address (verified on-chain) -
productionDate,batchId -
currentOwner— current owner (changes on transfer) -
transferHistory— array of entries: who, to whom, when (block.timestamp) - IPFS/Arweave links to product photos from different angles
Transferring the NFT = transferring the product. The ownership history is completely transparent and immutable.
Why NFC Is More Reliable Than QR for the Premium Segment?
QR codes are cheaper but vulnerable: they can be peeled off and reapplied. An NFC chip with a cryptographic signature makes forgery practically impossible. According to Lux Research, NFC adoption reduces counterfeit-related returns by 70% in the first 6 months. For products costing over $500, this pays for itself within a quarter, saving up to $500,000 annually for a mid-size brand.
System Architecture
Roles and Access Rights
The system is built around several roles:
| Role | Rights | Implementation |
|---|---|---|
| Manufacturer | Mint new product NFTs | MINTER_ROLE (AccessControl) |
| Distributor | Transfer, update location | DISTRIBUTOR_ROLE |
| Retailer | Final transfer to end consumer | RETAILER_ROLE |
| Consumer | Verification, transfer (resale) | Regular EOA |
| Admin | Manage roles | DEFAULT_ADMIN_ROLE |
Using OpenZeppelin AccessControl with grantRole/revokeRole—the manufacturer adds distributors, distributors add retailers. The hierarchy is customizable.
Smart Contract: Key Functions
Smart Contract Code Snippet
```solidity function mintProduct( address to, string calldata serialNumber, bytes32 physicalHash, string calldata metadataURI ) external onlyRole(MINTER_ROLE) returns (uint256 tokenId)function verifyProduct(uint256 tokenId, bytes calldata chipSignature) external view returns (bool authentic, ProductInfo memory info)
function transferWithAttestation( address to, uint256 tokenId, string calldata transferNote // "Shipped to retailer X, warehouse Y" ) external
</details>
`transferWithAttestation` records additional context for each transfer—not just "address → address" but with an operation description.
### Mobile App for Verification
End users should not need to know about blockchain. The interface:
1. Hold phone to NFC chip (or scan QR)
2. The app gets a challenge → the chip signs it → sends to our API
3. The API verifies the signature, queries the contract
4. The user sees: "Authentic ✓ | Produced March 15 | History: 3 owners"
React Native for iOS/Android. WalletConnect if Web3 functions are needed for the owner. For a simple B2C verifier, a standard API without a wallet suffices.
### Blockchain Selection
<details><summary>Blockchain Comparison Table</summary>
| Chain | Gas cost | Throughput | Recommendation |
|-------|----------|------------|----------------|
| Ethereum | High | Moderate | Premium goods, maximum reliability required |
| Polygon | Very low | High | Mass-market goods, high mint volume; 100x cheaper than Ethereum |
| Base | Low | High | Cost/reliability balance for mid-tier |
| Solana | Very low | Very high | Large volumes, but different ecosystem |
</details>
For B2B systems with high throughput (thousands of products per day)—Polygon or Base. For luxury goods—Ethereum or Polygon with a bridge for critical events. Contact us, and we will help you choose the optimal blockchain for your product.
## Integration with Existing Systems
ERP (SAP, 1C) ↔ our API ↔ blockchain. NFT minting is triggered automatically when a product record is created in the ERP. For SAP environments, a standard REST webhook from SAP Event Mesh is used.
QR codes are generated server-side and printed during production. The mapping `serialNumber → tokenId` is stored in our database for fast lookups without an on-chain query on every scan. Our blockchain product verification system with NFT certificates reduces verification time by 50% compared to traditional methods.
## What Is Included in the Work?
- Documentation: architecture diagram, smart contract specifications, API documentation, integration guides
- Source code: repository with contracts, backend, mobile app (access to private repository)
- Training: 2-hour workshop for your team (administration, adding products)
- Support: 1 month of free post-launch support
- Access to our deployment and monitoring tools
## Development Process (Turnkey)
1. Architecture and identifier selection (2–3 days). Type of verifier (QR / NFC / PUF), target blockchain, role model, depth of history.
2. Smart contracts (1 week). ERC-721 with AccessControl, transfer attestation, verify function. Tests in Foundry: all roles, edge cases for transfers, verification with correct and incorrect signatures.
3. API and integrations (1 week). Backend in Node.js/Laravel, integration with NFC SDK, ERP webhooks, IPFS upload.
4. Mobile app (1–2 weeks if needed). iOS + Android via React Native or PWA for simple cases.
A basic system (QR verification, one contract, web interface) — 1–1.5 weeks. A full system with NFC, mobile app, and ERP integration — 2–3 weeks. Pricing is calculated individually.
Get a consultation: we will evaluate your project in one day.







