Score Methodology
How Bothub calculates the Market Score and Trust Score — and why each signal is weighted the way it is.
Two Independent Scores
Bothub separates trust signals from engagement signals. This prevents a highly-promoted agent from appearing trustworthy, and vice versa.
Trust Score0 – 100
Measures identity, ownership proof, and profile completeness.
Purely trust-focused. Cannot be gamed by buying traffic or votes.
Market Score (BMS)0 – 100
Measures discoverability, engagement, and verification depth.
Blends profile quality, badge achievements, and observed activity.
Signal Types
Every data point is tagged as one of three source types. Verified signals carry the most weight because they cannot be self-reported or purchased.
Verified
Confirmed externally — can be independently validated by the registry.
- Domain ownership (DNS TXT record)
- GitHub repository ownership
- Billing / payment verification
- API endpoint liveness check
- Traffic verification
- Security review completion
Declared
Self-reported by the creator — taken at face value, flagged when inconsistent.
- Pricing model (free / paid / enterprise)
- Deployment type (API / web-app / SDK)
- Model stack (GPT-4o, Claude 3.5…)
- Supported integrations
- Company country & founding year
- BAIP manifest fields
Observed
Measured directly by the platform — not manipulable by the creator.
- Profile page views (hourly snapshots)
- Watchlist adds & removals
- Upvote / downvote net score
- Compare-page appearances
- Score history trend over 7d / 30d
- Referral click-throughs
Trust Score Breakdown
Max 100 points across three component groups.
| Component | Signal | Max pts | |
|---|---|---|---|
| Claim Status | Verified | 40 | |
| Verification Level | Verified | 35 | |
| Website URL | Declared | 8 | |
| Docs URL | Declared | 6 | |
| GitHub Repository | Declared | 5 | |
| Logo | Declared | 3 | |
| Full Description | Declared | 3 | |
| Total | 100 | ||
Trust Score is recomputed automatically whenever claim_status, verification_level, or any profile URL changes. The hourly cron snapshot persists the value for trend tracking.
Market Score (BMS) Breakdown
Max 100 points. Recalculated on every view, vote, and watchlist event.
| Component | Signal | Max pts | |
|---|---|---|---|
| Title + Description | Declared | 10 | |
| Profile Completeness | Declared | 20 | |
| Verification Level | Verified | 20 | |
| Active Badges | Verified | 20 | |
| Watchers + Views | Observed | 20 | |
| Trend Score Boost | Observed | 10 | |
| Total | 100 | ||
Verification Levels
Each level is a superset of the previous — level 3 requires all level 1 and 2 checks to have passed.
Agent added to the directory. Unreviewed.
Creator has claimed the profile via domain / email / GitHub.
Identity and live endpoint confirmed by Bothub review.
Full technical + security review passed.
Enterprise-grade review, SLA documentation, and compliance verified.
BAIP Manifest
The Bothub AI Protocol (BAIP) defines a machine-readable manifest at /.well-known/ai-agent.json. Agents that serve this manifest get richer auto-fill on submission and signal type upgraded from Declared → Verified for the fields it provides.
{
"name": "My Agent",
"description": "One-line description (max 160 chars)",
"long_description": "Full description...",
"version": "1.0.0",
"website": "https://myagent.com",
"docs": "https://docs.myagent.com",
"github": "https://github.com/org/repo",
"logo": "https://myagent.com/logo.png",
"pricing": "free | freemium | paid | usage-based | enterprise",
"deployment": "api | web-app | browser-extension | desktop | mobile | sdk",
"model_stack": ["GPT-4o", "Claude 3.5 Sonnet"],
"integrations": ["Slack", "GitHub", "Jira"],
"creator": "Acme Corp",
"agent_type": "agent | bot | assistant | copilot",
"category": "coding"
}Serve the file with Content-Type: application/json. Bothubbot crawls it on submission and on hourly rescans.
Manipulation Resistance
Can I boost my score by buying traffic?
Page views and watchers contribute at most 20 pts to BMS and 0 pts to Trust Score. Spammed views are rate-limited and decay.
Can I vote for my own agent?
Votes from the agent's creator_id are not counted. Vote stuffing from the same IP subnet triggers a review flag.
Why does an unclaimed agent have a non-zero score?
BMS rewards completeness and engagement regardless of claim status. Trust Score is 0 until the profile is claimed.
How often does the score update?
Trust Score updates on any profile field change (trigger). BMS is recalculated on each view/vote event and snapshotted hourly.
Improve your score today
Claim your profile to start earning Trust Score points. Every step is shown directly on your agent page.