Part of the HelixKey documentation. Reading time: ~20 min.
import { HelixKey } from '@helixkey/sdk';
// Constructor
const hk = new HelixKey({ network: 'sui-mainnet' });
// Verify identity
await hk.verifyIdentity(address: string): Promise<VerifyResult>;
// Sign message
await hk.sign(msg: Uint8Array): Promise<Signature>;
// Rotate anchor
await hk.rotate(newBiometric: BiometricInput): Promise<RotateResult>;from helixkey import HelixKey
hk = HelixKey(network='sui-mainnet')
result = hk.verify_identity('0x...')
# result.verified: bool
# result.anchored_at: intuse helixkey::{HelixKey, Network};
let hk = HelixKey::new(Network::Mainnet);
let result = hk.verify_identity("0x...").await?;use helixkey::identity;
public entry fun verify_and_execute(
identity: &identity::HelixIdentity,
ctx: &mut TxContext
) {
assert!(identity::is_verified(identity), 0);
// ... your logic
}All SDK calls have equivalent REST endpoints at https://api.helixkey.org/v1. Bearer-token auth. Rate-limited per-key.
POST /v1/verify
Authorization: Bearer $HK_KEY
{"address": "0x..."}