Zerow: ESPR certificates notarised on a blockchain
Zerow's certificates lived in an editable database. The proof of their integrity now sits on a public blockchain.

- Year
- 2026
The problem
Zerow certifies for fashion brands how waste and unsold stock are handled: origin, composition, destination, whether recycling, donation or reuse. These are certificates that end up in front of client brands, auditors and authorities, in the context of the disclosure obligations under the ESPR.
The problem was not producing them, it was proving them. The certificates lived inside Zerow's Bubble management system: a central database that is, by nature, editable. No technical guarantee that a document had not been touched up afterwards, and the proof in the hands of the same party that produces it.
How we solved it
We put them on a blockchain, or rather, we did not put them there. Only the cryptographic fingerprint of the document goes on-chain, along with the block timestamp and the batch metadata. The content stays private inside Zerow; what is public is the proof that the document existed, in that form, on that date.

The service is a serverless microservice: an API Gateway protected by an API key, a TypeScript and Hono Lambda that talks to the contract through ethers, and the wallet key in Secrets Manager rather than in the code. The DocumentNotary contract is written in Solidity, covered by unit and integration tests with fuzzing, and deployed idempotently by the same pipeline to two networks: Amoy in development, Polygon mainnet in production.
Verification does not go through us. Given a hash, anyone can query the API or read the public contract directly on Polygonscan: a brand, an auditor, an authority. No access to Zerow's systems required, and Zerow itself can no longer change what it has recorded.
They asked us for a feasibility study. We delivered the product.
A Solidity smart contract (DocumentNotary), developed with Hardhat and tested in Solidity (Foundry) and in integration (Mocha and ethers), fuzz tests included. It runs on Polygon mainnet in production and Amoy in test, chosen for its minimal fees. The backend microservice is TypeScript with Hono, Zod validation and ethers v6 to talk to the chain, on AWS serverless (Lambda and API Gateway through SAM, Secrets Manager for the wallet key, CloudWatch, API keys). CI/CD with GitHub Actions: two pipelines, idempotent contract deployment and deployment state versioned in the repository. Just two REST endpoints, to graft all of this onto the existing Bubble management system without rewriting it.
Stack: Solidity, Hardhat, Polygon, TypeScript, Hono, ethers, AWS Lambda, AWS SAM, GitHub Actions
A Solidity smart contract (DocumentNotary), developed with Hardhat and tested in Solidity (Foundry) and in integration (Mocha and ethers), fuzz tests included. It runs on Polygon mainnet in production and Amoy in test, chosen for its minimal fees. The backend microservice is TypeScript with Hono, Zod validation and ethers v6 to talk to the chain, on AWS serverless (Lambda and API Gateway through SAM, Secrets Manager for the wallet key, CloudWatch, API keys). CI/CD with GitHub Actions: two pipelines, idempotent contract deployment and deployment state versioned in the repository. Just two REST endpoints, to graft all of this onto the existing Bubble management system without rewriting it.
Stack: Solidity, Hardhat, Polygon, TypeScript, Hono, ethers, AWS Lambda, AWS SAM, GitHub Actions
- Year
- 2026
Got something similar in mind?
Tell us what you want to build and we will help you find the shortest way there.






