0.3.0 • Published 5 months ago
@agentcommercekit/vc v0.3.0
@agentcommercekit/vc
Package for creating, signing, verifying, and managing W3C Verifiable Credentials.
This package is part of the Agent Commerce Kit.
Installation
npm i @agentcommercekit/vc
# or
pnpm add @agentcommercekit/vcUsage
Creating and Signing a Credential
import { getDidResolver } from "@agentcommercekit/did"
import { createJwtSigner } from "@agentcommercekit/jwt"
import { generateKeypair } from "@agentcommercekit/keys"
import { createCredential, signCredential } from "@agentcommercekit/vc"
const issuerDid = createDidWebUri("https://issuer.example.com")
// Create credential
const credential = createCredential({
type: "ExampleCredential",
issuer: issuerDid,
subject: "did:example:subject",
attestation: {
claim: "value"
}
})
// Sign credential
const resolver = getDidResolver()
const issuerKeypair = await generateKeypair("secp256k1")
const signer = createJwtSigner(issuerKeypair)
const { jwt, verifiableCredential } = await signCredential(credential, {
did: issuerDid,
signer,
resolver
})
// jwt - signed credential in jwt form
// verifiableCredential - signed credential objectVerifying a Credential
import {
verifyParsedCredential,
parsedJwtCredential
} from "@agentcommercekit/vc"
// Parse JWT credential
const parsed = await parsedJwtCredential(jwt, resolver)
// Verify credential
await verifyParsedCredential(credential, {
resolver,
trustedIssuers: ["did:example:issuer"]
})Revocation
import { makeRevocable, isRevoked } from "@agentcommercekit/vc"
// Make credential revocable
const revocableCredential = await makeRevocable(credential, {
id: "https://example.com/status/1#0"
statusListUrl: "https://example.com/status/1",
statusListIndex: 0
})
// Check if credential is revoked
const revoked = await isRevoked(credential)API Reference
Creation and Signing
createCredential(params)- Create a new unsigned W3C Verifiable CredentialsignCredential(credential, options)- Sign a credential and return both JWT and parsed formatsisCredential(value)- Type guard for W3C Verifiable Credentials
Verification
verifyParsedCredential(credential, options)- Verify a credential's proof, expiration, and other claimsverifyProof(proof, resolver)- Verify a credential's proofisExpired(credential)- Check if a credential is expiredisRevoked(credential)- Check if a credential has been revokedparsedJwtCredential(jwt, resolver)- Parse a JWT credential string into a W3C Credential
Revocation
makeRevocable(credential, options)- Add revocation status to a credentialcreateStatusListCredential(options)- Create a credential for status list management
Schema Validation
// Zod schemas
import { credentialSchema } from "@agentcommercekit/vc/schemas/zod"
// Valibot schemas
import { credentialSchema } from "@agentcommercekit/vc/schemas/valibot"License (MIT)
Copyright (c) 2025 Catena Labs, Inc.