Institutional context
Employers and universities need to establish whether academic certificates are genuine. However, direct verification with the issuing institution can require time-consuming manual inquiries, particularly across borders. Graduates also need a reliable way to share their qualifications when applying for work or further study.
Singapore’s Government Technology Agency (GovTech) developed OpenCerts with education-sector partners to make these checks easier. It provided open-source tools and a common digital format that institutions could adopt, allowing graduates to share certificate files that recipients could verify for themselves.
System design
An institution creates a digital certificate file and gives it to the graduate. The graduate can send it to an employer or university, which checks it through the OpenCerts website.
In the original 2018 implementation which used Ethereum, the software created a cryptographic hash, a short code calculated from the certificate’s contents. If the certificate changed, the code changed too. Institutions could record the issuance of multiple certificates together in Ethereum’s shared public record. Each file included information linking it to that public record, without publishing the student’s academic details on Ethereum.
When a certificate was checked, OpenCerts could confirm that it had been issued, had not been altered, and had not been withdrawn. It also checked information from the institution’s official domain or an issuer directory to help confirm who issued it.
In October 2025, the framework supporting the original Ethereum-based model was retired, and OpenCerts v3 transitioned to using a different method called TrustVC. Instead of registering new certificates on Ethereum, institutions add a digital signature to each file so others can check who issued it and whether it has changed. An online status list records whether a certificate has been withdrawn. Older Ethereum-backed certificates remain verifiable.
Ethereum’s role
The original implementation used Ethereum’s public network rather than a separate blockchain operated by the participating institutions. Each institution used a smart contract, a program on Ethereum, to record when certificates were issued or withdrawn. The records could be viewed publicly, while only accounts authorized by the issuing institution could add or update its official entries. This combined institutional control over official credentials with records that could be independently verified.
Status and milestones
-
1 October 2025
The framework supporting the original Ethereum-based model was retired. OpenCerts subsequently moved to TrustVC for new credentials, while older certificates remain verifiable.
-
2 December 2019
GovTech reported that 18 institutions in Singapore were using OpenCerts, alongside adoption by overseas institutions and technology providers.
-
27 August 2018
GovTech publicly described OpenCerts’ use of Ethereum to issue and check academic credentials, with open-source software and standards available for other institutions to reuse.
Implementation considerations
Institutions using the original model needed to secure the accounts and credentials used to publish official records, have clear authority to issue or revoke certificates, and make arrangements to cover Ethereum network fees for publishing official records. OpenCerts documented an optional process requiring approval from multiple authorized parties before issuance. Institutions also need to maintain the appropriate verification tools as credential formats change.
Sources
- PDPC: personal data protection considerations for blockchain designJuly 2022
- How government and corporates can collaborate to drive blockchain innovation2 December 2019
- GovTech: why OpenCerts was developed27 August 2018
- Frequently Asked Questions
- Migration Guide: OpenAttestation to TrustVC
- OpenCerts
- OpenCerts
- OpenCerts: deploying an institution’s certificate store
- OpenCerts: issuance with multiple approvals
- OpenCerts: issuing certificates on Ethereum
- OpenCerts: OpenAttestation deprecation and TrustVC transition notice
- OpenCerts: registering certificates in batches
- OpenCerts: verifying issuer identity