W3C Verifiable Credentials

Trust Hub implements the W3C Verifiable Credentials standard with post-quantum signatures. Credentials can be issued, held, presented, and verified.

Issuance

from trusthub import CredentialIssuer

issuer = CredentialIssuer(signer=signer, keypair=keypair)
credential = issuer.issue(
    issuer_did=admin.did,
    subject_did=agent.did,
    credential_types=["VerifiableCredential", "AgentCapability"],
    claims={"capability": "tool:search"},
)

Holder & Presentation

from trusthub import CredentialHolder

holder = CredentialHolder(holder_did=agent.did)
holder.store(credential)

presentation = holder.create_presentation(
    credential_ids=[credential.id],
    signer=signer, keypair=keypair
)

Verification

from trusthub import CredentialVerifier

verifier = CredentialVerifier(resolver=resolver, signer=signer)
result = verifier.verify(credential)
print(f"Valid: {result}")  # True