Wallet points are sum of:
- number of daily UBI claims on Celo since BLOCK_START
- sqrt of G$s streamed so far to GoodCollective pools.
- valid FLOW council votes from ballots subgraph, capped to 2 counted votes per rolling 2-week window.
Notice: Max stream rate for score is 73,000 G$ per day
Notice: Wallet address must be a verified unique human being ie that passed face verification. (You can get verified on: https://gooddapp.org)
- Votes are loaded from FLOW council subgraph ballots by voter id format: ROUND_COUNCIL-address.
- Each counted vote adds VOTE_POINTS.
- At most 2 votes are counted in any rolling 2-week span.
STACK_POINT_SYSTEM_IDis the default campaign for claim/invite/vote events.STACK_G_DONATION_POINT_SYSTEM_IDis optional and, when set, is used only for G$ donation/streaming events:streamed,roundStreamed,opensourceStreamed,opensourceSent.
STACK_KEYis the default API key used for claim/invite/vote points API calls.STACK_G_DONATION_KEYis optional and, when set, is used for G$ donation/streaming points API calls.- If
STACK_G_DONATION_KEYis not set, donation/streaming calls fall back toSTACK_KEY.
USE_SUBGRAPHdefaults tofalse, which uses the Blockscout PRO API for the historical claim, invite, and direct open-source transfer lookups.- Set
USE_SUBGRAPH=trueto use the migratedtransferEventssubgraph lookups for invite and direct open-source transfer actions. Claims always use the UBIClaimedevent so points follow the event'sclaimer/verified root rather than the G$ payout recipient. - Stream-period and FLOW council vote calculations remain subgraph-based because they did not have an equivalent legacy Blockscout implementation.
BLOCKSCOUT_PRO_API_KEYis required for the default path and should be stored as a Worker secret (wrangler secret put BLOCKSCOUT_PRO_API_KEY). The worker uses Blockscout’s Celo PRO endpoint:https://api.blockscout.com/v2/api?chain_id=42220.- Blockscout
getLogsis capped at 1,000 logs per request; a full result set is recovered by recursively splitting saturated block ranges rather than trusting page numbers.
- The worker enforces 1 request per address per hour.
- Window is configurable via
ADDRESS_RATE_LIMIT_SECONDS(default3600).
If you claim every day for two years the max points you can get are 730. If you stream every day 73K G$ for two years the max points you can get are 7300.
We will subsidize gas fees on base so users can update their points at least once a month.