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
- On demand. The
#verifybutton,/verifyin#commands, or the hub's verify card. Instant. - Real time. Chain webhooks nudge a re-check of affected members when tracked NFTs move.
- 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?
/verifypicks it up immediately; otherwise the sweep does.