Skip to content

Implementations

SP/1 has two independent implementations that agree on every published vector, written in different languages by different means. That is the line between a protocol and a file format, and it is checkable in about ten seconds.

Implementation Class Language Source
PRYVC H, R TypeScript Proprietary — reference hub, pryvc.com
sp1verify V Python Apache-2.0, open source

PRYVC is the reference hub: it issues grants and certificates, maintains the audit chain, and anchors it externally. Conformance to SP/1 is defined by this specification and the published vectors, not by PRYVC’s behaviour.

sp1verify is a Class V verifier written from this specification’s text rather than ported from PRYVC’s code. It has no dependencies beyond the Python standard library, requires no account, and has no relationship with any hub.

Terminal window
git clone https://github.com/pryvcbits/share-protocol
cd share-protocol/verifier-python
python -m sp1verify vectors ../vectors/sp1-vectors.json
36/36 checks passed
Conforms to SP/1 Class V.

The same tool will inspect a live certificate from any conforming hub:

Terminal window
python -m sp1verify cert cc_a4ud31j5x6clxk99iz

If your implementation passes vectors/sp1-vectors.json, open a pull request adding it to the table. Go, Rust, Java, and C# verifiers would all be genuinely useful, and a second hub implementation would matter most of all.

Errata and disagreements about the spec text are equally welcome: if two implementers read a sentence differently, the sentence is wrong. Reach the steward at protocol@pryvc.com.