Hey, I noticed that the /stakerslist/ endpoint is returning way fewer stakers
than what actually exists on-chain.
The problem
For our dApp (contract 0xdf48b6e388b86f7ae6b18c48ffcff76a8acdb65d), the API
itself reports 34 stakers via /stakerscount/ and /chaindapps, but when I
call /stakerslist/ I only get 9 entries back.
I cross-referenced with https://adamtest.org/portal/api/dapp-list which reads
staker counts directly from chain state. Their data shows a consistent mismatch
across ALL dApps the stakerslist endpoint never returns the full set:
| Contract |
On-chain stakers |
/stakerslist returns |
| 0xdf48...b65d (ours) |
34 |
9 |
| 0x101b...d795 |
1,817 |
~27 |
| 0x56c2...181e |
1,187 |
~30 |
The adamtest API (https://adamtest.org/portal/api/dapp-list) exposes both the on-chain count and what the Astar API returns, and they never match for any project.
How to reproduce
# This says 34 stakers
curl https://api.astar.network/api/v3/astar/dapps-staking/stakerscount/0xdf48b6e388b86f7ae6b18c48ffcff76a8acdb65d/7
# This confirms 34
curl https://api.astar.network/api/v3/astar/dapps-staking/chaindapps | jq '.[] | select(.contractAddress=="0xdf48b6e388b86f7ae6b18c48ffcff76a8acdb65d")'
# But this only returns 9
curl https://api.astar.network/api/v3/astar/dapps-staking/stakerslist/0xdf48b6e388b86f7ae6b18c48ffcff76a8acdb65d
We need the full staker list to build a rewards system for our supporters. Right now there's no reliable way to get the complete list through the API, the only workaround is querying the substrate storage directly via RPC, which defeats the purpose of having an indexer.
Is there a pagination parameter I'm missing, or is this a sync issue in the indexer?
Hey, I noticed that the
/stakerslist/endpoint is returning way fewer stakersthan what actually exists on-chain.
The problem
For our dApp (contract
0xdf48b6e388b86f7ae6b18c48ffcff76a8acdb65d), the APIitself reports 34 stakers via
/stakerscount/and/chaindapps, but when Icall
/stakerslist/I only get 9 entries back.I cross-referenced with https://adamtest.org/portal/api/dapp-list which reads
staker counts directly from chain state. Their data shows a consistent mismatch
across ALL dApps the
stakerslistendpoint never returns the full set:The adamtest API (https://adamtest.org/portal/api/dapp-list) exposes both the on-chain count and what the Astar API returns, and they never match for any project.
How to reproduce
We need the full staker list to build a rewards system for our supporters. Right now there's no reliable way to get the complete list through the API, the only workaround is querying the substrate storage directly via RPC, which defeats the purpose of having an indexer.
Is there a pagination parameter I'm missing, or is this a sync issue in the indexer?