Evaluate and update Pollinations user tiers. Check balances, upgrade devs, batch process users. For finding users with errors, see model-debugging skill first.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: tier-management description: Evaluate and update Pollinations user tiers. Check balances, upgrade devs, batch process users. For finding users with errors, see model-debugging skill first.
Requirements
Before using this skill, ensure you have:
- GitHub CLI:
brew install gh && gh auth login - Node.js/npx:
brew install node - Wrangler:
npm install -g wrangler - jq:
brew install jq(for parsing JSON) - sops:
brew install sops(for decrypting secrets)
Must run from the pollinations repo root with access to enter.pollinations.ai/.
Tier Levels
| Tier | Emoji | Pollen/Day | Criteria |
|---|---|---|---|
| spore | 🍄 | 1 | Default (new signups) |
| seed | 🌱 | 3 | GitHub engagement |
| flower | 🌸 | 10 | Contributed code/project |
| nectar | 🍯 | 20 | Strategic partners |
| router | 🔌 | 100 | Infrastructure partners |
Upgrade Paths
🍄 Spore → 🌱 Seed
- ⭐ Starred the pollinations repo
- 💬 Opened an issue or PR
- 💳 Made a purchase
🌱 Seed → 🌸 Flower
- 🛠️ Pushed code to pollinations/pollinations
- 📦 Has a project in our showcase
- 🌐 Built something open-source using our API
Evaluate User Tier
Check for Flower (any ONE qualifies)
Has commits to pollinations?
gh api 'search/commits?q=repo:pollinations/pollinations+author:USERNAME' --jq '.total_count'
Has a project in our lists?
grep -ri "author.*USERNAME" pollinations.ai/src/config/projects/
Check for Seed (any ONE qualifies)
Involved in issues/PRs?
gh api 'search/issues?q=repo:pollinations/pollinations+involves:USERNAME' --jq '.total_count'
Starred repo?
.claude/skills/tier-management/scripts/fetch-stargazers.sh USERNAME
Update User Tier
⚠️ IMPORTANT: You MUST update BOTH the database AND Polar subscription. The DB tier controls what tier the user CAN activate. The Polar subscription is what they HAVE activated.
Recommended: Use the Script
.claude/skills/tier-management/scripts/update-tier.sh USERNAME TIER
Example:
.claude/skills/tier-management/scripts/update-tier.sh s0974092 flower
This script automatically:
- Finds the user by username or email
- Updates the database tier
- Updates the Polar subscription (via sops for auth)
- Verifies the change
Manual Method
Step 1: Find user
cd enter.pollinations.ai
npx wrangler d1 execute DB --remote --env production \
--command "SELECT id, github_username, email, tier FROM user WHERE LOWER(github_username) LIKE '%USERNAME%';"
Step 2: Update database
npx wrangler d1 execute DB --remote --env production \
--command "UPDATE user SET tier='TIER' WHERE github_username='USERNAME';"
Step 3: Update Polar subscription
export POLAR_ACCESS_TOKEN=$(sops -d secrets/prod.vars.json | grep POLAR_ACCESS_TOKEN | cut -d'"' -f4)
npx tsx scripts/manage-polar.ts user update-tier --email USER_EMAIL --tier TIER
Add --dryRun to preview changes without applying.
Step 4: Notify user on GitHub
🎉 **Tier Upgrade Complete!**
Hey @USERNAME! You've been upgraded to **[EMOJI] [TIER] tier**! ✨
Your benefits:
- [POLLEN] pollen/day
- ⚡ Priority queue
- 🎨 All standard models
Thanks for being part of Pollinations! 🚀
Batch Processing
Find Users with Quota Issues
Use the model-debugging skill to find users hitting 403 errors:
# Find spore-tier users with >10 403 errors in last 24 hours
.claude/skills/model-debugging/scripts/find-403-users.sh 24 10 spore
# Save to file for batch processing
.claude/skills/model-debugging/scripts/find-403-users.sh 24 10 spore | cut -f1 > /tmp/users.txt
Check if User is a Developer
# Check single user
.claude/skills/tier-management/scripts/check-github-dev.sh OliverCWY
# Output: dev: repos=12 followers=13 account_year=2017
Batch Upgrade Devs to Seed
# Dry run first (no changes)
.claude/skills/tier-management/scripts/upgrade-devs.sh /tmp/users.txt --dry-run
# Apply upgrades
.claude/skills/tier-management/scripts/upgrade-devs.sh /tmp/users.txt
The script:
- Checks GitHub profile for dev activity (repos, followers, account age)
- Only upgrades users currently on spore tier (won't downgrade)
- Has 2s delay between GitHub API calls to avoid rate limiting
- Shows summary of upgraded/skipped users
Check User Balance
.claude/skills/tier-management/scripts/check-user-balance.sh username_or_email
Legacy Batch Evaluate
export ENTER_ADMIN_TOKEN=your_token
export TIER_EVAL_GIST_ID=your_gist_id # optional
.claude/skills/tier-management/scripts/batch-evaluate.sh
Polar Product IDs (Production)
| Tier | Product ID |
|---|---|
| Spore | 01a31c1a-7af7-4958-9b73-c10e2fac5f70 |
| Seed | fe32ee28-c7c4-4e7a-87fa-6ffc062e3658 |
| Flower | dfb4c4f6-2004-4205-a358-b1f7bb3b310e |
| Nectar | 066f91a4-8ed1-4329-b5f7-3f71e992ed28 |
| Router | 0286ea62-540f-4b19-954f-b8edb9095c43 |
Notes
- DB tier = what user CAN activate
- Polar subscription = what user HAS activated
- If no Polar subscription, user must click "Activate" at enter.pollinations.ai
More by pollinations
View allDeploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.
Debug and diagnose model errors in Pollinations services. Analyze logs, find error patterns, identify affected users. For taking action on user tiers, see tier-management skill.
Monitor and manage R2 to AWS Glacier Deep Archive migration. Use when checking transfer status, resuming transfers, or managing the archive migration.
Create GitHub issues following Pollinations team conventions. Use when asked to create issues, track work, or plan features.
