keyhold · TypeScript + Go SDK
One file.
Nothing else.
A minimal, explicit backup format for one secp256k1 private key, protected by one password and implemented by the SDK.
$
npm install keyholdJSON DOCUMENT · PBKDF2-HMAC-SHA-256 · AES-256-GCM
01 / SDK SURFACE
One document.
Five clear boundaries.
KeyHold keeps format rules, encryption, validation, and cross-language behavior in one small contract.
01FormatCanonical JSON with an explicit version and discriminator
format · v2↗02ExportEncrypt one secp256k1 private key with one passwordexportPrivateKey↗03UnlockRecover and verify the key after authenticated decryptionunlock · summary↗04ValidationReject malformed, ambiguous, or unsupported documentsparse · validate↗05SDKsEquivalent TypeScript and Go implementationsTS · Go↗02 / DOCUMENT MODEL
The JSON is portable.
The SDK is the boundary.
- 01
Define
Choose explicit KDF and cipher parameters. The format has no hidden defaults.
- 02
Export
Pass a private key, password, label, and parameters to the SDK. It creates the complete document.
- 03
Verify
Parse, unlock, and check the derived public key. No file I/O or storage policy is hidden inside.
03 / BUILD
The format is the contract.
The SDK keeps it honest.
Every reference page is generated directly from the TypeScript package exports, with the Go package following the same model.