Gate roles are no longer removed when we cannot check
When a blockchain lookup failed, HoneyGate treated it the same as "this member sold their NFT" and removed their role. It could not tell "they do not hold it" apart from "we could not find out".
Now it can. If a lookup is unreliable, HoneyGate leaves everyone's roles alone and checks again next time. Someone who genuinely sells still loses the role. A bad lookup no longer costs anyone theirs.
Two related cases are fixed too. A gate saved without a token address used to strip the role from everyone who had it. And a failed check used to get filed as "checked, holds nothing" and trusted for the next hour.
New: run HoneyGate alongside another role bot
Moving over from Collab.Land, SolMate, Vibe or similar? Two bots managing the same role can disagree about who qualifies and take turns adding and removing it.
There is a new setting at Gates then Settings: Allow HoneyGate to remove roles. Turn it off during the changeover and HoneyGate will still give roles to people who qualify, but never take one away. Only the other bot removes, so there is nothing to argue about.
Turn it back on once the old bot is switched off, otherwise someone who sells keeps their role.
Your Solana key now tells you when it stops working
The key page showed a green "Connected" badge whenever a key was saved. It only ever checked the key at the moment you pasted it, so if the key was later revoked, expired or rate-limited, the page stayed green while gating quietly stopped working.
It now re-checks in the background and shows you the truth, including a third state: saved, but not working. If Helius is rejecting your key you will see what it said and what it is costing you.
Giveaways: "exclude alt accounts" now means it
If the alt-account check hit a problem, the draw quietly fell back to the full pool and picked a winner anyway, without telling anyone. The setting looked on and was not doing anything.
The check now knows the difference between "alt detection is not installed here" and "something broke", and a real failure is recorded so you can see that a draw did not get the filter you asked for.
Dashboards say "unavailable" instead of showing you a zero
If a query behind the economy dashboard failed, the page showed 0. "Coins in circulation: 0" looked exactly the same whether it was true or whether the number could not be loaded.
Failed figures now read "unavailable", and the platform dashboard warns you when any figure on it could not be loaded. A real zero still shows as zero.
The public API works again
Every endpoint on the v1 API was returning an error instead of data. Fixed. If you tried it before and gave up, it is worth another look.
Gating has a settings page
Gates then Settings. The evaluation options that were previously only editable in the database now have a proper home, alongside the new switch above.
Security and correctness
Nothing here changes what you see, but all of it shipped:
- Pages showing one server's data now re-check that you actually administer that server.
- Backup and source files can no longer be served as plain text by the web server.
- Artwork fetched from outside sources is limited to real image formats, and we no longer follow redirects while fetching it.
- The "back to where you were" links after switching server can no longer be aimed at another site.
- A few internal actions that could be triggered by just visiting a crafted link now need a proper form submission.
- Gate results are written in a way that cannot lose the previous record if the write fails partway.