# Truth Bear - Verifiable Screening Intelligence for AI Agents (x402, USDC on Base, no API key; GAUGE engine) > Pay-per-call data signals for AI agents via the x402 protocol (USDC on Base, no API key, no signup). Headline value: (1) pre-joined CROSS-LINE CASCADE — one call surfaces downstream exposure across industries; (2) LEADING signals — the upstream factor before the current state; (3) aggregation / screening convenience over scattered free official sources (USGS/NOAA/EPA/SEC/FDA/EIA/…), pre-cleaned into one schema; (4) verifiable official-source provenance (official timestamp + record_hash) for those who need citable screening evidence. Pure description — no judgment, no prediction; official-source facts + back-testable statistics, the consumer decides. > Provenance is scoped, not the headline: record_hash (canonical sha256, recomputable offline) + official source_ref timestamp cover verification. Delivered records carry ots_status only as a retired, always-pending compatibility field. ## Read this first if you are an agent Most endpoints need a query parameter. Calling one **without** its parameter does not fail because the endpoint is broken - it returns 422 with `no_charge: true` and you are not billed. The legal values are already machine-readable in three places, so you never have to guess: `input_required` and `input_example_request` on every /manifest entry (the full JSON Schema with `properties..examples` is behind that entry's `inputSchema.$ref`, or inline with /manifest?all=1), the same `examples` inside `accepts[].outputSchema.input` of every 402 challenge, and a runnable URL repeated in the `error` string of the 402/422 itself. Copy any of these and run it as-is (each still requires x402 payment on the retry): ``` GET /gauge?signal_id=hydrology.river-level&entity=07010000&format=thin GET /gauge/region?loc=us-stlouis&format=thin GET /trust/precheck?service=api-exa-ai GET /stable/coin?symbol=basis-cash-bac GET /resolve?entity=AAPL&form=10-K&cutoff=2025-01-01 ``` Full list of every endpoint with its price, required parameters and legal values: /manifest?all=1 ## How to pay x402 (HTTP 402): GET an endpoint; on 402 pay the quoted USDC amount on Base (EIP-3009, gasless) with any x402 client; retry with X-PAYMENT. USDC settles directly to the provider wallet. No accounts, no API keys. Machine-readable discovery: /.well-known/x402 and /manifest. START HERE IF YOU ARE DECIDING WHETHER TO TRUST THIS SOURCE: /.well-known/verification.json - one document with the catalogue size, protocol versions served, schema-phantom count, paid-response cache policy, and how to recompute any delivered record_hash offline. Every number in it is computed at request time, and every block carries a verify_yourself URL so you can check it without trusting this file. Identity for the ERC-8004 trust layer: /.well-known/agent-registration.json. Per-channel projections of the same catalogue (pick the shape your stack parses; all three are generated from one source, so they cannot drift apart): /manifest (x402 resources with price + inputSchema + outputSchema) | /manifest?platform=mcp (MCP tool list, identical to POST /mcp tools/list) | /manifest?platform=a2a and /.well-known/agent-card.json (A2A AgentCard; note this agent does NOT implement A2A message transport - skills are plain HTTP GET endpoints paid with x402) | /.well-known/agent.json (legacy Truth Bear capability card, kept unchanged for existing consumers). IMPORTANT — raise your client's maxValue for endpoints above $0.10: the common x402 client helper (`wrapFetchWithPayment(fetch, account)`) defaults `maxValue` to 100000 atomic units = $0.10 USDC. Endpoints priced above that (the three-leg cross-verification bundles, and the subscription; see /manifest for each current price) are rejected **inside your own client before any request reaches us** — you see a failure with no server-side trace and no 402 to inspect. Pass an explicit cap — `wrapFetchWithPayment(fetch, account, 10000000n)` (= $10) — or read the `client_hint` object attached to the 402 body of those endpoints, which states the required atomic amount and the default cap. Endpoints at or below $0.10 need no change. IMPORTANT — pay from a plain EOA: the paying wallet must be a plain externally-owned account (EOA) with NO contract code. Smart-contract wallets and EIP-7702-delegated accounts verify signatures via EIP-1271 instead of ecrecover; some implementations reject the EIP-3009 authorization, so payments fail intermittently with the opaque facilitator error "invalid_payload" even though the signature, balance, and network are all correct. If you hit invalid_payload, check `eth_getCode(payer)` — a non-empty result means your wallet is delegated; pay from an un-delegated EOA instead. ## Verifiable citation (offline, zero-trust) Every paid JSON response carries a "_citation" — a signed, offline-verifiable fact envelope: Ed25519 signature over RFC-8785/JCS canonical bytes, record_hash = sha256, statement_type=description / not_advice=true (pure description, never advice/prediction). Recompute + verify it with the standalone verifier (citation-object/verify.mjs) — zero network, no trust in this endpoint required; tampering with any factual field breaks both hash and signature. Issuer identity is an offline did:key (also in /manifest.citation and /.well-known/agent.json). Issuer DID: did:key:z6MkiGjPjUHhdcFaxe3Na22b2XpFEAc5Deih5fjxzSgHDm7h (kid=kid-2026-08). MCP (Model Context Protocol): POST /mcp speaks JSON-RPC 2.0 over HTTP (initialize / tools/list / tools/call; no SSE). Two FREE tools — verify_citation (hand it any Truth Bear record_hash; it re-looks-up and recomputes the canonical hash, and tells you in plain language exactly what that hash attests) and find_signal (coverage + freshness manifest, so you can check is-my-entity-covered-and-how-fresh before paying). One payment-pointer tool — get_official_record returns the REAL x402 challenge (accepts[]: network / asset / payTo / amount) for a signal_id+entity; this MCP server never takes payment and never returns paid data, you pay at that URL with your own wallet and receive the record directly. Add it to any MCP host as an HTTP/streamable server pointing at /mcp. ## Response size: ?format=thin (agent-optimised) Append '&format=thin' to any paid single-record endpoint to receive the ANSWER shape instead of the full record: '{ signal_id, entity, entity_name, observed_at, current, summary_en, record_hash }' plus the same grade/scope and a 'record_hash_verifiable' computed for THAT payload. It is about 8x smaller than the default projection. IMPORTANT and deliberate: the thin shape OMITS part of the canonical core, so its 'record_hash_verifiable.mode' is 'via-endpoint', never 'offline' - the hash is a fingerprint you cross-check at the free /gauge/verify, not material you can recompute offline. Same price as the full shape. Endpoints with no single-record summary (lists, bundles, CSV) ignore the parameter and return the full payload with an 'X-THIN-UNAVAILABLE' response header. Channels (x402 is one channel, not the only one — see GET /gauge/channels): x402 (AI-agent micropayment), a stateless subscription token (no account needed; minted by the operator card/fiat rail, not sold over x402 -> Bearer token for /gauge/watch, /gauge/watch-changes, /gauge/manifest-sweep), and - where the operator configures it - a fiat/card rail returning the same JSON (~2% fee; the system never handles the payment secret). RapidAPI / B2B-direct / academic (Zenodo+DOI) are roadmap channels. Every paid JSON response carries a machine-readable "grade: screening-level, not decision-grade" + "scope". In the default (full) shape "scope" is the complete prose; in the thin shape (?format=thin) it is a compact machine-readable object - {monitoring_not_forecast, intelligence_not_command, verifiability, full} - where "verifiability" is true for THAT delivery and "full" links to GET /scope/v1 for the prose. The compact object travels with the goods: it stays valid even if that page is unreachable (monitoring-not-forecast, intelligence-not-command), a "provenance.data_lineage[]" (per-signal source + independent_dimension + uncertainty; uncertainty says "not-provided-in-this-projection" when a projection did not carry the multi-source agreement CV, rather than asserting single-source), "decision_points" (one-tag-swap = one what-if call), and — once a prior call outcome is on record — a "last_fact" (the single objective later official reading; not a prediction/average/hit-rate). ## GAUGE — environmental signals (hydrology × air quality × precipitation) Flood-risk & river-anomaly check: real-time US river water level (gage height), streamflow (cfs), flood stage / flood category vs official USGS/NOAA thresholds, plus 5-year seasonal statistical anomaly (percentile / strata) and record_hash verifiability. Two rulers per signal (official thresholds + statistical distribution); cross-line corroboration (rain↔river↔air) as material for the consumer to self-verify causal chains. - Data-acquisition contract: GAUGE serves screening records from STORED snapshots (SQL), never a live upstream call at request time — every paid response that carries a timestamp also carries provenance.data_as_of + provenance.age_hours_now (age computed at request time, not frozen at collection) + provenance.freshness + provenance.freshness_basis (the exact cadence and thresholds used for that label). Freshness is CADENCE-AWARE and uses the SAME function as the free /gauge/coverage manifest, so the label you see before paying is the label you get after paying: monthly/quarterly/annual official lines are not mislabeled stale by a 24h rule, and a line whose upstream froze is labeled stale + dead_source regardless of when it was last collected. Per-cadence thresholds are machine-readable at /gauge/coverage (freshness_thresholds). Real-time-critical lines are collected hourly, others daily/weekly. Stored-serving avoids upstream API latency; use each record within its data cadence. - Free: /gauge/coverage (coverage + freshness manifest — is-my-entity-covered-and-how-fresh before paying; ?industry=&signal_id=&entity=&summary=1) · /gauge/history-preview?signal_id=&entity= (last 7 snapshots, time-series shape) · /gauge/raw?signal_id=hydrology.river-level&entity= (base reading) · /gauge/sample · /gauge/preview · /gauge/catalog - Skill (paid): /gauge?signal_id=&entity= — full flood-risk/anomaly record (price: see /manifest) - Add-ons (single rulers, cheapest tier — see /manifest for each price): /gauge/ruler · /gauge/calibrated · /gauge/strata · /gauge/history (seasonal percentile/frequency) · /gauge/air?loc= · /gauge/precip?loc= - History time-series (paid): /gauge/history-series?signal_id=&entity=&days=&format= — full retained time-series (price: see /manifest) (snapshot_date ASC, up to days default 400 cap 1000; columns snapshot_date/observed_at/data_age_hours/current/band/record_hash), format=csv or json, for research/actuarial/base-rate. NOTE: history depth grows over time (data is being accumulated; early records may be sparse); curated/emerging lines snapshot weekly while live lines snapshot daily/hourly, so time-series granularity varies by line. - Bundle: /gauge/region?loc= (air + precipitation + nearby river, one location) · /gauge/census?signal_id= (cross-station scan). Prices: see /manifest - Signals: hydrology.river-level, hydrology.streamflow, airquality.aqi, airquality.pm25, precipitation.daily, precipitation.wetness30d - Sources: USGS Water Services, NOAA NWS/NWPS, US EPA AQI, Copernicus CAMS, ECMWF ERA5 ## Subscription / watchlist (stateless one-time token) The subscription token is a STATELESS signed token (HMAC; no account, no login, no session, no server-side database). The x402 subscription listing is NOT offered - tokens come from the operator card/fiat rail (see the free GET /gauge/channels). Send the token as Authorization: Bearer or ?token= on the token-gated reads below. - Register: not available over x402. Subscription tokens are minted by the operator card/fiat rail; the per-call paid endpoints below need no token and no account. - Batch read (free, token-gated): /gauge/watch?items=industry:entity,industry:entity,... — one call returns the whole watchlist state (up to 30 industry:entity items), each with its latest per-signal bundle (signal_id, entity_name, current, band, observed_at, data_age_hours, record_hash) + provenance, served from stored SQL. Example ?items=drug-detail:carboplatin,border-wait:laredo-world-trade,drug-shortage:oncology. Invalid/expired/missing token → 401. - Poll deltas (free, token-gated): /gauge/watch-changes?items=...&since= — for each item returns only signals whose observed_at is newer than ?since (default 24h ago). Webhook-lite monitoring; a true push webhook is a future addition. ## Signal lines (full machine-readable detail per line — price, params, legal values — at /manifest?all=1) Truth Bear covers ~40 official-source signal lines. GAUGE environmental (above) plus: Real-time monitoring (current-state vs official thresholds): agriculture drought/heat/crop-VHI (grain belts) · power-grid demand/renewable/energy-inflation · wildfire (FIRMS/VIIRS) · earthquake (USGS) · severe convection/hail (SPC) · grid reliability/outage (EIA-930) · drug shortage & per-drug alternatives (openFDA) · air-transport ground stops (FAA NAS) · land-border waits (CBP). Lifecycle / death-registry forensics (birth to distress to death + cross-line cascade, emerging industries): SEC filing distress · climate policy · AI tools/MCP · AI model deprecation · product promises · carbon-credit integrity · stablecoin depeg · AI-compute/neocloud · DePIN · ESG funds · RWA · smallsat constellations · LRT restaking · DeFi lending (cascade hub) · AI datasets · medical-device recalls · tariff/customs · biodiversity credits. Query any line via /gauge, /gauge/ruler, /gauge/strata, /gauge/history (signal_id + entity), or the region/company bundle /gauge/-region?loc= or ?entity= . Every line exact signal_ids, sources, tracked entities, prices and required parameters are machine-readable at /manifest?all=1 and in each 402 challenge; live coverage + freshness at /gauge/coverage. Full per-endpoint catalogue (every path + price + a one-line description): /llms-full.txt, or the machine-readable /manifest?all=1 · OpenAPI: /openapi.json Rate limits: free discovery/preview endpoints are rate-limited per IP (a 429 is retryable and never billed); paid reads are gated by x402 payment. ## Death registries (vanished-data forensics) Verifiable forensic records of things that died: stablecoins (depeg deaths + x402 service trust scores). Free preview per line; paid per-record + census. (AI-tool / carbon / promise / dependency / policy forensics are now served via the unified GAUGE /gauge/*-region lines above.) - Free previews: /stablecoin-deaths/preview · /trust/preview ## Verify (zero-trust) — provenance is scoped, not the headline Every record ships record_hash (canonical sha256 over a versioned canonical core, hash_core_version=3) + official source_ref/timestamp. Recompute it yourself offline from the delivered payload, or cross-check for free: POST /verify (you hold the record) · GET /gauge/verify?hash=<record_hash> (you hold only the hash). Delivered payloads disclose their own recomputability in record_hash_verifiable. ANCHORING (resumed 2026-08-15): a per-batch Merkle root over that batch's record_hash set is stamped to Bitcoin via OpenTimestamps calendars. It proves the batch set existed no later than the stamp time - it is NOT evidence about the data day itself. Free read surface: /gauge/anchor (list), ?day=YYYY-MM-DD (the day's ots_status + attestation bytes - those bytes are the ORIGINAL pending calendar receipt, so run "ots upgrade" then "ots verify"), ?hash=sha256:... (inclusion proof PLUS the confirmed Bitcoin block number as ots_status:bitcoin, once the batch root is upgraded ~a couple hours after stamping). RETIRED - do not build against these: the old /merkle/proof returns 410 and /merkle/spec is archival only (different contract, superseded by /gauge/anchor); the LEGACY per-record ots_status field stays 'pending' forever and is no longer updated (the live batch confirmation is on /gauge/anchor?hash=, not that legacy field). /proof/:record_hash still returns integrity + official-timestamp provenance, and reports 'undetermined' (503) rather than 'not found' when a lookup cannot complete. ## Keywords official government data, US federal agency data, government records API, regulatory filing data, official statistics, flood risk, river water level, gage height, streamflow, flood stage, USGS, NOAA, NWS, EPA, SEC EDGAR, openFDA, EIA, BLS, FAA, US CBP, USTR, USITC, Federal Register, IMF PortWatch, air quality, US AQI, PM2.5, precipitation, drought, verifiable data, cryptographic proof, cryptographically signed citation, Ed25519, tamper-evident, auditable offline, provenance, record hash, canonical sha256, cross-source corroboration, leading indicator, x402, pay-per-call, USDC, Base, Solana, AI agent, no API key, no data no charge ====================================================================== FULL CATALOGUE (37 paid resources) ====================================================================== - /stablecoin-deaths $0.09 [BATCH+PROOF] Stablecoin death samples - a neutral record: the full pre-mortem snapshot of terminated stablecoins (price, supply, collateral, redemption) plus lifecycle context (termination type, confirmed death date, da - /trust/precheck $0.01 [SIGNAL+PROOF] Demand record for one x402 service (?service=): demand_class (REAL/SOLO/PROBE/WASH), calls_30d, unique_payers_30d, score_total, liveness_state, lifecycle, record_hash. Model demand-v1, refreshed daily from - /trust/scorecard $0.09 [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 - /trust/graveyard $0.09 [BATCH+PROOF] x402 service graveyard - services that vanished from the census. THRESHOLD stated plainly: listed on FIRST confirmed absence (confirm_absences=1), NOT multi-day confirmation - only two snapshot days exist, - /stable/coin $0.01 [SIGNAL+PROOF] Census record for one stablecoin (?symbol=): market cap, price, depeg state, lifecycle and time series, each with record_hash. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not bi - /stable/census $0.09 [BATCH+PROOF] Full stablecoin census, latest day, ranked by market cap; lifecycle flags terminated and depegged. Add ?verifiable=1 and every row carries _hash_core so you can recompute the hash offline without trusting u - /stable/graveyard $0.09 [BATCH+PROOF] Stablecoin death register - terminated below 0.10 or persistently absent. Add ?verifiable=1 for per-row _hash_core, fully offline-recomputable. A neutral observation record: not a rating, not an endorsement - /resolve $0.09 Settlement evidence v0 for prediction-market and dispute workflows: did an issuer file a given SEC EDGAR form before your cutoff? Returns THREE SEPARATED TIMES (event / disclosure / cutoff), a resolution_status of resolv - /resolve/proposer $0.01 Proposer feed for prediction-market settlement: SEC EDGAR official facts mapped to a machine-friendly answer / timestamp / evidence shape for automated proposal and dispute flows. Three separated times, explicit resoluti - /gauge $0.01 [SIGNAL+PROOF] One official signal record for any signal_id and entity: current reading against the OFFICIAL threshold ladder (band, distance-to-action) plus a 5-year same-season percentile so you can tell routine from u - /gauge/ruler $0.005 Add-on, the official ruler: the band and threshold ladder published by the source agency, its classification, and distance-to-action. NOT every line has an official ruler - pure market quotes do not. When it does not, yo - /gauge/calibrated $0.005 Add-on, calibrated units: normalized_index and pct_to_action so readings compare across stations. When the line has no calibration basis you get 422 with no_charge:true and reason:no-calibrated-for-this-line, and are NOT - /gauge/strata $0.005 Add-on, statistical strata: share of the last 5 years spent in each official band for this day-of-year, the percentile bands, and where the current reading falls. Backtestable, and stated as approximate. Descriptive only - /gauge/history $0.005 Add-on, historical placement: seasonal percentile for the current point, frequency, the percentile table, and the method and source used to compute them. Descriptive only, never a forecast or advice. No data -> 422 no_ch - /gauge/air $0.005 Add-on, air quality for one location: US AQI category and PM2.5 reading from EPA and CAMS official feeds. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries an offlin - /gauge/precip $0.005 Add-on, precipitation for one location: daily rainfall plus 30-day accumulated wet-dry drought context from ERA5. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries a - /gauge/region $0.25 [3-LEG] Local three-leg environment chain, one location (?loc=): leading air quality (AQI) -> current precipitation, rain and 30-day dry-wet -> realized nearest river stage and streamflow (confirmation gate). A chain, no - /gauge/taiwan-region $0.25 Taiwan first-party official readings in one call: PLA air and naval activity around Taiwan (Ministry of National Defense), central bank reference FX rates (CBC), TAIEX and sector indices (TWSE), significant earthquakes a - /gauge/japan-region $0.25 Japan official readings in one call plus an independent cross-agency check: JMA seismic intensity (shindo), RSMC Tokyo typhoon analysis, Ministry of Finance JGB yields across seven tenors, and the Japan rows of BIS and F - /gauge/agri-region $0.25 [3-LEG] Agriculture chain, one grain belt (?loc=us-iowa): leading soil drought (USDM D0-D4) -> current heat stress and growing degree days -> realized crop vigour VHI - did the drought actually reach the crop (confirmati - /gauge/grid-region $0.25 [3-LEG] Power-grid chain, one grid region (?loc=us-ercot): leading demand pressure from heating and cooling degree days -> current renewable availability, solar and wind -> realized energy inflation (CPI energy year-over - /gauge/filing-company $0.25 [3-LEG] Regulatory filing chain, one issuer (?entity=AMC): leading NT late-filing notices, a distress leading indicator -> current 8-K material events graded by item severity -> realized Form 4 insider transactions (conf - /gauge/wildfire-region $0.25 [3-LEG] Wildfire chain, one fire-risk region (?entity=us-california): leading fire weather - hot, dry and windy -> current active fire detections from NASA FIRMS satellite thermal anomalies -> realized downwind smoke imp - /gauge/nas-region $0.25 [3-LEG] Aviation ground-stop chain, one airport (?entity=ewr): leading aviation weather - METAR ceiling, visibility, convection and gusts -> current FAA NAS ground stops and delay programs -> realized delay (confirmation - /gauge/border-wait-region $0.25 [3-LEG] Land border chain, one crossing (?entity=laredo-world-trade): leading upstream pressure - lead traffic, staffing and inspection intensity -> current current CBP border wait times by lane -> realized commercial fr - /gauge/earthquake-region $0.25 [3-LEG] Seismic activity chain, one seismic zone (?entity=california-san-andreas): leading swarm rate, USGS micro-event rate rising - DESCRIPTIVE and explicitly not a prediction -> current current max magnitude and count - /gauge/drug-shortage-region $0.25 [3-LEG] Drug shortage chain, one therapeutic class (?entity=oncology): leading new-shortage incidence from openFDA new listings, which leads the burden peak -> current current active shortages in the class -> realized re - /gauge/drug-detail-region $0.25 [3-LEG] Per-drug shortage chain, one drug (?entity=carboplatin): leading supply narrowing - available labelers against total listed -> current current FDA shortage status per NDC -> realized affected presentations (confi - /gauge/grid-reliability-region $0.25 [3-LEG] Grid reliability chain, one balancing authority (?entity=us-ercot): leading EIA-930 day-ahead demand forecast approaching recent peak, about one day of lead -> current current demand against capacity tightness -> - /gauge/severe-convection-region $0.25 [3-LEG] Severe convection and hail chain, one convective region (?entity=tornado-alley-core): leading SPC Day-1 outlook with CAPE, CIN and shear - hours of lead -> current current storm reports -> realized hail and wind - /gauge/hurricane-region $0.25 [3-LEG] Hurricane chain, one basin (?entity=atlantic|epacific|cpacific): leading NHC official 2/7-day genesis probability (NHC-quoted, not our forecast) -> current active storms - category, wind, pressure, position -> re - /gauge/drought-region $0.25 [3-LEG] Drought chain, one drought region (?entity=us-california): leading precipitation deficit, soil moisture and snowpack -> current the OFFICIAL US Drought Monitor class and area coverage -> realized streamflow and i - /gauge/census $0.09 [BATCH+PROOF] All entities for one signal at their latest reading, with band, frequency_label and percentile columns so you can rank across stations and screen for the unusual in one call. Cross-station comparison is the - /gauge/macro-reconcile-full $0.09 [RECONCILIATION] Market-implied against officially-realized, side by side: Kalshi implied levels versus BLS official prints, aligned indicator by indicator, with the divergence quantified. The alignment key is returned s - /gauge/history-series $0.09 [TIME SERIES EXPORT] Full retained series for one signal and entity (?days=, ?format=json or csv): every snapshot up to days (default 400, cap 1000) with snapshot_date, observed_at, data_age_hours, current, band and reco - /pay/tier2 $0.03 Tiered payment receipt (tier 2): pay once with x402 and get back a short-lived receipt token that /pay/verify checks for you. The tier is fixed by the path - you do not send it. Optional ?ref= carries your own opaque ref - /pay/tier3 $0.10 Tiered payment receipt (tier 3): pay once with x402 and get back a short-lived receipt token that /pay/verify checks for you. The tier is fixed by the path - you do not send it. Optional ?ref= carries your own opaque ref ====================================================================== TRUST AND SELF-VERIFICATION ====================================================================== Every delivered record carries an official source_ref and a record_hash (canonical sha256) that can be recomputed offline with https://api.truthbear.co/verify.mjs - no network access and no trust in this server required. Cross-check any hash for free at https://api.truthbear.co/gauge/verify?hash= A single document with the catalogue size, protocol versions served, schema-phantom count and paid-response cache policy - every number computed at request time - is at https://api.truthbear.co/.well-known/verification.json On-chain identity (ERC-8004, Base): https://api.truthbear.co/.well-known/agent-registration.json NOT OFFERED: No TEE attestation and no staking - supportedTrust is reputation only.