CCTools 159 Milestone 3: Public API, Asset Tracker & Mobile
Milestone 3: Public API, Asset Tracker & Mobile
| Detail | Description | |--------|-------------| | Estimated Delivery | Month 4-5 from grant approval | | Focus | Public API with validator access, asset tracking, mobile experience, developer documentation | | Funding | 125,000 CC |
Deliverables:
- Public API v1: REST endpoints documented with OpenAPI specification. Versioned (v1) for stability.
- API Tiers:
- Free tier: rate-limited (100 requests/min), API key required - Validator tier: free for 12 months, no rate limits, available to all Canton validators - Paid tier: higher volume, priority support, additional endpoints
API Endpoints (detailed specification):
Ecosystem Directory
GET /api/v1/ecosystem/projects— List all projects with pagination, search, category/status filters
- Response: { projects: [{ slug, name, category, tagline, score, likes, views, status, tags, logo_url }], total, page }
GET /api/v1/ecosystem/projects/:slug— Project detail with full metadata
- Response: { slug, name, description, category, score, likes, views, team, faq, social_links, badges, campaigns, metrics }
GET /api/v1/ecosystem/trending— Top 20 projects by score + engagementGET /api/v1/ecosystem/categories— List of all categories with project counts
Project Scores & Rankings
GET /api/v1/ecosystem/rankings— All projects ranked by algorithmic score
- Parameters: sort_by (score, likes, views), category, limit, offset
GET /api/v1/ecosystem/projects/:slug/analytics— Project engagement data
- Response: { views_7d, views_30d, likes_total, clicks_total, trend }
Public Profiles
GET /api/v1/users/:username— Public user profile with level, XP, reputation, streak, badge count
- Response: { username, level, xp, reputation, streak, badges_count, rank, joined_at, contributions_count }
GET /api/v1/users/:username/badges— All badges earned by user with rarity and category
- Response: { badges: [{ slug, name, description, rarity, category, icon, earned_at }] }
GET /api/v1/users/:username/contributions— User submissions, edits, and curation activity
- Response: { submissions: [...], edits: [...], total_upvotes, total_contributions }
GET /api/v1/users/:username/activity— Recent activity feed (views, upvotes, earn interests)
- Parameters: limit, offset
Earn Opportunities
GET /api/v1/earn— Active earn opportunities with filters
- Parameters: type, difficulty, status, limit, offset
GET /api/v1/earn/:slug— Opportunity detail with engagement metrics
Leaderboard
GET /api/v1/leaderboard— Top users by XP
- Parameters: period (weekly, monthly, all-time), limit
Additional Deliverables:
- Asset Tracker: Supply, circulation, holder distribution for CC, CBTC, and future CIP-56 tokens. Visual dashboard showing token ecosystem health.
- Mobile PWA: Progressive Web App optimized for mobile with push notifications (daily check-in reminders, price alerts, new earn opportunities). Full feature parity with desktop, optimized touch interactions.
- API Documentation Portal: Interactive documentation with endpoint explorer, code examples (JavaScript, Python, cURL), authentication guide, and rate limit documentation.
- Developer SDK: Lightweight JavaScript/TypeScript SDK for consuming the CCTools API. Published to npm for easy integration.
Acceptance Criteria:
- Public API documented and accessible with all specified endpoints
- Validator free tier active with at least 5 validators using the API
- Asset tracker showing data for CC and CBTC
- PWA installable on mobile with working push notifications
- API documentation portal live with interactive endpoint explorer
- At least one third-party integration consuming the API
---
_Originally posted by @hythloda in https://github.com/canton-foundation/canton-dev-fund/issues/159#issuecomment-4254848136_