{"headline":{"label":"Outside customer revenue. Excludes internal wallets, graders, testers, unattributed calls, and testers_probable.","available":true,"calls":{"l7d":0,"l30d":1},"revenue":{"l7d_usd":0,"l30d_usd":0.01},"outside_payers":{"l7d":0,"l30d":1}},"graders":{"label":"Grader wallets, listed separately from customers. These are test traffic and are omitted from the headline and from traffic.external. Full addresses stay off this document.","available":true,"wallets_complete":true,"wallets_configured":8,"calls":{"l7d":4,"l30d":18},"revenue":{"l7d_usd":0.04,"l30d_usd":0.18},"unique_payers":{"l7d":2,"l30d":6},"wallets":[{"label":"Lumière paycheck prober","wallet":"0xec2a…d034","calls":{"l7d":0,"l30d":0},"revenue":{"l7d_usd":0,"l30d_usd":0}},{"label":"vet402 observatory","wallet":"0xc9c7…1670","calls":{"l7d":3,"l30d":11},"revenue":{"l7d_usd":0.03,"l30d_usd":0.11}},{"label":"cog-x402-audit grader (UA cog-x402-audit/2 (+https://cog.xyz)); 5 routes on docs/demo URLs Oct 7","wallet":"0x6a0b…4518","calls":{"l7d":0,"l30d":0},"revenue":{"l7d_usd":0,"l30d_usd":0}},{"label":"SettledScout (settled.tools)","wallet":"0xa1d1…1978","calls":{"l7d":0,"l30d":1},"revenue":{"l7d_usd":0,"l30d_usd":0.01}},{"label":"NohumansScout (nohumans.directory)","wallet":"0x54e1…f4e0","calls":{"l7d":0,"l30d":3},"revenue":{"l7d_usd":0,"l30d_usd":0.03}},{"label":"PayAPIScout (payapi.market)","wallet":"0x171d…0fca","calls":{"l7d":0,"l30d":1},"revenue":{"l7d_usd":0,"l30d_usd":0.01}},{"label":"LumiTrustBuyer (lumitrades.io)","wallet":"0x7722…5e4a","calls":{"l7d":0,"l30d":1},"revenue":{"l7d_usd":0,"l30d_usd":0.01}},{"label":"AnnalistChecks (annalist.dev)","wallet":"0xcb4c…bbb8","calls":{"l7d":1,"l30d":1},"revenue":{"l7d_usd":0.01,"l30d_usd":0.01}}]},"ok":true,"service":"livecheck","generated_at":"2026-11-15T10:57:13Z","traffic":{"includes_internal_test_traffic":true,"label":"Includes internal test traffic.","note":"Includes internal test traffic. Headline confirm windows and sentinel counts are all wallets. traffic.external omits 6 configured team wallets (built-in list plus LIVECHECK_INTERNAL_WALLETS). Known grader and auditor wallets are test traffic and are omitted from traffic.external. traffic.external omits 8 known grader wallets (test_wallets list plus LIVECHECK_GRADER_WALLETS). This volume has 4 L7d / 18 L30d grader paid_calls. traffic.external omits 3 tester wallets from the test_wallets list. This volume has 0 L7d / 0 L30d tester paid_calls. Docs-example URLs are test traffic and are omitted from traffic.external. The stored paid_calls column is url_sha256 (SHA-256 of the full URL). traffic.external omits https://boards.greenhouse.io/example/jobs/1842, https://example.com/thank-you?ref=ABC123, https://livecheck.fly.dev/demo/thank-you?ref=ABC123. Those calls stay in traffic.all. This volume has 2 L7d / 11 L30d docs-example paid_calls. One-shot check receipts have no payer and stay in both sentinel checks_run totals. Check, watch, and renew payers are on traffic.payers when the paid_call row stored one. A paid_calls row with a null or blank payer is traffic.unattributed. It stays in traffic.all and in all revenue. It is omitted from traffic.external, external revenue, and unique payers. traffic.unattributed is 0 L7d / 0 L30d calls ($0.00 / $0.00). Unattributed rows are visible so the gap between all revenue and external revenue stays on the document. traffic.internal is 0 L7d / 10 L30d calls ($0.00 / $0.10). When a blank-payer row later gets an internal wallet, that revenue moves from traffic.unattributed to traffic.internal. A user_agent that starts with livecheck-internal/ is an internal-label annotation on the paid-call log and on traffic.internal_label. It does not remove the call from traffic.external. External is decided by wallet only. traffic.internal_label is 0 L7d / 3 L30d calls. The label is a user_agent prefix. An outside wallet that sends it still counts as external. Each paid call lands in exactly one bucket, first match wins: 1) payer is an internal wallet -> traffic.internal; 2) payer is on the grader/tester list -> traffic.graders or traffic.testers; 3) no payer -> traffic.unattributed; 4) unknown payer on a docs-example URL -> traffic.testers_probable; 5) everything else -> traffic.external. traffic.docs_example and traffic.internal_label are overlap counts, not buckets. traffic.testers_probable is 0 L7d / 0 L30d calls ($0.00 / $0.00): unknown payers on a docs-example URL. traffic.reconciliation: buckets add up to traffic.all (L7d 4 calls / $0.04, L30d 29 calls / $0.29). traffic.payers counts every paid route in paid_calls: verify, confirm, check, watch, and watch/renew. traffic.revenue is calls times the route price (verify $0.01, check $0.02, confirm $0.10, confirm/order $0.25, watch and watch/renew $2.50), from paid_calls. All revenue includes every bucket. External revenue is bucket 5 only: a known outside wallet on no list, not on a docs-example URL. traffic.payers windows include routes for verify, verify/job, verify/listing, confirm, confirm/order, check, watch, and watch/renew (calls and distinct payers). verify, confirm, and watch remain family totals: calls are the sum, unique payers are distinct across that family on one SQLite file. Rows written before a route was stored keep the older route value. unique_payers is COUNT(DISTINCT payer) on this machine's SQLite.","internal_wallets_configured":6,"docs_example":{"label":"Docs-example URLs are test traffic and are omitted from traffic.external.","available":true,"url":"https://boards.greenhouse.io/example/jobs/1842","urls":["https://boards.greenhouse.io/example/jobs/1842","https://example.com/thank-you?ref=ABC123","https://livecheck.fly.dev/demo/thank-you?ref=ABC123"],"calls":{"l7d":2,"l30d":11}},"graders":{"label":"Known grader and auditor wallets are test traffic and are omitted from traffic.external.","available":true,"wallets_configured":8,"calls":{"l7d":4,"l30d":18},"unique_payers":{"l7d":2,"l30d":6},"revenue":{"l7d_usd":0.04,"l30d_usd":0.18}},"testers":{"label":"Docs and manual tester wallets are test traffic and are omitted from traffic.external.","available":true,"wallets_configured":3,"calls":{"l7d":0,"l30d":0},"unique_payers":{"l7d":0,"l30d":0},"revenue":{"l7d_usd":0,"l30d_usd":0}},"internal":{"label":"Paid calls whose payer is on the internal wallet list. Counted in traffic.all and traffic.internal. Omitted from traffic.external.","available":true,"calls":{"l7d":0,"l30d":10},"revenue":{"l7d_usd":0,"l30d_usd":0.1}},"unattributed":{"label":"Paid calls with no known payer. Counted in traffic.all and traffic.unattributed. Omitted from traffic.external and from unique payers.","available":true,"calls":{"l7d":0,"l30d":0},"revenue":{"l7d_usd":0,"l30d_usd":0}},"testers_probable":{"label":"Unknown payer on a docs-example URL (bucket rule 4). Probably a tester. Counted in traffic.all and traffic.testers_probable. Omitted from traffic.external.","available":true,"calls":{"l7d":0,"l30d":0},"revenue":{"l7d_usd":0,"l30d_usd":0},"unique_payers":{"l7d":0,"l30d":0}},"reconciliation":{"label":"Each paid call lands in exactly one bucket: internal, graders, testers, unattributed, testers_probable, external. The buckets must add up to traffic.all for calls and revenue in every window. docs_example and internal_label are overlap counts and are not part of the sum. store.settle_late_paid_calls is also an overlap count: an x402 payment that settled after the 503 is a paid call in its usual bucket, marked settle_late.","checked":true,"ok":true,"rules":["1. payer is one of our wallets -> internal","2. payer is on the grader/tester list -> graders / testers","3. no payer recorded -> unattributed","4. unknown payer, target is a docs-example URL -> testers_probable","5. everything else -> external. payer key:<id> (future card top-up) is external even on a docs-example URL"],"buckets":["internal","graders","testers","unattributed","testers_probable","external"],"not_summed":["docs_example","internal_label"],"l7d":{"ok":true,"total":{"calls":4,"revenue_usd":0.04},"buckets_sum":{"calls":4,"revenue_usd":0.04},"gap":{"calls":0,"revenue_usd":0},"by_bucket":{"internal":{"calls":0,"revenue_usd":0},"graders":{"calls":4,"revenue_usd":0.04},"testers":{"calls":0,"revenue_usd":0},"unattributed":{"calls":0,"revenue_usd":0},"testers_probable":{"calls":0,"revenue_usd":0},"external":{"calls":0,"revenue_usd":0}}},"l30d":{"ok":true,"total":{"calls":29,"revenue_usd":0.29},"buckets_sum":{"calls":29,"revenue_usd":0.29},"gap":{"calls":0,"revenue_usd":0},"by_bucket":{"internal":{"calls":10,"revenue_usd":0.1},"graders":{"calls":18,"revenue_usd":0.18},"testers":{"calls":0,"revenue_usd":0},"unattributed":{"calls":0,"revenue_usd":0},"testers_probable":{"calls":0,"revenue_usd":0},"external":{"calls":1,"revenue_usd":0.01}}},"warning":null},"internal_label":{"label":"user_agent prefix livecheck-internal/ is a label only. It does not remove a call from traffic.external. External is decided by wallet.","available":true,"calls":{"l7d":0,"l30d":3}},"revenue":{"source":"paid_calls","available":true,"all":{"l7d_usd":0.04,"l30d_usd":0.29},"external":{"l7d_usd":0,"l30d_usd":0.01}},"external_complete":true,"routes_complete":true,"all":{"sentinel":{"active_watchers":0,"checks_run":2854,"change_events":8,"checks_run_unattributed":8,"by_detector":{"status_change":{"watchers":1,"change_events":0},"keyword":{"watchers":0,"change_events":0},"text_diff":{"watchers":0,"change_events":0},"numeric_threshold":{"watchers":0,"change_events":0}}},"payers":{"available":true,"l7d":{"verify":{"calls":4,"unique_payers":2},"confirm":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"routes":{"verify":{"calls":1,"unique_payers":1},"verify/job":{"calls":1,"unique_payers":1},"verify/listing":{"calls":2,"unique_payers":2},"confirm":{"calls":0,"unique_payers":0},"confirm/order":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"watch/renew":{"calls":0,"unique_payers":0}}},"l30d":{"verify":{"calls":29,"unique_payers":8},"confirm":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"routes":{"verify":{"calls":6,"unique_payers":4},"verify/job":{"calls":13,"unique_payers":5},"verify/listing":{"calls":10,"unique_payers":5},"confirm":{"calls":0,"unique_payers":0},"confirm/order":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"watch/renew":{"calls":0,"unique_payers":0}}}}},"external":{"sentinel":{"active_watchers":0,"checks_run":8,"change_events":8,"checks_run_unattributed":8,"by_detector":{"status_change":{"watchers":0,"change_events":0},"keyword":{"watchers":0,"change_events":0},"text_diff":{"watchers":0,"change_events":0},"numeric_threshold":{"watchers":0,"change_events":0}}},"payers":{"available":true,"l7d":{"verify":{"calls":0,"unique_payers":0},"confirm":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"routes":{"verify":{"calls":0,"unique_payers":0},"verify/job":{"calls":0,"unique_payers":0},"verify/listing":{"calls":0,"unique_payers":0},"confirm":{"calls":0,"unique_payers":0},"confirm/order":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"watch/renew":{"calls":0,"unique_payers":0}}},"l30d":{"verify":{"calls":1,"unique_payers":1},"confirm":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"routes":{"verify":{"calls":0,"unique_payers":0},"verify/job":{"calls":1,"unique_payers":1},"verify/listing":{"calls":0,"unique_payers":0},"confirm":{"calls":0,"unique_payers":0},"confirm/order":{"calls":0,"unique_payers":0},"check":{"calls":0,"unique_payers":0},"watch":{"calls":0,"unique_payers":0},"watch/renew":{"calls":0,"unique_payers":0}}}}},"protocols":{"label":"Each paid call is on exactly one payment line: x402 (Base USDC via CDP) or mpp_tempo (MPP on Tempo via Stripe). Rows written before MPP are x402. The lines must add up to all traffic. Protocol is not a bucket: MPP payers go through the same five bucket rules by payer address.","available":true,"protocols":["x402","mpp_tempo"],"ok":true,"warning":null,"l7d":{"routes":{"verify":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":1,"revenue_usd":0.01}},"verify/job":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":1,"revenue_usd":0.01}},"verify/listing":{"x402":{"calls":1,"revenue_usd":0.01},"mpp_tempo":{"calls":1,"revenue_usd":0.01}},"confirm":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"confirm/order":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"check":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"watch":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"watch/renew":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}}},"totals":{"x402":{"calls":1,"revenue_usd":0.01},"mpp_tempo":{"calls":3,"revenue_usd":0.03}},"sum":{"calls":4,"revenue_usd":0.04},"all":{"calls":4,"revenue_usd":0.04},"gap":{"calls":0,"revenue_usd":0}},"l30d":{"routes":{"verify":{"x402":{"calls":3,"revenue_usd":0.03},"mpp_tempo":{"calls":3,"revenue_usd":0.03}},"verify/job":{"x402":{"calls":10,"revenue_usd":0.1},"mpp_tempo":{"calls":3,"revenue_usd":0.03}},"verify/listing":{"x402":{"calls":7,"revenue_usd":0.07},"mpp_tempo":{"calls":3,"revenue_usd":0.03}},"confirm":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"confirm/order":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"check":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"watch":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}},"watch/renew":{"x402":{"calls":0,"revenue_usd":0},"mpp_tempo":{"calls":0,"revenue_usd":0}}},"totals":{"x402":{"calls":20,"revenue_usd":0.2},"mpp_tempo":{"calls":9,"revenue_usd":0.09}},"sum":{"calls":29,"revenue_usd":0.29},"all":{"calls":29,"revenue_usd":0.29},"gap":{"calls":0,"revenue_usd":0}}}},"intents":{"lead_submit":{"payable":true,"price_usd":0.1,"status":"ga","l7d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}},"l30d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}}},"listing_published":{"payable":true,"price_usd":0.1,"status":"ga","l7d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}},"l30d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}}},"order_placed":{"payable":true,"price_usd":0.25,"status":"ga","l7d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}},"l30d":{"paid_calls":0,"receipts":0,"by_verdict":{"confirmed":0,"failed":0,"unknown":0}}}},"sentinel":{"payable":true,"status":"payable","prices":{"check_usd":0.02,"watch_usd":2.5,"chain_topup_usd":0.5},"active_watchers":0,"checks_run":2854,"change_events":8,"by_detector":{"status_change":{"watchers":1,"change_events":0},"keyword":{"watchers":0,"change_events":0},"text_diff":{"watchers":0,"change_events":0},"numeric_threshold":{"watchers":0,"change_events":0}},"benches":{"false_positive_rate":{"status_change":0,"text_diff":0,"n_checks":198,"gate":"status_change=0; text_diff<=0.02"},"median_latency_ms":162500,"latency_p95_ms":315250,"interval_s":300,"hmac":{"verified":20,"delivered":20,"pass":true},"chain_verify":"pass","report":"docs/sentinel-benches.md","commit":"590627c","note":"CI/local scale benches; not a 1000-watcher 24h soak."}},"benches":{"lead_submit":{"false_confirmed_rate":0,"n":81,"false_confirmed":0,"report":"bench/lead-submit-report.json","commit":"a17f56b"},"listing_published":{"false_confirmed_rate":0,"n":102,"false_confirmed":0,"report":"bench/listing-published-report.json","commit":"b10322b"},"order_placed":{"false_confirmed_rate":0,"n":100,"false_confirmed":0,"report":"bench/order-placed-report.json","commit":"0e9faa1"},"note":"CI/local honesty benches; not a live dispute rate. Do not infer a false-confirmed rate from paid_calls.","report":"docs/confirm-benches.md"},"store":{"scope":"this_machine_volume","fly_app_name":"livecheck","fly_machine_id":"8e4766c7d59608","paid_calls":{"kind":"sqlite","path":"/data/paid-calls.sqlite"},"receipts":{"kind":"sqlite","path":"/data/receipts.sqlite"},"confirm_unscoped_paid_calls":{"l7d":0,"l30d":0},"settle_late_paid_calls":{"l7d":0,"l30d":0},"note":"Counts are this Fly machine's livecheck_data volume only. unique_payers is COUNT(DISTINCT payer) in this SQLite file (null payers are not a payer). Public GET /stats is this volume, on Fly and off. Emergency multi-machine summing is LIVECHECK_STATS_FLEET=1 and withholds unique_payers instead of adding per-volume distincts. CoS: fly ssh console -a livecheck -C \"npm run paid-call:cos\"."},"starter_keys":{"available":true,"internal_keys_excluded":0,"emergency_stop":false,"wind_down":false,"daily_cap":2000,"daily_cap_used":0,"daily_cap_hit":false,"note":"Free starter-key checks are not paid calls and are not in the traffic buckets. This block is this machine's paid-calls volume, not a fleet sum. A future card-funded call would be a paid call with payer key:<id> (external). The daily cap is never raised automatically. Our own test keys (keys:mark-internal) are left out of issued, activated, 20+, free checks, and out of credit. The daily cap meter counts every free check, ours included, because it guards load.","l7d":{"issued":1,"activated":0,"reached_20":0,"out_of_credit":0,"free_checks":0},"l30d":{"issued":1,"activated":0,"reached_20":0,"out_of_credit":0,"free_checks":0}},"notes":["Includes internal test traffic.","Payable Confirm intents: lead_submit (GA, $0.10) and listing_published ($0.10) on POST /v1/confirm; order_placed ($0.25) on POST /v1/confirm/order.","Unpaid POST /v1/check, POST /v1/watch, and POST /v1/watch/renew include extensions.bazaar (input schema, output schema, and an example). Bazaar copy on POST /v1/confirm stays lead_submit-primary. order_placed is a separate fixed-price resource. This is 402 discovery metadata, not a claim that a CDP catalog index is complete.","paid_calls are confirm-route rows with that intent stored. Pre-intent-column confirm rows are store.confirm_unscoped_paid_calls and are not attributed to lead_submit.","Sentinel checks_run is one-shot POST /v1/check receipts plus successful scheduled observations (term quota minus checks_remaining; failed fetches do not decrement checks_remaining). by_detector is SQLite watchers + change events. sentinel.benches are CI/local gate results from bench/sentinel-report.json (fallback: main 590627c), not a live dispute rate. The outage gate outage_no_content_change is not in sentinel.benches; do not treat this payload as a republish of that gate.","Confirm benches.false_confirmed_rate is per-intent CI/local honesty (lead_submit / listing_published / order_placed) from bench/*-report.json, not a live dispute rate. Do not infer FC from paid_calls.","Counts are this Fly machine's livecheck_data volume only. unique_payers is COUNT(DISTINCT payer) in this SQLite file (null payers are not a payer). Public GET /stats is this volume, on Fly and off. Emergency multi-machine summing is LIVECHECK_STATS_FLEET=1 and withholds unique_payers instead of adding per-volume distincts. CoS: fly ssh console -a livecheck -C \"npm run paid-call:cos\"."]}