Fealty
Holder verification

How roles stay correct

Pull-based reconciliation means missed events can never make roles wrong.

Fealty never trusts a cached event log for roles. Every verification pulls current on-chain holdings and re-derives the member's roles from scratch: grant what qualifies, remove what doesn't. That design has a useful consequence: downtime, missed webhooks or bot restarts can only ever delay an update, never corrupt one.

The three triggers

  1. On demand. The #verify button, /verify in #commands, or the hub's verify card. Instant.
  2. Real time. Chain webhooks nudge a re-check of affected members when tracked NFTs move.
  3. The sweep. A full reconciliation of every member runs daily and on every worker restart, catching anything the first two missed.

Practical answers

  • Sold your NFT? The role goes on the next trigger, usually within seconds via the webhook, at worst by the daily sweep.
  • Bot was offline during a transfer? The restart sweep fixes it.
  • Bought on a chain without real-time webhooks? /verify picks it up immediately; otherwise the sweep does.

On this page