The schema for digital certificates on the Bitcoin blockchain
Python JavaScript Shell

Build Status PyPI version


The cert-schema project contains the Blockchain Certificate JSON schema and JSON LD specification. These are extensions to Open Badges schemas allowing the entire certificate contents to be registered and verified on a blockchain.

The cert-schema python package allows verification of a Blockchain Certificate against the JSON schemas. This is not the same as validating the contents of a certificate against what is stored on the blockchain. See the cert-verifier project.


In 1.2 we've added a JSON LD schema to provide semantically rich linked data.

Certificate JSON LD

JSON Schema Raw

Running the python code locally

  1. Ensure you have an python environment. Recommendations

  2. Git clone the repository and change to the directory

    git clone && cd cert-schema
  3. Run cert-schema setup

    pip install .

Publishing package to pypi

Unit tests

This project uses tox to validate against several python environments.

  1. Ensure you have an python environment. Recommendations

  2. Run tests


Compile markdown from schema

Note that json-schema-to-markdown doesn't handle ref schemas well, so you will need to manually update any 'undefined' references.

scripts/generate_markdown.js builds the markdown-formatted schemas from json


Contact with questions