Proof of presence,
on every vote.
A Realms voter-weight plugin gating governance on a recent, live behavioral verification. Each vote pays a presence cost in time and SOL. Dormant wallets, scripted delegations, and unattended agents stay out. spl-governance compatible.
Nobody proves they showed up.
Bots vote on DAO proposals using delegated authority. Scripts auto-vote off whale signaling. Wallets with staked tokens cast votes without the owner reading the proposal. AI agents act on behalf of humans without real-time authorization.
No standard voter-weight plugin verifies that a real human is present at the moment of voting. Token weight ≠ community will.
// VOTER WEIGHT
The gap is on the record.
Three Solana protocols across three years. Every ballot read the token balance; none of them read the human.
2022
Mango Markets
The exploiter who drained $47M voted through Mango's own governance to keep most of the take. Their balance cleared quorum.
2023
Synthetify
Ten self-funded proposals moved roughly $230K out of the Synthetify treasury. Each one cleared the proposal threshold on bought-in tokens.
2025
Jupiter Jupuary
The Jupiter team filtered 750,000+ wallets out of Jupuary distribution after the fact. Every Sybil filter ran downstream of the airdrop.
Verified human. Verified vote.
The plugin reads the voter's Trust Score and verification recency from their Entros Anchor. The on-chain prototype applies those checks when its update instruction runs.
A forthcoming Realms client will insert that instruction before governed actions. Population-level uniqueness and normal Governance UI wiring remain release gates.
// GOVERNANCE LIVENESS
Three steps to verified governance.
Configure
DAO admin sets a minimum Trust Score and a maximum verification age. One transaction creates the registrar. Update anytime.
Verify
Each voter completes a behavioral verification through Entros Protocol. Their Trust Score grows with each re-verification over time.
Vote
The planned Realms client inserts the voter-weight update before a governed action. Eligible Anchors receive one unit of voter weight.
Layer on top. Don't replace.
The current Registrar has no predecessor plugin field and the update instruction accepts no input voter-weight record. Future client and program work will define safe plugin composition.
Entros + Token Voter
Planned composition with token-weighted voting.
Entros + Quadratic
Planned composition with quadratic voting.
Entros + NFT Voter
Planned composition with NFT-gated voting.
Two parameters. Full control.
The DAO admin configures two values when creating the registrar. Both can be updated at any time by the realm authority.
- min_trust_scoreu16
- Minimum Trust Score required to cast a vote. 0 means any verified identity qualifies. 100 requires at least one re-verification. Higher values require longer behavioral history.
- max_verification_agei64
- Maximum seconds since last verification. 2,592,000 = 30 days. 604,800 = 7 days. Expired voters must re-verify before voting.
// DAO admin configures the Entros voter weight plugin await program.methods .createRegistrar( 100, // min_trust_score (at least one re-verification) 2592000, // max_verification_age (30 days in seconds) ) .accounts({ realm: realmPubkey, governanceProgramId: govProgramId, governingTokenMint: mintPubkey, realmAuthority: admin.publicKey, payer: admin.publicKey, }) .signers([admin]) .rpc();
On-chain foundation deployed.
The voter-weight program runs on Solana devnet. A typed JavaScript client, Governance UI registration, automatic transaction construction, and end-to-end Realms tests remain planned.