{"service":"Base Sentinel","status":"unknown","statusMeasuredFrom":"https://base-sentinel-production.up.railway.app/api/status","asOf":"2026-08-30T10:19:50.374Z","servingSince":"2026-08-30T02:57:59.361Z","processUptimeSeconds":26371,"toolCallsServed":{"total":1,"viaUSDC":1,"viaUSDCByNetwork":{"base":1},"viaUSDCAttributed":1,"viaUSDCBeforeNetworkCounter":0,"viaUSDCByNetworkNote":"viaUSDC is a lifetime counter; the per-network split begins when that counter shipped, so viaUSDCAttributed + viaUSDCBeforeNetworkCounter = viaUSDC","viaProofOfWork":0,"viaTrial":0,"viaHeartbeat":0,"viaMPPWire":0,"viaUSDCInternal":0,"viaMPPWireInternal":0,"viaRouter":0},"onchain":{"revenueProof":"https://basescan.org/address/0x8d3EaAD4b12bfc67e952dE517748C793C77eAD42#tokentxns","note":"Settled revenue is verifiable on-chain - that is the trustless source of truth, not any counter here."},"guarantees":[{"claim":"Every tool is called with its own documented example in CI, and the release is blocked on any failure - except 20 of 528 endpoints backed by metered third-party APIs (Brave, E2B), which are skipped so a CI run does not spend on every push and are covered instead by the post-deploy paid canary and a dedicated live test.","verify":"https://base-sentinel-production.up.railway.app/openapi.json","evidence":"https://base-sentinel-production.up.railway.app/source.tar.gz/actions/workflows/deploy.yml"},{"claim":"Two independent observers outside production (a GitHub schedule and a Cloudflare cron on separate infrastructure) probe the live instance - health, catalog, MCP, the 402 paywall, rails - and file a public issue on failure. Measured over 24h: ~378 observations per component, about one every 4 minutes; the proof-of-work paid path is probed by the GitHub observer alone at ~16 minute intervals. Per-component uptime and observation counts are published at /api/status.","verify":"https://base-sentinel-production.up.railway.app/health","evidence":"https://base-sentinel-production.up.railway.app/source.tar.gz/issues?q=label%3Aheartbeat"},{"claim":"A daily canary makes a real $0.001 USDC purchase against production to prove the paid path settles end-to-end.","verify":"https://base-sentinel-production.up.railway.app/api/stats","evidence":"https://basescan.org/address/0x8d3EaAD4b12bfc67e952dE517748C793C77eAD42#tokentxns"},{"claim":"Deterministic utilities: no LLM in the serving path of the utility tools - the same input always yields the same output. The /v1 gateway and the report products are model-backed and priced as such.","verify":"https://base-sentinel-production.up.railway.app/openapi.json"},{"claim":"Non-custodial on the payment rails: an agent signs with its own key and settlement goes wallet to wallet, so no customer key or crypto balance is ever held. Two card paths are NOT non-custodial and are named as such: prepaid credits are a balance we hold until spent, and card report purchases are held by the payment processor.","verify":"https://base-sentinel-production.up.railway.app/llms.txt"},{"claim":"Hardened: connect-time SSRF guard on every URL tool (DNS-rebind safe), signed single-use slug-scoped proof-of-work, per-IP rate limits, and security headers.","verify":"https://base-sentinel-production.up.railway.app/source.tar.gz/wiki/Security-Model"}],"endpoints":{"health":"https://base-sentinel-production.up.railway.app/health","stats":"https://base-sentinel-production.up.railway.app/api/stats","status":"https://base-sentinel-production.up.railway.app/api/status","statusPage":"https://base-sentinel-production.up.railway.app/status","openapi":"https://base-sentinel-production.up.railway.app/openapi.json","manifest":"https://base-sentinel-production.up.railway.app/.well-known/x402"},"incidents":"https://base-sentinel-production.up.railway.app/source.tar.gz/issues?q=label%3Aheartbeat"}