Source Code

;; builder-reputation-nft.clar
;; Soulbound Token (SBT) for builder reputation

(define-non-fungible-token builder-badge uint)
(define-data-var last-id uint u0)

(define-public (mint (recipient principal))
    (let ((token-id (+ (var-get last-id) u1)))
        (asserts! (is-eq tx-sender (var-get contract-owner)) (err u403))
        (try! (nft-mint? builder-badge token-id recipient))
        (var-set last-id token-id)
        (ok token-id)
    )
)

(define-public (transfer (token-id uint) (sender principal) (recipient principal))
    (err u100) ;; Soulbound: Transfer not allowed
)

(define-data-var contract-owner principal tx-sender)

Functions (2)

FunctionAccessArgs
mintpublicrecipient: principal
transferpublictoken-id: uint, sender: principal, recipient: principal