The protocol specification covers the domain-specific language (DSL) for definition of credential types, format of credentials, components and standard workflows throughout the lifecycle of credentials. Designed to be minimalism and future-proofing, the protocol isolates rapid-changing zero-knowledge proof technology from the core elements of a credential, using the modular verification stack design. For implementations that are specified by the chosen verification stack, we use BabyZK stack as an example for illustration.