Skip to Content
Provenonce is currently on Solana devnet. APIs may change.

Types

All types exported from @provenonce/sdk.

LineageProof

Ed25519-signed proof of an agent’s lineage and liveness. Valid for 24 hours from issued_at. Can be verified offline with BeatAgent.verifyProofLocally().

interface LineageProof { agent_hash: string; agent_public_key: string | null; // Wallet address (key-binding) identity_class: IdentityClass; registered_at_beat: number; sigil_issued_at_beat: number | null; last_heartbeat_beat: number; lineage_chain_hash: string; issued_at: number; // Unix timestamp (ms) valid_until: number; // Unix timestamp (ms), issued_at + 24h provenonce_signature: string; // Hex-encoded Ed25519 signature }

Passport

Type alias for LineageProof. A Passport is a SIGIL holder’s lineage proof — a portable, offline-verifiable credential.

type Passport = LineageProof;

SigilResult

Returned by purchaseSigil().

interface SigilResult { ok: boolean; sigil: { identity_class: IdentityClass; issued_at: string; tx_signature: string; }; lineage_proof: LineageProof; fee: number; }

HeartbeatResult

Returned by heartbeat().

interface HeartbeatResult { ok: boolean; lineage_proof: LineageProof; heartbeat_count_epoch: number; fee: number; }

IdentityClass

SIGIL identity tiers that determine an agent’s privilege level and fee schedule.

type IdentityClass = 'narrow_task' | 'autonomous' | 'orchestrator';

RegistrationResult

interface RegistrationResult { hash: string; api_key: string; secret: string; type: 'root' | 'agent'; parent: string | null; depth: number; name: string; wallet_chain?: string | null; beat?: { genesis_hash: string; difficulty: number; status: string }; wallet?: WalletInfo; }

v0.9.0 change: signature and explorer_url fields removed. Registration no longer writes a Solana SPL Memo.

WalletInfo

interface WalletInfo { address: string; // chain-native address (base58 or hex) chain: string; // "solana" or "ethereum" public_key: string; // hex 32-byte Ed25519 public key secret_key: string; // hex 32-byte Ed25519 seed solana_address?: string; // base58 Solana address (Solana only) }

Beat

interface Beat { index: number; hash: string; prev: string; timestamp: number; nonce?: string; anchor_hash?: string; }

SpawnResult

interface SpawnResult { ok: boolean; eligible: boolean; child_hash?: string; progress_pct?: number; deficit?: number; }

BeatAgentConfig

interface BeatAgentConfig { apiKey: string; registryUrl: string; heartbeatIntervalSec?: number; onHeartbeat?: (result: HeartbeatResult) => void; onError?: (error: Error, context: string) => void; onStatusChange?: (status: string, details: Record<string, unknown>) => void; verbose?: boolean; }

Deprecated Types

The following types are retained for backward compatibility and will be removed in v1.0.

CheckinResult — Deprecated

interface CheckinResult { ok: boolean; total_beats: number; beats_accepted: number; global_beat: number; status?: string; beats_behind?: number; }

The checkin endpoint returns 410 Gone. Use heartbeat() which returns HeartbeatResult.

Last updated on