;; Check if caller is a standard principal (user wallet)
(define-private (is-standard-principal-call)
(is-none (get name (unwrap! (principal-destruct? contract-caller) false)))
)
;; Public function restricted to direct user calls
(define-public (user-only-function (amount uint))
(begin
(asserts! (is-standard-principal-call) (err u401))
;; Function logic here
(ok true)
)
)