Skip to content

Holder verification

Verification links a wallet to a Discord member and grants roles by how much they hold — then keeps those roles correct as holdings change. It replaces a paid third-party verifier and runs on the same shared bot as everything else.

How it works

sequenceDiagram
  participant H as Holder
  participant V as /p/{slug}/verify
  participant B as VectorLabz bot
  participant D as Discord
  H->>V: Connect wallet + sign message (no gas)
  V->>B: Proven wallet ↔ Discord ID
  B->>B: Read on-chain holdings, resolve tier
  B->>D: Grant matching role(s)
  Note over B,D: Re-sync on schedule + on /verify

The holder signs a message — never a transaction — so verification costs them nothing and can't move funds.

Setting up tiers

In studio → Integrations → Discord, define thresholds and map each to a role:

Tier         Threshold        Discord role
Holder       ≥ 1              @Holder
Stacker      ≥ 10             @Stacker
Whale        ≥ 50             @Whale

Optionally gate a tier on staked holdings instead of raw ownership, to reward committed holders over flippers.

Keeping it accurate

  • On a schedule — the bot re-checks holders periodically and adjusts roles.
  • On demand — a holder runs /verify to force an immediate re-check.
  • On sale — when someone sells below a threshold, the next sync removes the role automatically.

Tip

Keep verification-granted roles separate from roles you assign by hand, so a sync never strips a perk you gave someone deliberately.

Multiple collections

A single Discord server can gate on more than one collection — useful for partner projects or a main + companion drop. Add each collection's rules in the same tab; a member gets every role they qualify for.