# TruthBear x402 Service Demand Roster

> TruthBear x402 Service Demand Roster is a paid API for AI agents from api.truthbear.co, paid per call via x402, $0.09/call, status unknown (last checked 2026-10-30).

Returns the full daily-refreshed demand scorecard roster for all x402 services, including demand class, 30-day call volume, unique payers, total score, liveness state, lifecycle, and record hash per service.

## Facts

- Endpoint: GET https://api.truthbear.co/trust/scorecard?utm_source=zero.xyz
- Price: $0.09/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/truthbear-x402-service-demand-roster-6662f0c7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_c9PQYA-fFx2vDqF6_23PM

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability truthbear-x402-service-demand-roster-6662f0c7
```

Example prompt: Pull the full x402 service demand roster for today and show me each service's demand class, 30-day call count, unique payer count, score total, liveness state, and lifecycle — include the verifiable hash preimages so I can check the record hashes offline.

## When to prefer this

Use this endpoint when you need a comprehensive, daily-refreshed demand overview across all x402 services in one call — especially when you want to rank, filter, or verify services by demand score, liveness, or lifecycle stage. Prefer this over per-service endpoints when you need the full roster rather than a single service's details. Useful for marketplace monitoring, due diligence on x402 API adoption, or building dashboards over the CDP catalogue.

## Known failure modes

- 422 no_charge returned when no data exists for the requested period — not billed
- Five-axis sub-scores, action_hint, tier, and verified fields are empty due to degraded delivery
- unique_payers_30d is a lower bound and may undercount actual unique payers
- Response may reflect a 24-hour-old snapshot since data refreshes daily

## How this service works

[BATCH+PROOF] Full x402 service demand roster, latest day: demand_class, calls_30d, unique_payers_30d, score_total, liveness_state, lifecycle, record_hash per service. Model demand-v1, refreshed daily from the public CDP catalogue; unique_payers_30d is a lower bound, never a sum. DEGRADED DELIVERY, see unavailable_fields - the five-axis sub-scores, action_hint, tier and verified are empty. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. $0.09 per call.

## Output

A JSON array of records — one per x402 service — each containing: demand_class (categorical demand tier), calls_30d (total calls in the last 30 days), unique_payers_30d (lower-bound count of distinct payers), score_total (aggregate demand score), liveness_state (current operational status), lifecycle (stage such as active/deprecated), and record_hash (integrity hash). Optionally includes _hash_core per row for offline verification. Note: five-axis sub-scores, action_hint, tier, and verified fields are currently empty (DEGRADED DELIVERY). Returns 422 no_charge if no data is available.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "verifiable": {
       "type": "string",
       "description": "optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="
      }
     },
     "additionalProperties": false
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "const": "json"
    },
    "example": {}
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "entity": "(unlocked on payment)",
  "current": {
   "alive": true,
   "domain": "api.onesource.io",
   "calls_30d": 15448,
   "endpoints": 25,
   "last_price": 0.001,
   "score_total": 1,
   "demand_class": "REAL",
   "demand_depth": "BREADTH",
   "score_version": "demand-v1",
   "first_endpoint": "https://api.onesource.io/api/chain/erc20-balance",
   "last_called_at": "2026-08-25T06:44:08.121Z",
   "liveness_state": "live",
   "unique_payers_30d": 1093,
   "endpoints_by_class": {
    "REAL": 25
   }
  },
  "lifecycle": {
   "basis": "CDP discovery quality fields (l30DaysTotalCalls / l30DaysUniquePayers). demand_class is computed by the same classifi...",
   "state": "operating",
   "last_seen": "2026-08-25"
  },
  "signal_id": "trust.service-score",
  "source_ref": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
  "entity_name": "(unlocked on payment)",
  "observed_at": "2026-08-25T09:56:15.825Z",
  "record_hash": "sha256:351f42610f5b3f386f88ba9c5a9d01d80f287a12a02b2bed05c864f374cd65aa",
  "source_tier": "T2-observable",
  "snapshot_date": "2026-08-25",
  "data_age_hours": 0,
  "hash_core_version": 4
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/truthbear-x402-service-demand-roster-6662f0c7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.truthbear.co](https://www.zero.xyz/host/api.truthbear.co/llms.txt)
