SDKs
TS, Rust, Go, Python, Swift
Transport
gRPC, REST, WebSocket
Docs
Versioned, with playground
Rate
10k req/s, burst 50k
issue-credential.ts
// Issue a verifiable credential
import { Vessoul } from "@vessoul/sdk";
const client = new Vessoul({
zone: "eu-sovereign-1",
identity: process.env.VSSL_IDENTITY,
});
const credential = await client.credentials.issue({
subject: "did:vssl:0x7a3f...e91",
claims: { role: "admin", scope: ["read", "write"] },
policy: {
ttl: "30d",
disclosure: "selective",
},
});
// Returns a ZK-attested envelope
console.log(credential.proof);verify.ts
// Verify anywhere, in milliseconds
const ok = await client.verify(credential.proof, {
expect: { role: "admin" },
});
if (ok) grantAccess();