VOTE
Swipe Right. Swipe Left. Permanent.
Swipe right: "this earns a spot." Swipe left: "no."
Voting is the governance layer for the Loreboard. Someone proposes a placement, and the community has 72 hours to decide if it belongs. Votes are weighted by prayer streak — the people who show up every day have the most influence over what gets built permanently.
It's Tinder for culture. Swipe right to approve, swipe left to reject. If 51% of the weighted votes approve and at least 3 unique wallets took part, the placement is recorded onchain forever. If it falls short on either count, it's gone. No archive. No consolation. That finality is what makes a yes mean something.
Two places, one system
- [/vote](/vote) — where you vote on other people's active proposals. This is the swipe deck.
- [/vote/submit](/vote/submit) — where you submit your own placement for the community to vote on.
Same underlying contract, two entry points: one for deciding, one for proposing.
How the swipe works
- Streak = power. Your prayer streak directly sets your voting weight. A 90-day Mommy Milker's vote is worth 5x an unranked voter's. Hold a MiFOID? A +50 flat bonus on top. The people who show up every day have the loudest voice. (See parameters.txt for the full weight table.)
- Pure onchain. Every vote is a direct onchain transaction — no off-chain collection, no batched signatures. Tallies live onchain as
voteWeightForandvoteWeightAgainst, so anyone can verify the count independently. - One wallet, one vote per proposal. You can't stack votes on the same placement. The quorum counts unique wallets, not raw transactions.
- Permissionless finalization. Once the 72 hours are up, anyone can call
finalize(). The contract applies the 51% threshold and 3-voter quorum deterministically. No admin, no gatekeeping — just the rules, executed the same way every time.
Onchain voting, under the hood
When you swipe on a proposal, FOID sends a direct transaction to castVote(proposalId, approve). Your vote is recorded permanently on the Loreboard contract, weighted by your prayer streak and verifiable by anyone.
After the window closes, finalize() reads voteWeightFor and voteWeightAgainst, checks that approvals cleared 51% of the weighted total, and confirms at least 3 unique wallets participated. If both hold, the placement lands on the board and the 1/1 NFT re-renders. If not, the proposal is closed out and nothing is placed. Because finalization is permissionless and deterministic, the outcome doesn't depend on the team being online — the math is the same no matter who triggers it.
Content moderation (v1)
Self-remove: The original placer can remove their own content at any time.
Emergency removal: The 2-of-3 multisig can remove harmful or illegal content.
Both actions are transparent — every removal emits an onchain event recording who did it. Community-driven flagging and vote-to-remove is planned for a later version, once the community is large enough to resist sybil attacks (one person spinning up many wallets to fake a crowd). Until then, the multisig is the backstop for anything genuinely harmful.
Vote on active proposals at /vote. Submit your own at /vote/submit.
Updated