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
Verified human. Verified vote.
The plugin reads the voter's Trust Score and verification recency from their Entros Anchor before every governance action. Voters must prove they are a real, live human with sustained behavioral history.
Dormant wallets and scripted delegations stop counting. Voting starts costing time and SOL per ballot, not just a token balance. Spam-quorums become expensive to fake.
// 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
Before any governance action, the plugin reads the voter's Entros Anchor on-chain. Verified and recent: vote counted. Unverified or expired: vote blocked.
Layer on top. Don't replace.
Entros isn't meant to replace token-based governance. It layers human verification on top of existing plugins. Chain Entros with token-voter to require both holdings and human presence. Chain with quadratic voting for verified-human quadratic weights.
Entros + Token Voter
Hold tokens AND prove you're human to vote.
Entros + Quadratic
Quadratic voting weight, but only for verified humans.
Entros + NFT Voter
NFT-gated governance with human liveness checks.
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();
Works with Realms today.
The Realms V2 UI supports custom voter-weight plugins. Paste the program ID into the "Custom voting program ID" field in your realm settings. No frontend changes required.