generated: '2026-09-19' method: derived source: >- Derived from the 21 component schemas and their $ref links in openapi/gonna-bond-legit-openapi.yml (fetched from https://legit.gonna.bond/openapi.json) plus the watch/event contract documented at https://legit.gonna.bond/docs. LEGIT publishes no object-reference page; identifiers are described from the spec's own field names. identifiers: - entity: Merchant key: address format: 'Chain-native address string — Algorand (58-char base32), EVM (0x-hex), Solana (base58) — or, per the MCP tool descriptions, an https URL' - entity: Watch key: watch_id format: 32-hex UUID (e.g. 9f1c2a4b6d8e4f0a1b3c5d7e9f0a1b2c in the docs); a bearer capability - entity: Network key: network format: 'slug such as algorand-mainnet, base-mainnet, solana-mainnet; CAIP-2 form (eip155:8453) in x402 payment documents' entities: - name: Merchant description: An x402 merchant or agent address that LEGIT probes and scores. Not a schema of its own — it is the subject of TrustReport, DeepReport, TrustReportLite, LeaderboardEntry and CompareEntry, all keyed by address. views: [TrustReport, DeepReport, TrustReportLite, LeaderboardEntry, CompareEntry] - name: TrustReport schema: '#/components/schemas/TrustReport' fields: [address, name, display_name, score, grade, breakdown, generated_at, anchored_tx, provisional, explorer_url, external_calls_30d, external_payers_30d, external_demand_source, intel_avg_ticket, intel_verifies, intel_first_seen, intel_last_seen, intel_source, probe_queue, evidence, tier, routing_confidence, verified_payers_30d, receipts_provenance, top_payer_share_30d, referee_flag, referee_verdict] required: [address, score, grade, breakdown, generated_at] - name: ScoreBreakdown schema: '#/components/schemas/ScoreBreakdown' fields: [uptime_pct, latency_p50_ms, success_rate, coherence, sample_size, score, grade, explanation, adoption, provisional] - name: DeepReport schema: '#/components/schemas/DeepReport' fields: [address, name, score, grade, breakdown, history, rank, percentile, networks_served, generated_at, measurement_window_days, demo] - name: ScorePoint schema: '#/components/schemas/ScorePoint' fields: [ts, score] - name: LeaderboardEntry schema: '#/components/schemas/LeaderboardEntry' fields: [rank, rank_global, address, name, display_name, score, grade, latency_p50_ms, uptime_pct, sample_size, network, source, settle_count, verify_count, adoption, payments_observed, provisional, explorer_url, external_calls_30d, external_payers_30d, external_demand_source, intel_avg_ticket, intel_verifies, intel_first_seen, intel_last_seen, intel_source, domain, logo_url, settles_7d, volume_7d, demo, dormant] - name: Leaderboard schema: '#/components/schemas/Leaderboard' fields: [generated_at, entries, networks, demo] - name: CompareResponse schema: '#/components/schemas/CompareResponse' fields: [generated_at, entries, winner, rationale] - name: CompareEntry schema: '#/components/schemas/CompareEntry' - name: RouteResponse schema: '#/components/schemas/RouteResponse' fields: [query, chosen, alternatives, payment_hint, demo] - name: ReceiptEntry schema: '#/components/schemas/ReceiptEntry' fields: [txid, payer, amount_usd, ts, network] - name: ReceiptsResponse schema: '#/components/schemas/ReceiptsResponse' - name: BatchReport schema: '#/components/schemas/BatchReport' - name: TrustReportLite schema: '#/components/schemas/TrustReportLite' - name: Trending schema: '#/components/schemas/Trending' - name: Stats schema: '#/components/schemas/Stats' fields: [merchants, merchants_testnet, merchants_mainnet, merchants_active, measurements, avg_score, storage] - name: StorageInfo schema: '#/components/schemas/StorageInfo' - name: Watch description: A paid 7- or 30-day change sentinel on one merchant, created by POST /v1/watch (WatchCreateRequest {address, days, webhook_url}); read by GET /v1/watches/{watch_id}. The response schema is not declared in the spec (201 with no schema). schema: '#/components/schemas/WatchCreateRequest' - name: WatchEvent description: A recorded trust transition on a watched merchant — {ts, kind, detail} in the feed, {watch_id, address, event, kind, ts, detail} in the webhook POST; kinds grade_change, score_drop, outage, recovered. schema: null source: https://legit.gonna.bond/docs - name: Network description: A payment rail / chain with facilitator health (GET /v1/networks) and arena settlement stats (GET /v1/arena). Undeclared schema. schema: null relationships: - {from: TrustReport, to: ScoreBreakdown, type: has_one, via: breakdown} - {from: DeepReport, to: ScoreBreakdown, type: has_one, via: breakdown} - {from: DeepReport, to: ScorePoint, type: has_many, via: history} - {from: Leaderboard, to: LeaderboardEntry, type: has_many, via: entries} - {from: LeaderboardEntry, to: Network, type: belongs_to, via: network} - {from: CompareResponse, to: CompareEntry, type: has_many, via: entries} - {from: CompareResponse, to: Merchant, type: belongs_to, via: winner} - {from: RouteResponse, to: LeaderboardEntry, type: has_one, via: chosen} - {from: RouteResponse, to: LeaderboardEntry, type: has_many, via: alternatives} - {from: ReceiptsResponse, to: ReceiptEntry, type: has_many, via: entries} - {from: ReceiptEntry, to: Merchant, type: belongs_to, via: payer} - {from: ReceiptEntry, to: Network, type: belongs_to, via: network} - {from: Stats, to: StorageInfo, type: has_one, via: storage} - {from: Watch, to: Merchant, type: belongs_to, via: address} - {from: Watch, to: WatchEvent, type: has_many, via: 'GET /v1/watches/{watch_id}/events'} - {from: WatchEvent, to: Watch, type: belongs_to, via: watch_id} - {from: TrustReport, to: Merchant, type: belongs_to, via: address} - {from: DeepReport, to: Merchant, type: belongs_to, via: address} - {from: LeaderboardEntry, to: Merchant, type: belongs_to, via: address} render: null