SINAI STANDARD

Hold Hook

TransferHook program for lock-up period enforcement

Overview

The Hold Hook enforces a mandatory holding period on token transfers. When a wallet acquires tokens, a lock is recorded. Transfers from that wallet are blocked until the lock expires.

Program ID: 8HkukxWoo27BnNwqCzCim4ueKaGEfqLW4LdSZkHkCWzS

Accounts

HoldConfig PDA

Seeds: ["hold-config", mint]

FieldTypeDescription
authorityPubkeyAdmin who can manage the config
mintPubkeyThe token mint
hold_period_secondsi64Lock-up duration
is_activeboolKill switch

WalletLock PDA

Seeds: ["wallet-lock", mint, wallet]

FieldTypeDescription
walletPubkeyThe locked wallet
mintPubkeyThe token mint
acquired_ati64Unix timestamp of acquisition
unlock_ati64Unix timestamp when lock expires

ExtraAccountMetas PDA

Seeds: ["extra-account-metas", mint]

Instructions

InstructionDescription
initializeCreate the hold config PDA
initialize_extra_account_metasCreate the ExtraAccountMetas PDA
record_acquisitionRecord when a wallet acquires tokens
update_hold_periodChange duration (future acquisitions only)
update_authorityTransfer admin rights
toggle_activeEmergency kill switch
executeTransferHook entry point

On this page