Credential verifier — UpSkillZone
Verify a credential.
Every UpSkillZone credential carries an Ed25519 signature and a public id. Paste the id below and we’ll render the cryptographic proof, the live revocation state, and the achievement at the moment of view — server-side, no client cache.
Look up by public id
The public id is the slug at the end of any upskillzone.com/verify/… link a learner has shared with you. URLs paste-cleanly too.
Verify out-of-band
You don’t need our frontend. Hit the same endpoint our server uses and read the JSON yourself:
# Wire-level verify — no UpSkillZone code required
curl -sS -X POST \
https://upskillzone.com/api/v1/credentials/{public_id}/verify | jqFor full independence, fetch the JWKS and verify the JWS envelope directly against the issuer kid:
# Verify the signature directly against our JWKS
import httpx, jwt
jwks = httpx.get("https://upskillzone.com/.well-known/jwks.json").json()
token = httpx.get(f"https://upskillzone.com/api/v1/credentials/{public_id}").json()["proof"]["jwt"]
header = jwt.get_unverified_header(token)
key = next(k for k in jwks["keys"] if k["kid"] == header["kid"])
jwt.decode(token, key=key, algorithms=["EdDSA"], options={"verify_aud": False})What “valid” means here
- The credential’s JWS signature verifies against an issuer key advertised in our JWKS, current or retired.
- The credential is not present in any active StatusList2021 revocation list.
- The achievement and skill records embedded in the credential haven’t been retracted by their issuing mentors.
A revoked credential with a still-valid signature reads REVOKED. Revocation dominates.