@genobank/akdemic-sdk
v1.0.1
Published
Akdemic × GenoBank.io — academic certificate notarization SDK. Web3 auth via AkdemicNFT; no API keys, no JWT, no session.
Maintainers
Readme
@genobank/akdemic-sdk
TypeScript / JavaScript SDK for the Akdemic × GenoBank.io certificate notarization platform. Web3-native: auth is an on-chain AkdemicNFT, no API keys, no JWT, no session state.
npm install @genobank/akdemic-sdk ethersimport { AkdemicClient } from "@genobank/akdemic-sdk";
const akdemic = new AkdemicClient({
mnemonic: process.env.AKDEMIC_MNEMONIC!,
institutionCode: "AKDEMIC-TEST",
});
const diploma = await akdemic.emit({
studentCode: "JPEREZ-2026-001",
idDocumentHash: "a8f93b…",
degreeProgram: "Ingeniería Civil",
graduationDate: Date.UTC(2025, 11, 15),
diplomaNumber: "UNMSM-2026-0001",
academicDegree: "Titulado",
digitalDiplomaHash: "7f8c9d…",
resolucionRectoralNum: "RR-2026-001-CU-UNMSM",
modalidad: "PRESENCIAL",
studentFullName: "Juan Pérez García",
studentDni: "12345678",
});
console.log(diploma.verifyUrl);Full manual: MANUAL.md
What you get
AkdemicClient.emit(rep)— emit one diploma, returns verify URL + cert_id + tx hashAkdemicClient.emitBatch(reps)— N diplomas in one tx (one nonce, one signature pair)AkdemicClient.fetch(certId)— pull the full stored JSON back (public, any caller)AkdemicClient.institutionStatus()— "is my AkdemicNFT still active?"AkdemicClient.suneduExport()— RNGyT CSV for SUNEDU bulk-import
Sandbox credentials
export AKDEMIC_MNEMONIC="dance copper spawn cruel piano throw random sand tube lock village bottom"
export INSTITUTION_CODE="AKDEMIC-TEST"Pre-provisioned on Avalanche Fuji. Public mnemonic — never put real student data through it.
Requirements
- Node.js 18+ (native
fetch+crypto.subtleare required) ethersv6 (peer dependency)
