# oddly > The world, on the record. AI infrastructure built on the observed web. > Companies are held to account for what was public at a moment in time, and > almost nothing keeps that moment. oddly reads what the world publishes, > writes down both clocks, the one the source asserted and the one we > looked, seals each row against the one before it, folds the day into one > root and submits that root somewhere we do not run. The record holds two > corpora: the world corpus places the public subjects that can be placed > and counts the ones that cannot, named by class rather than dropped; the > commerce corpus holds observed public storefront listing prices and > assortment shape, aggregated by category and market, each figure carrying > its sample size and scope. Every row is sealed with a receipt, and each > day's receipts fold into one root anchored where verifying it does not > involve us: recompute the row's hash, check it against the published > receipt, and check the day's root at the anchor. Built by Oddly Even Group Pte. Ltd. Two facts a reader should carry into any citation: - Every public read is anonymous, with no key and no account, and free to read with attribution under a rate; bulk and history are free with attribution, and an SLA, redistribution and change feeds are by contract. Quote the scope with the number. - The record holds no person as a subject and no store's private analytics. A verdict about a store's own performance is computed from that merchant's private connected data and is shown only inside the authenticated app; those surfaces are not crawlable and are not cited. ## The record The surfaces below are the current front door and the ones to cite for what oddly is and how it can be checked. They were live in the preview tree from 2026-09-17 and reached their public routes on 2026-09-22; before that date this index pointed only at the pages they replace, which is why they are listed first here. Every figure on these pages is fetched live and carries both clocks, the one the source asserted and the one we looked at. A figure no endpoint can serve is left visibly empty rather than filled with an estimate, so an empty slot on one of these pages is a statement and not a fault. - [The record](https://myoddly.com/): the front door. What the web published, when it was true, and when we looked. - [Receipts](https://myoddly.com/record): the receipts index, one entry per day, each day folded into one root. - [One receipt](https://myoddly.com/receipt): a single receipt followed end to end, from the observation to the anchor. - [Corpus](https://myoddly.com/corpus): where the record reaches and where it stops. Subjects that can be placed are drawn on the world; the ones that cannot are counted and named by class rather than dropped, so the coverage claim has an edge to it. - [Trust](https://myoddly.com/trust): oddly's own posture, stated as something you can check without asking us. A day closes, its receipts fold into one root, and the root is submitted where verifying it does not involve us. This is the company posture surface. The security posture for a vendor review is at [legal/security](https://myoddly.com/legal/security/). - [Method](https://myoddly.com/method): the method, stated so it can be run rather than described. Read a public source as it is published, write down both clocks, seal each row against the one before it, fold the day into one root, submit that root somewhere we do not run. - [Developers](https://myoddly.com/developers): four anonymous reads of the record, with no key and no account: the corpus counts, the map counts, one observation end to end, and a sealed receipt for a subject. - [Pricing](https://myoddly.com/pricing): what a read costs, read from canon at load and stamped with the date canon was generated. The free boundary is stated exactly, with the first paid line under it. ## Answers One page per question the record answers with a figure. The question is the page's identity, named by three parts of its address: a class, a dimension inside it and a period. Each page states the exact predicate its figure reads, sets it beside the same figure for the period before, and shows the newest receipt behind it with the root of the day that receipt was written, or says that no root has been built for that day yet, so a citation can be checked rather than believed. A period still open says so. A period not yet begun, or before the first period the record holds for its class, has no page. The addresses are given as patterns rather than links: the pages are rendered from the ledger per request. - HDB resale flats registered in a town in a month: https://myoddly.com/record/answers/hdb-resale//, for any town the ledger holds a resale registration for, written in lower case with a hyphen for a space and an underscore for a slash, so Ang Mo Kio is ang-mo-kio and Kallang/Whampoa is kallang_whampoa (for example /record/answers/hdb-resale/kallang_whampoa/). - Storefronts the record saw for the first time in a week: https://myoddly.com/record/answers/new-storefronts/all/, an ISO week. Each storefront is counted once, on its first sighting. - Times the root zone changed in a week: https://myoddly.com/record/answers/root-zone/whole/, an ISO week. A re-read that found the same value is not counted as a change. ## Products Company facts live at the root, products live under /products/. The two words that carry both meanings are split on purpose: /trust and /security are facts about oddly, and the pages below are the products. - [oddly commerce](https://myoddly.com/products/commerce): what storefronts published and when, with the value before and after every change and both clocks on each observation. - [oddly trust](https://myoddly.com/products/trust): an agent acted, and whether it was authorised, by whom and when. Reads the standards the web runs on and the crawler registries beside them, and seals each reading so an action can be checked rather than believed. - [oddly security](https://myoddly.com/products/security): the certificate transparency logs read at their operators, each log's own clock kept beside ours, so a certificate can be checked against what the log actually said and when. ## Product - [What is oddly](https://myoddly.com/what-is-oddly): the store-native product in plain language, with the FAQ that answers who it is for and how it prices. - [How oddly thinks](https://myoddly.com/how-oddly-thinks): the reasoning model behind the verdicts. - [How it works](https://myoddly.com/how-it-works): connect, watch, and act, end to end. - [Why oddly](https://myoddly.com/why-oddly): verdicts you can trace to a rule and your store's own data. - [Deterministic commerce intelligence](https://myoddly.com/deterministic-commerce-intelligence): the category definition and why determinism is the point. - [Single store tools](https://myoddly.com/single-store-tools): the free storefront checks for one shop. - [Pricing](https://myoddly.com/pricing): tiers from free Watch upward, with the full comparison at [pricing/compare](https://myoddly.com/pricing/compare). The route is slash-less from 2026-09-22 and the slash form 308s onto it. ## Platform - [Platform](https://myoddly.com/platform): the operations layer for marketing. - [Verifier](https://myoddly.com/platform/verifier): how a verdict is checked and cited before anything touches a live account. - [Benchmarks](https://myoddly.com/platform/benchmarks): the observed category reference layer. - [Playbooks](https://myoddly.com/platform/playbooks): the recommendation library. - [Store grader](https://myoddly.com/store-grader): the free public storefront audit. - [Audit](https://myoddly.com/audit): run the audit against a public domain. ## Method and citation - Decisions with receipts: the methodology paper. Until 2026-09-22 this was the page served at /method, and that route now serves the surface listed under "The record" above. The paper itself is unchanged and is served at the path /method/decisions-with-receipts.pdf, which is what to cite for the material below. It is a file rather than a page route, so it carries no link here for the same reason it never did: this index lists crawlable page routes. Covers the k-anonymity serving floor (k greater than or equal to 5 distinct merchants, contributors hashed before aggregation), honest-null semantics (a sub-floor cell reads "cohort forming", an unreadable count hides the stat rather than guessing), provenance chains (fixed rules over connected signals, the language layer default-off and unable to move a rank or a number), and the definition of a receipt: a corpus number with a path to its source, a mechanism enforced in code, or a named absence. Every claim on that page resolves to an entry in the published claims ledger, and the citation map at the end lists each claim against its receipt. It also states what oddly refuses to claim, which is load-bearing: no fabricated adoption numbers, no "beats the frontier model", no cohort served below the floor, no breach cause we did not observe. A downloadable copy of the same paper is served at the path /method/decisions-with-receipts.pdf (not listed as a link above, because this index lists crawlable page routes only). - [Benchmarks](https://myoddly.com/benchmarks): the observed category reference layer, one page per category and one per question, server-rendered from the corpus so every figure is in the HTML rather than painted in by script. Each figure is separately citable: it carries its own fragment (for example /benchmarks/baby-clothing/#claim-price-median), built from what the figure measures and not from its value, so a saved link keeps pointing at the same claim after the corpus is crawled again. Each page also publishes a machine-readable claims block (script type application/json, id oddly-claims) giving every figure's canonical form and its sha256 content hash, with the check stated in the block: sort every object key, stringify, sha256, compare. The anchor is stable and the hash is not, by design, so a consumer holding both can tell a still-current quote from a stale one. ## Proof and trust - [Proof](https://myoddly.com/proof/): oddly run on oddly, with the working shown at how-this-is-computed. - [Alignment](https://myoddly.com/alignment/): how oddly governs the agents that build it. Every change resolves to a disposition (deny, escalate, auto-execute, observe in shadow) and leaves a record you can replay, and the page states what oddly refuses to claim (no certification, no regulator relationship). - [Case studies](https://myoddly.com/case-studies/): real store outcomes, including [oddly on oddly](https://myoddly.com/case-studies/oddly/), [Burrow and Be](https://myoddly.com/case-studies/burrow-and-be/), [Moe](https://myoddly.com/case-studies/moe/), and [The Peh Pals](https://myoddly.com/case-studies/the-peh-pals/). - [Comparisons](https://myoddly.com/comparisons): oddly against [Triple Whale](https://myoddly.com/comparisons/oddly-vs-triple-whale), [Polar](https://myoddly.com/comparisons/oddly-vs-polar), [Northbeam](https://myoddly.com/comparisons/oddly-vs-northbeam), [TrueProfit](https://myoddly.com/comparisons/oddly-vs-trueprofit), and [Slack agents](https://myoddly.com/comparisons/oddly-vs-slack-agents). - [State of Shopify 2026 Q3](https://myoddly.com/reports/state-of-shopify-2026-q3): a report drawn from the observed corpus. ## Writing - [Blog](https://myoddly.com/blog/): the full index. Cornerstone pieces: - [True ROAS vs reported ROAS](https://myoddly.com/blog/true-roas-vs-reported-roas/) - [Why your Meta ROAS is lying](https://myoddly.com/blog/why-your-meta-roas-is-lying/) - [Deterministic engine vs language models](https://myoddly.com/blog/deterministic-engine-vs-language-models/) - [Dashboards, copilots, agents: the consistency test](https://myoddly.com/blog/dashboards-copilots-agents-consistency-test/) - [Cohort benchmarking without privacy creep](https://myoddly.com/blog/cohort-benchmarking-without-privacy-creep/) - [The 14 day rule](https://myoddly.com/blog/the-14-day-rule/) - [Resources](https://myoddly.com/resources/): the topic-cluster hub. - [Changelog](https://myoddly.com/changelog/): what shipped and when. ## Developers - [Developers](https://myoddly.com/developers): four anonymous reads of the record, no key and no account. Listed in full under "The record" above. - [API reference](https://myoddly.com/developers/reference): the public API. - [Docs](https://myoddly.com/docs/): getting started, alerts, and digests. - [Slack integration](https://myoddly.com/integrations/slack/): verdicts in Slack. - Agents in the browser: the front door and the developers page register three WebMCP tools on document.modelContext when either page is open, named oddly.observe, oddly.changed and oddly.stats. Each is a live read of the same anonymous endpoints, every answer carries retrieved_at beside the observation stamp, and a read that does not answer returns a typed refusal with a reason rather than a value. The declaration is the page's own module script; there is no manifest, because the WebMCP draft has none. ## Optional - [FAQ](https://myoddly.com/faq): common questions and the contact form. - [Privacy](https://myoddly.com/legal/privacy/) - [Terms](https://myoddly.com/legal/terms/) - [Security](https://myoddly.com/legal/security/) - [Data processing addendum](https://myoddly.com/legal/dpa/)