# BNM Data Shop Official public data as JSON at https://ticks.bnm.farm. 77 paid GETs. USDC on Base (eip155:8453). payTo 0xf59621FC406D266e18f314Ae18eF0a33b8401004. Extracted-body doors: free index/search on /{door}/manifest.json or /{door}/index (?q=, optional before=), then pay one official text GET ?id= ($0.02) or the page ($0.05). newest 10 official texts on a plain GET ($0.05), or the whole current set if fewer; older pages on the same URL (?before, another $0.05). Poll newer with ?since= ($0.05; empty new set is HTTP 304 or paid recordCount 0). Table doors (/ticks, /import-alerts) stay the whole current table; If-None-Match / ETag (or ?since=) avoids re-buying an unchanged snapshot. Refreshed twice daily, about 07:45 and 19:45 America/Boise. An unchanged official asOf means there is no new data. HTTP 429 is not a SKU and is not a subscription. If this host returns 429, honor Retry-After and poll with ?since= or If-None-Match. ## Paid - GET /ticks — $0.05 — USDA farm market prices (hay, cattle, sheep, grain, dairy, hogs, produce, eggs, cold storage, poultry, cotton, grocery retail, grass-fed DTC, production cost, ag energy, by-products, Missouri stocker). $0.05 = entire current nationwide USDA AMS table (one SKU). Idaho/PNW barns are example rows inside that table. Manitoba weekly auction-mart cattle (C$/cwt) is inside this table. Paid JSON keeps ticks[] and adds records[] + asOf. Free 3-row slice: https://ticks.bnm.farm/sample. Rebuy: pay once → store ETag from the paid 200 (unpaid 402 has no ETag) → poll If-None-Match (or ?since=) → 304 no charge when unchanged → pay again only when ETag/body changes. - GET /import-alerts — $0.05 — FDA Import Alerts / DWPE firm-product snapshot. Paid JSON keeps ticks[] and adds records[] + asOf. Same ETag / If-None-Match (or ?since=) rebuy habit as /ticks. - GET /mariners — $0.05 — USCG D13 / Northwest Local Notice to Mariners - GET /mariners-d11 — $0.05 — USCG D11 / Southwest Local Notice to Mariners - GET /mariners-d7 — $0.05 — USCG D7 / Southeast Local Notice to Mariners - GET /mariners-d8 — $0.05 — USCG D8 / Gulf Local Notice to Mariners - GET /mariners-d1 — $0.05 — USCG D1 / Northeast Local Notice to Mariners - GET /mariners-d5 — $0.05 — USCG D5 / Mid-Atlantic Local Notice to Mariners - GET /mariners-d9 — $0.05 — USCG D9 / Great Lakes Local Notice to Mariners - GET /mariners-d14 — $0.05 — USCG D14 / Pacific Local Notice to Mariners - GET /mariners-d17 — $0.05 — USCG D17 / Alaska Local Notice to Mariners - GET /warning-letters — $0.05 — FDA warning-letter bodies (firm, date, subject, full letter text). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. Same URL ?since= is newer texts only. - GET /untitled-letters — $0.05 — FDA Untitled Letter text (CDER OPDP + CBER promo PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /awa — $0.05 — USDA APHIS AWA inspection-report observation text (official per-report PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /swisspar — $0.05 — Swissmedic first-authorisation SwissPAR evaluation text (official per-product PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /pcac — $0.05 — FDA PCAC 503A briefing-memo evaluation text (official per-substance PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ftc-wl — $0.05 — FTC BCP warning-letter text (official per-letter PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cfpb-orders — $0.05 — CFPB consent-order / administrative-order text (official per-order PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /occ-cd — $0.05 — OCC institution C&D / consent-order text (official per-order PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fdic-orders — $0.05 — FDIC institution consent-order / C&D text (official per-order PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /frb-orders — $0.05 — FRB institution C&D / written-agreement / PCA text (official per-order PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ncua-orders — $0.05 — NCUA institution consent C&D text (official per-order HTML). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fincen-orders — $0.05 — FinCEN institution consent-order text (official per-order PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ferc-orders — $0.05 — FERC institution stipulation-and-consent text (official cms.ferc.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ofac-orders — $0.05 — OFAC institution enforcement-release text (official ofac.treasury.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /bis-orders — $0.05 — BIS institution charging-letter / order text (official bis.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cftc-orders — $0.05 — CFTC institution enforcement-order / settlement text (official cftc.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fifra-orders — $0.05 — EPA FIFRA institution order / consent text (official yosemite.epa.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /denovo-orders — $0.05 — FDA De Novo classification-order text (official accessdata.fda.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ttb-oic — $0.05 — TTB Offer in Compromise text (official ttb.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /air-letters — $0.05 — USDA APHIS AIR confirmation-letter text (official direct.aphis.usda.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /superfund-rods — $0.05 — EPA Superfund Record of Decision and Five-Year Review text (official semspub.epa.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ico-mpn — $0.05 — ICO Monetary Penalty Notice text (official ico.org.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cma-ca98 — $0.05 — UK CMA CA98 infringement-decision text (official assets.publishing.service.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ema-referrals — $0.05 — EMA human-medicine referral procedure text (official ema.europa.eu English PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cder-reviews — $0.05 — FDA CDER Integrated Review text (official accessdata.fda.gov Drugs@FDA PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /npdes-permits — $0.05 — EPA-issued individual NPDES permit text (official epa.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ofsted-inspections — $0.05 — Ofsted school / provider inspection-report text (official files.ofsted.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ofwat-enforcement — $0.05 — Ofwat Water Industry Act 1991 enforcement-notice text (official ofwat.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ofgem-enforcement — $0.05 — Ofgem enforcement-notice text (official ofgem.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /gain — $0.05 — USDA FAS GAIN attaché report TEXT (official gain.fas.usda.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /orr-enforcement — $0.05 — ORR Railways Act 1993 s.55 statutory-notice / final-order / investigation-report text (official orr.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /phmsa-orders — $0.05 — PHMSA pipeline enforcement-order text (official primis.phmsa.dot.gov PDFs; NOPV PCP/PCO, Final Order, CAO, Consent Order, Decision on Petition). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /aaib-reports — $0.05 — UK AAIB investigation-report text (official assets.publishing.service.gov.uk PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /csb-reports — $0.05 — US CSB final investigation report PDF (official csb.gov/assets PDFs). One official PDF. Same URL ?id= or ?before= is the next older official PDF for another $0.05. - GET /hhs-oig-reports — $0.05 — HHS OIG Audit / Evaluation and VA OIG audit / inspection / review PDFs (official oig.hhs.gov and vaoig.gov). One official PDF. Same URL ?id= or ?before= is the next older official PDF for another $0.05. - GET /eis-reports — $0.05 — EPA NEPA Environmental Impact Statement text (official CDX e-NEPA EIS document PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fsis-humane — $0.05 — USDA FSIS humane-handling enforcement letter text (official fsis.usda.gov NOS / NOIE / deferral / abeyance / reinstatement PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /epa-cafo — $0.05 — EPA Part 22 CAFO / ESA administrative penalty letter text (official yosemite.epa.gov and regional epa.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fmshrc-orders — $0.05 — FMSHRC ALJ + Commission Decision/Order text (official fmshrc.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /msha-fatals — $0.05 — MSHA Fatality Investigation Final Report text (official msha.gov Final Report PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /bsee-reports — $0.05 — BSEE District Accident Investigation Report text (official bsee.gov district-investigation PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /oshrc-orders — $0.05 — OSHRC ALJ Decision/Order + Commission Final Order text (official oshrc.gov PDF/HTML caches). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /epa-alj — $0.05 — EPA OALJ Initial Decision and Order + ALJ Order text (official yosemite.epa.gov/oarm/alj PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /epa-eab — $0.05 — EPA EAB Unpublished Final Order / Board Order text (official yosemite.epa.gov/oa/EAB_Web_Docket.nsf PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /faa-civil-penalty — $0.05 — FAA Civil Penalty Appeals Administrator Order text (official drs.faa.gov CIVIL_PENALTY_APPEALS PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /stb-decisions — $0.05 — STB Board Decision / Order text (official dcms-external.s3.amazonaws.com DCMS PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /oalj-decisions — $0.05 — DOL OALJ / BALCA / ARB Decision and Order text (official oalj.dol.gov and dol.gov/sites OALJ ARB PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fmc-orders — $0.05 — FMC Reading Room Initial Decision / Commission Order text (official www2.fmc.gov/readingroom PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ftc-orders — $0.05 — FTC cases-proceedings ALJ Decision / Commission Decision and Order text (official ftc.gov/system/files/ftc_gov/pdf PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /nlrb-decisions — $0.05 — NLRB published Board Decision text (official apps.nlrb.gov document PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /flra-decisions — $0.05 — FLRA Authority Decision text (official flra.gov decision PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ecab-decisions — $0.05 — DOL ECAB FECA Decision and Order text (official dol.gov ECAB slip PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /fcc-eb-orders — $0.05 — FCC Enforcement Bureau order text (official docs.fcc.gov DA PDFs from the Daily Digest). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /nmb-determinations — $0.05 — NMB Railway Labor Act §2 Ninth representation determination text (official nmb.gov FY Determinations PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /eeoc-appellate — $0.05 — EEOC Office of Federal Sector appellate and reconsideration text (official eeoc.gov Appeal No. / Request No. PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ttab-decisions — $0.05 — USPTO TTAB reading-room decision text (official ttab-reading-room.uspto.gov decision PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ibla-decisions — $0.05 — DOI IBLA precedential decision text (official oha.doi.gov IBLA decision PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ccb-determinations — $0.05 — Copyright Claims Board Final Determination text (official dockets.ccb.gov document download PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /uscg-alj-decisions — $0.05 — USCG ALJ Suspension and Revocation Decision and Order text (official uscg.mil Decisions and Orders PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cbca-decisions — $0.05 — CBCA decision, dismissal, and order text (official cbca.gov decision PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /mspb-decisions — $0.05 — MSPB nonprecedential and precedential decision text (official mspbpublic.azurewebsites.net PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /ferc-issuances — $0.05 — FERC eLibrary Commission order/opinion and ALJ initial-decision text (official elibrary.ferc.gov slips). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /cftc-reparations — $0.05 — CFTC reparations disposition and Commission opinion text (official cftc.gov PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /form-483 — $0.05 — FDA Form 483 inspectional observation bodies (posted OII FOIA PDFs). Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /gmp — $0.05 — Health Canada Drug GMP report-card observation text + C.02 cites. Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. - GET /gmp-md — $0.05 — Health Canada medical-device report-card observation text + MDR cites. Newest 10 official texts. Same URL ?before= is the next older 10 for another $0.05. Unpaid GET returns HTTP 402 with PAYMENT-REQUIRED and extensions.bazaar. Unpaid POST on the same paid path (empty JSON `{}` accepted) returns that same 402 challenge and does not return data. After a valid X-PAYMENT, the same URL returns JSON: newest chunk on extracted-body doors, older chunk if they ask, newer-than ?since= if they poll, whole current table on /ticks and /import-alerts. Empty ?since= delta is HTTP 304 or paid recordCount 0. Table If-None-Match 304s an unchanged snapshot. No API key. GET has no request body. 402 accepts[].extra names searchUrl, oneDocPath, priceAtomic, pagePriceAtomic, pageDefault, tableWhole, firmCheckUrl, sampleUrl. extra.name stays USD Coin. ## Free discovery - GET /sample — free 3-row /ticks slice plus a canned ?id= body-SKU example. HTTP 200. Not the whole $0.05 table. Not a SKU. - GET /firm-check?q= — free firm-name search across Form 483, FDA warning letters, FDA untitled letters, FTC BCP warning letters, FTC ALJ/Commission orders, FMC orders, NMB representation determinations, NLRB Board decisions, FLRA Authority decisions, ECAB decisions, FCC Enforcement Bureau orders, CBCA decisions, MSPB decisions, EEOC OFS appellate decisions, Ofwat enforcement, Ofgem enforcement, CFPB orders, OCC C&Ds, FDIC orders, and the FDA import-alert catalog. HTTP 200. Names the door and the id or page to buy ($0.02 one text / $0.05 page or table). Not a SKU. - GET /openapi.json — OpenAPI 3.1 with x-payment-info for the 77 paid doors - GET /.well-known/x402 — absolute URLs of the 77 paid routes only - GET /.well-known/erc8004.json — ERC-8004 registration-v1 agentURI (x402Support, MCP https://ticks.bnm.farm/mcp, agentWallet = payTo). Same JSON at /agent-registration.json and /.well-known/agent-registration.json. HTTP 200. Not a SKU. registrations[] is agentId 96169 on eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432. - GET / — shop JSON (payTo + the 77 products) - GET/POST /mcp — Streamable HTTP MCP for the same 77 paid GETs plus free search and firm-check. Not a new SKU. - GET /manifest.json — USDA farm market price count + schema + official composites (median rollups of ticks already on the door; no listings scrape) - GET /import-alerts/manifest.json — FDA count + schema (not the firm dump) - GET /mariners/manifest.json — D13 LNM count + official PDF (not the notice body) - GET /mariners-d11/manifest.json — D11 LNM count + official PDF (not the notice body) - GET /mariners-d7/manifest.json — D7 LNM count + official PDF (not the notice body) - GET /mariners-d8/manifest.json — D8 LNM count + official PDF (not the notice body) - GET /mariners-d1/manifest.json — D1 LNM count + official PDF (not the notice body) - GET /mariners-d5/manifest.json — D5 LNM count + official PDF (not the notice body) - GET /mariners-d9/manifest.json — D9 LNM count + official PDF (not the notice body) - GET /mariners-d14/manifest.json — D14 LNM count + official PDF (not the notice body) - GET /mariners-d17/manifest.json — D17 LNM count + official PDF (not the notice body) - GET /warning-letters/manifest.json — FDA letter count + firm/date/subject (full catalog + page cursor; ?q= is free search; not the letter body) - GET /untitled-letters/manifest.json — FDA untitled count + id/firm/date/product (full catalog + page cursor; ?q= is free search; not the letter text) - GET /awa/manifest.json — APHIS AWA count + id/firm/date (full catalog + page cursor; ?q= is free search; not the observation text) - GET /swisspar/manifest.json — SwissPAR count + name/date/MA (full catalog + page cursor; ?q= is free search; not the evaluation text) - GET /pcac/manifest.json — FDA PCAC count + substance/date/meeting/mediaId (full catalog + page cursor; ?q= is free search; not the evaluation text) - GET /ftc-wl/manifest.json — FTC BCP count + firm/date/subject (full catalog + page cursor; ?q= is free search; not the letter body) - GET /cfpb-orders/manifest.json — CFPB order count + firm/date/title/fileNo (full catalog + page cursor; ?q= is free search; not the order body) - GET /occ-cd/manifest.json — OCC C&D count + bank/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /fdic-orders/manifest.json — FDIC order count + bank/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /frb-orders/manifest.json — FRB order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /ncua-orders/manifest.json — NCUA order count + credit union/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /fincen-orders/manifest.json — FinCEN order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /ferc-orders/manifest.json — FERC order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /ofac-orders/manifest.json — OFAC order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /bis-orders/manifest.json — BIS order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /cftc-orders/manifest.json — CFTC order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /fifra-orders/manifest.json — EPA FIFRA order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /denovo-orders/manifest.json — FDA De Novo order count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /ttb-oic/manifest.json — TTB OIC count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /air-letters/manifest.json — APHIS AIR letter count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the letter body) - GET /superfund-rods/manifest.json — EPA Superfund ROD + FYR count + title/Doc ID (full catalog + page cursor; ?q= is free search; not the ROD/FYR body) - GET /ico-mpn/manifest.json — ICO MPN count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the MPN body) - GET /cma-ca98/manifest.json — CMA CA98 count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the decision body) - GET /ema-referrals/manifest.json — EMA referral count + name/date/status (full catalog + page cursor; ?q= is free search; not the procedure body) - GET /cder-reviews/manifest.json — CDER Integrated Review count + name/date/application (full catalog + page cursor; ?q= is free search; not the review body) - GET /npdes-permits/manifest.json — EPA individual NPDES permit count + name/date/permit (full catalog + page cursor; ?q= is free search; not the permit body) - GET /ofsted-inspections/manifest.json — Ofsted inspection count + provider/URN/date (full catalog + page cursor; ?q= is free search; not the report body) - GET /ofwat-enforcement/manifest.json — Ofwat enforcement count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the notice body) - GET /ofgem-enforcement/manifest.json — Ofgem enforcement count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the notice body) - GET /gain/manifest.json — GAIN attaché count + report number/country/post/date (full catalog + page cursor; ?q= is free search; not the attaché body) - GET /orr-enforcement/manifest.json — ORR enforcement count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the notice body) - GET /phmsa-orders/manifest.json — PHMSA enforcement count + operator/CPF/date (full catalog + page cursor; ?q= is free search; not the order body) - GET /aaib-reports/manifest.json — AAIB investigation count + title/registration/aircraft/date (full catalog + page cursor; ?q= is free search; not the report body) - GET /csb-reports/manifest.json — CSB final-report count + facility/date/title (full catalog; ?q= is free search; not the PDF bytes) - GET /hhs-oig-reports/manifest.json — HHS OIG + VA OIG report count + report number/date/title (full catalog; ?q= is free search; not the PDF bytes) - GET /eis-reports/manifest.json — EPA NEPA EIS count + CEQ number/date/title/agency (full catalog + page cursor; ?q= is free search; not the EIS body) - GET /fsis-humane/manifest.json — FSIS humane-handling letter count + establishment/letter type/date (full catalog + page cursor; ?q= is free search; not the letter body) - GET /epa-cafo/manifest.json — EPA CAFO / ESA letter count + institution/docket/date (full catalog + page cursor; ?q= is free search; not the letter body) - GET /fmshrc-orders/manifest.json — FMSHRC Decision/Order count + operator/docket/date (full catalog + page cursor; ?q= is free search; not the decision body) - GET /msha-fatals/manifest.json — MSHA fatality final-report count + asOf + mine/operator/state/sector/dates (full catalog + page cursor; ?q= is free search; ?sector=coal|metal/nonmetal is exact; not the report body, not a PDF link) - GET /bsee-reports/manifest.json — BSEE district investigation count + title/date/lease/area-block/accident-type (full catalog + page cursor; ?q= is free search; not the report body) - GET /oshrc-orders/manifest.json — OSHRC Decision/Order count + operator/docket/date (full catalog + page cursor; ?q= is free search; not the decision body) - GET /epa-alj/manifest.json — EPA OALJ Decision/Order count + case/docket/date/label (full catalog + page cursor; ?q= is free search; not the decision body) - GET /epa-eab/manifest.json — EPA EAB Board Order count + case/appeal/date/Type/Result (full catalog + page cursor; ?q= is free search; not the Board narrative) - GET /faa-civil-penalty/manifest.json — FAA Civil Penalty Appeals Order count + order no/case/docket/dates/subjects (full catalog + page cursor; ?q= is free search; not the Order narrative) - GET /stb-decisions/manifest.json — STB Board Decision count + docket/Decision ID/date/deciding body (full catalog + page cursor; ?q= is free search; not the Board narrative) - GET /oalj-decisions/manifest.json — DOL OALJ / BALCA / ARB Decision count + case/board/date/institution (full catalog + page cursor; ?q= is free search; not the Decision/Order narrative) - GET /fmc-orders/manifest.json — FMC Initial Decision / Commission Order count + docket/document id/date/institution (full catalog + page cursor; ?q= is free search; not the Decision/Order narrative) - GET /ftc-orders/manifest.json — FTC ALJ Decision / Commission Decision and Order count + docket/OSCAR/date/institution (full catalog + page cursor; ?q= is free search; not the Decision/Order narrative) - GET /nlrb-decisions/manifest.json — NLRB Board Decision count + citation/case/date/institution (full catalog + page cursor; ?q= is free search; not the Board Decision narrative) - GET /flra-decisions/manifest.json — FLRA Authority Decision count + citation/case/date/institution (full catalog + page cursor; ?q= is free search; not the Authority Decision narrative) - GET /ecab-decisions/manifest.json — ECAB FECA Decision and Order count + docket/date/institution (full catalog + page cursor; ?q= is free search; not the Decision and Order narrative) - GET /fcc-eb-orders/manifest.json — FCC Enforcement Bureau order count + DA number/date/institution (full catalog + page cursor; ?q= is free search; not the order narrative) - GET /nmb-determinations/manifest.json — NMB representation determination count + citation/case/date/institution (full catalog + page cursor; ?q= is free search; not the determination narrative) - GET /eeoc-appellate/manifest.json — EEOC OFS appellate decision count + citation/case/date/institution (full catalog + page cursor; ?q= is free search; not the decision narrative) - GET /ttab-decisions/manifest.json — TTAB reading-room decision count + parties/mark/type/outcome/precedential/grounds (full catalog + page cursor; ?q= is free search; not the decision narrative) - GET /ibla-decisions/manifest.json — DOI IBLA precedential decision count + citation/docket/parties/disposition/date (full catalog + page cursor; ?q= is free search; not the decision narrative) - GET /ccb-determinations/manifest.json — Copyright Claims Board Final Determination count + docket/parties/caption/kind/date (full catalog + page cursor; ?q= is free search; not the determination narrative) - GET /uscg-alj-decisions/manifest.json — USCG ALJ Decision and Order count + docket/date/disposition (full catalog + page cursor; ?q= is free search; not the order narrative) - GET /cbca-decisions/manifest.json — CBCA decision count + docket/program/kind/date/institution (full catalog + page cursor; ?q= is free search; not the decision narrative) - GET /mspb-decisions/manifest.json — MSPB decision count + docket/kind/order kind/date/institution (full catalog + page cursor; ?q= is free search; ?kind=nonprecedential|precedential is an exact kind filter; not the decision narrative) - GET /ferc-issuances/manifest.json — FERC eLibrary issuance count + accession/docket/kind/order kind/date/institution (full catalog + page cursor; ?q= is free search; ?kind=commission|alj is an exact kind filter; not the order narrative) - GET /cftc-reparations/manifest.json — CFTC reparations count + docket/kind/order kind/date/title (full catalog + page cursor; ?q= is free search; ?kind=disposition|opinion is an exact kind filter; not the decision narrative) - GET /form-483/manifest.json — FDA 483 count + id/date/firm (full catalog + page cursor; ?q= is free search; not the observation body) - GET /gmp/manifest.json — Health Canada GMP count + id/firm/date/rating (full catalog + page cursor; ?q= is free search; not the observation text) - GET /gmp-md/manifest.json — Health Canada MD count + id/firm/date/rating (full catalog + page cursor; ?q= is free search; not the report-card body text) Live public SKU count is well-known. No 78th public SKU. Free manifests are not the paid body. ## Table rebuy (/ticks, /import-alerts) - Pay GET /ticks (or /import-alerts) once ($0.05 = entire current table). ETag arrives on that paid 200, not on the unpaid 402. - Store that ETag from the paid 200 (and/or fetchedAt/asOf for ?since=). - Poll the same URL with If-None-Match: (or ?since=). - HTTP 304 = unchanged snapshot, no charge, no body. - When the table changes, ETag changes: unpaid poll is 402 again — pay once more for the whole current table. Same path; not a new SKU. ## Prompt for AI - Search a free index: GET https://ticks.bnm.farm/{door}/manifest.json?q=… - Then one official text: GET https://ticks.bnm.farm/{door}?id=… ($0.02) - Or a page of 10: GET https://ticks.bnm.farm/{door} ($0.05; whole current set if n<10) - Tables: GET https://ticks.bnm.farm/ticks and GET https://ticks.bnm.farm/import-alerts ($0.05 = entire current table) - Table rebuy: pay GET /ticks once → store ETag from the paid 200 (unpaid 402 has no ETag) → poll with If-None-Match (or ?since=) → HTTP 304 no charge when unchanged → pay again only when the body/ETag changes - Free 3-row /ticks slice (not the whole $0.05 table): GET https://ticks.bnm.farm/sample ## MCP - URL — https://ticks.bnm.farm/mcp - Connect — `npx -y mcp-remote https://ticks.bnm.farm/mcp` - One tool per live paid GET from /.well-known/x402 (generated at request time; later SKUs appear without an MCP rewrite). Same 77 URLs today. Free search + free firm-check + paid get-page. Extracted-body doors: free index/search on /{door}/manifest.json or /{door}/index (?q=, optional before=), then pay one official text GET ?id= ($0.02) or the page ($0.05). newest 10 official texts on a plain GET ($0.05), or the whole current set if fewer; older pages on the same URL (?before, another $0.05). Poll newer with ?since= ($0.05; empty new set is HTTP 304 or paid recordCount 0). Table doors (/ticks, /import-alerts) stay the whole current table; If-None-Match / ETag (or ?since=) avoids re-buying an unchanged snapshot. Refreshed twice daily, about 07:45 and 19:45 America/Boise. An unchanged official asOf means there is no new data. HTTP 429 is not a SKU and is not a subscription. If this host returns 429, honor Retry-After and poll with ?since= or If-None-Match. Unpaid tool calls still HTTP 402. Not Bazaar-indexed. ## Agent catalogs - x402scan — https://www.x402scan.com/server/c6f584c5-e494-41d1-aa02-2efb07ac3546 - Chainlink for Agents / CDP Bazaar — not listed until a CDP facilitator settle catalogs the route. Validate already accepts the listed paid URLs.