“You Voted. Now Make It Count.”
Stacks DeFi Summer (stxdefi.com) was more than just a season of speculation—it was a season of governance, coordination, and community-powered change.
Whether you voted YES or NO on SIP-31, your voice helped shape the future of Stacks. Now, Zero Authority is giving you a way to immortalize that contribution onchain.
Introducing the STX DeFi SZN Reputation Badge—a non-transferrable NFT that serves as proof-of-vote, minted directly on the Stacks blockchain.
🪙 Claim yours now: zeroauthoritydao.com/stx-defi-summer
Why Reputation Badges?
In web3, governance participation is more than just a checkbox. It’s a signal of commitment, of care, and of a long-term view.
These badges aren’t tradable assets. They’re non-fungible proof-of-reputation, designed to be tied to your identity, your wallet, and your onchain track record. Think of them as proof-of-stakeholderhood.
Under the Hood: Anatomy of the Badge Contract
This NFT contract is modeled after the SIP-009 NFT trait, the standard for NFTs on Stacks, but it comes with special Zero Authority modifications that make it function as a Reputation Badge instead of a typical tradable token.
Let’s break down the key components:
📘 Trait Implementation
(impl-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)
This ensures the contract follows the SIP-009 NFT interface, making it compatible with wallets and explorers that understand the standard. This is the foundation of NFT interoperability on Stacks.
🛡️ Reputation-Style Token Logic
(define-non-fungible-token sip31-badge uint)
This defines a new NFT type called sip31-badge
. The use of uint
as the token ID type is standard, but what makes it unique is how it's controlled—see the mint logic below.
🚫 Non-Transferability: No Trading Allowed
(define-public (transfer (id uint) (sender principal) (recipient principal))
(err ERROR-NOT-IMPLEMENTED)
)
The contract explicitly disables transfers by returning an error. This makes the NFT non-transferrable, meaning it can’t be sold, gifted, or moved. It’s tied to the identity that earned it. This is a key principle of onchain reputation: it must be earned, not bought.
🗳️ One Badge Per Voter
(define-map minters principal bool)
This map tracks which wallets have already minted a badge.
(asserts! (not (default-to false (map-get? minters tx-sender)))
(err ERROR-ALREADY-MINTED))
Before minting, the contract checks if the sender already minted one. This guarantees one badge per eligible wallet.
🕓 Minting Deadline
(define-constant DEADLINE u908016)
(asserts! (<= burn-block-height DEADLINE) (err ERROR-CROSSED-DEADLINE))
The minting is time-limited. Once the block height passes the defined deadline, no more badges can be minted. This reinforces the time-sensitive nature of participating in SIP-31 voting.
🖼️ Onchain Metadata via IPFS
(define-constant IPFS-ROOT "ipfs://ipfs/bafybeihrczr2q7bl5fwohd5cf6k44kdiondlqyn2xda5ugkitfiqjkj54e/{id}.json")
Each token ID has its own JSON file on IPFS, holding the badge metadata. This ensures the artwork and details are decentralized and immutable.
🔥 Burn Function for Self-Removal
(define-public (burn (id uint))
...
)
Token holders can burn their badge if they want to revoke or delete it. This puts agency in the hands of the holder, while maintaining the badge’s soulbound characteristics.
Why This Matters
We’re entering an era where participation > speculation.
By embedding governance history directly into a user's wallet, Zero Authority is helping build a more meaningful version of DeFi—one that rewards contribution, not just capital.
These badges don’t give access to alpha groups or whitelist perks.
They’re receipts of responsibility.
And that matters more than ever.
Claim Your Badge Now
🪙 Whether you voted YES or NO—your voice mattered.
Now make it count forever:
👉 https://zeroauthoritydao.com/stx-defi-summer
TL;DR
Reputation Badge = Proof you voted on SIP-31
Non-transferrable NFT (SIP-009-based, transfer function disabled)
One badge per wallet
Minting deadline enforced
Metadata hosted on IPFS
Part of building a reputation-based identity in Stacks DeFi
Remember why you started.
– Zero Authority