Why your vote reward isn't crediting
The three links in the vote-reward chain — the vote, the verification, the credit — and how to find the broken one
By Forgeport · Published 21 August 2026
"Vote reward not working" is one symptom with three different causes, because a vote reward is a chain: the player votes on the top-list, something verifies that vote, and only then does the credit land. Debug it in that order — most people start at the end.
1. The vote never registered
Before blaming your panel, check the top-list itself: open your server's page and see whether the vote counter moved. Votes silently don't register when:
- The IP already voted. Top-lists dedupe by IP. Two players behind one router, a shared campus network, or CGNAT means the second "vote" of the day is dropped — the player genuinely voted and genuinely won't be credited. This is the single most common "bug report" and it isn't one.
- The player is on a VPN or datacenter IP that the top-list rejects outright.
- The site's cooldown hasn't expired. Some lists run 12 hours from the last vote, some reset at a fixed hour. A player voting "daily" at slightly drifting times will miss windows.
If the counter did not move, your verification method cannot credit the vote.
2. The verification never saw it
If the vote registered but the credit didn't come, the break is between the top-list and your panel — see how the two verification mechanisms work for the background:
- API poll: the check queries the wrong identifier (the list records the voter's IP; your panel asked about a username, or the reverse), or the API key is wrong or expired.
- Signed callback: the top-list POSTs to your callback URL and gets an error — an expired TLS certificate, a firewall, a URL typo saved in the top-list's panel — or the shared secret differs on the two ends, so every signature check fails. A wrong secret looks exactly like "no votes arriving", because rejected callbacks are usually silent.
Each top-list's own panel shows its callback log or API responses — that log tells you which side dropped the ball.
3. The credit was blocked on your side
Last, your own rules: a per-provider cooldown longer than the top-list's window means the player voted validly and your panel refused the claim anyway. In Forgeport each provider has an owner-set cooldown for exactly this — set it to match the list's own window, not longer.
Test the chain one provider at a time, with one account, from an IP that hasn't voted today. That single controlled vote tells you which of the three links broke — which beats re-configuring all four providers on a guess. How Forgeport wires this whole chain is on the verified vote rewards page.