# getasof.ai — llms-full.txt The page's full text and the door's tool list, generated from the page's own source at 2026-11-05T07:38Z (surface 2026-11-05.2). The short index is /llms.txt. ## The page # get_as_of — the issuer record, as of any date, with the receipt. As Of · on Data Vintage · Replay - 6 sealed years (2021 → 2026) - 1 markets sealed (us) - 9 receipts written (get_as_of reads, receipted) read at render: the shelf ledger (shelf/state.json, tools.replay) and the gate's receipt counter · ledger 2026-10-28 get_as_of is the issuer record as it stood on a date: an issuer by ticker, ISIN or LEI plus a date returns the signed record of that day — every field with its source and read date, the sealed disclosure lines of the market-year up to that date — signed by the node of the issuer's market and receipted, so a backtest can show what it read and when. Nothing is restated and nothing is filled backwards: before the record existed the answer says before_record; in a market-year not yet sealed it says not_sealed and names the earliest sealed date. ## 1 What it is - **1.1** Built specifically so an AI agent can read the issuer record as it stood on any date since 2021, with the proof that it read it. - **1.2** Any agent gets in; it pays in the call. A firm licenses the vintage. - **1.3** Sealed years, 2021 forward, done. Each market lights as its vintage seals. ## 2 What it is not Not a price. Not a terminal. Not a news feed. Not a restated dataset. ## 3 The tool | field | specification | | --- | --- | | Input | issuer (ticker, ISIN or LEI) · as_of (ISO date) · market (optional; the owning node resolves it if absent) | | Output | The signed issuer record version whose validity covers as_of: every field with value, source page, read date and effective date; version id; node signature and key id (kid); the RCO receipt (id, hash) | | Receipt | Written on every cleared read under the Allooloo writer key; the receipt id is returned in the answer. | | typed error | when | | --- | --- | | unknown_issuer | no issuer on the register for this identifier | | before_record | the record did not exist on that date; nothing is inferred backwards | | not_sealed | the market-year is not yet sealed; the answer names the earliest sealed date (and, in the current year, the date it is sealed through); no partial vintage is served as final | | not_found | the market or record asked for is not on this door | - **3.1** One call: ``` {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_as_of","arguments":{"issuer":"NASDAQ:MSFT","as_of":"2023-03-15"}}} ``` at `https://mcp.getasof.ai/mcp` . - **3.2** Nothing is answered from memory. Identity fields answer on the read-date clock: a field is held only if the record had read it by the date asked; the disclosure lines are the sealed vintage — public filings dated on or before that date, each with its source and read date, each signed. - **3.3** Paying for a read: every read is free unless the agent asks for the offer (header `x402-pay: 1`); the door then answers HTTP 402 with a signed offer and the same call carries the payment and the receipt — [data-paygo.ai](https://data-paygo.ai/). ## 4 The edge Point-in-time fundamentals exist as premium products elsewhere; replay exists on terminals. "As of a date" alone is not the edge. The edge is five things the record already has by construction, which no feed vendor built: | property | what it means for a quant | | --- | --- | | Two clocks | Every fact carries when it was true in the world (effective) and when the record learned it (read date). get_as_of answers on the second clock — what was knowable that day. That is the only honest basis for a backtest; most feeds have one clock and overwrite. | | Append-only, signed versions | Nothing is restated in place. A change is a new signed version; the old one is kept. The as-of answer is a lookup, never a recomputation, so it is the same answer forever. | | Per-field provenance | Source page and read date on every field. A regulator's restatement and our re-read are distinguishable. | | Receipts (RCO) | Every read writes an RCO-10060 receipt chaining the answer hash. The firm can prove what a model relied on. | | Agent-native, open | MCP door, verb-object tool name, human page free to read, x402 to pay. Built for the reader that is actually arriving — an agent — not a human with a seat. | Others sell point-in-time data; Allooloo sells point-in-time proof. ## 5 The proof - **5.1** Each get_as_of read is cleared and receipted: subject, jurisdiction, rule version, the stated time of the read, the hash of the signed answer, and the link to the previous receipt in the chain. The door signs the receipt; the producing node signs the content under the record key. - **5.2** verify_receipt is public. Anyone holding the receipt and the answer can confirm the answer is the one that was served, unaltered. - **5.3** A firm's own auditor key (issue_auditor_key) lets model-risk, internal audit or an external auditor list and verify every as-of read behind a model — the signed input list of a backtest, replayable to any date. - **5.4** The quant's artefact is therefore not a CSV. It is a receipt chain: a signed, chained statement of every record the model read, as of when, and what it said. Model validation, MiFID II record-keeping and SR 11-7 style reviews want exactly this and have never been able to buy it. - **5.5** KYP the facts · Issuerwire the news · RCO the proof. ## 6 Access Any MCP client that speaks Streamable HTTP: ``` { "mcpServers": { "getasof": { "type": "http", "url": "https://mcp.getasof.ai/mcp" } } } ``` Claude Code: ``` claude mcp add --transport http getasof https://mcp.getasof.ai/mcp ``` - **6.1** Door: `https://mcp.getasof.ai/mcp` — the same router as `https://mcp.getissuer.ai/mcp` : same index, no second copy of the history; read-only, no authentication, no account. get_as_of is routed to the node of the issuer's listing; the node signs and receipts; the router forwards. - **6.2** Agent Card (A2A): [`https://agent.getasof.ai/.well-known/agent-card.json`](https://agent.getasof.ai/.well-known/agent-card.json) . - **6.3** Tools: `get_as_of`, with `resolve_issuer` · `list_events_since` · `list_nodes` on the same door. list_events_since stays where it is; get_as_of reads the same history. - **6.4** Regional doors: every node door answers get_as_of for its own market (`mcp.-cm-kg.ai/mcp`, `.eu-cm-kg.ai/mcp`). - **6.5** Registry entry: `registry.modelcontextprotocol.io · io.github.allooloo/getasof`. ## 7 Lanes | lane | what | where | | --- | --- | --- | | Agent, per read | x402 on the existing per-call till. USDC and Open USD on Base. | data-paygo.ai | | Firm, licence | Data Vintage enterprise licence. | data-licence.ai | | Audit | issue_auditor_key — the firm's own key to list and verify its receipt chain. | rco-records.ai | ## 8 Data path - **8.1** Store: the Replay store under [Data Vintage](https://data-vintage.ai/) — sealed market-years, 2021 forward. get_as_of is a read over it. No new store, no second copy of the history. - **8.2** Index: the router holds an index only; the record is served by the owning node's regional door in its own jurisdiction. getasof.ai routes the same way. - **8.3** Nightly: the OpsAgents re-slate the trading day; a sealed year is immutable thereafter. Receipts chain per writer. - **8.4** Two clouds: Azure primary, AWS warm standby ([Data Ark](https://data-ark.ai/)). The vintage and the receipt chain are both in the ark. - **8.5** Markets light one by one as each vintage seals (us first, then the roster). The door answers not_sealed until then rather than guessing. ## 9 Markets | node | market | sealed vintage | state | | --- | --- | --- | --- | | ae-cm-kg | United Arab Emirates | not sealed yet — the door answers not_sealed | live | | at-cm-kg | Austria | not sealed yet — the door answers not_sealed | live | | au-cm-kg | Australia | not sealed yet — the door answers not_sealed | live | | be-cm-kg | Belgium | not sealed yet — the door answers not_sealed | live | | bm-cm-kg | Bermuda | not sealed yet — the door answers not_sealed | live | | br-cm-kg | Brazil | not sealed yet — the door answers not_sealed | live | | ca-cm-kg | Canada | not sealed yet — the door answers not_sealed | live | | ch-cm-kg | Switzerland | not sealed yet — the door answers not_sealed | live | | cz-cm-kg | Czech Republic | not sealed yet — the door answers not_sealed | live | | de-cm-kg | Germany | not sealed yet — the door answers not_sealed | live | | dk-cm-kg | Denmark | not sealed yet — the door answers not_sealed | live | | es-cm-kg | Spain | not sealed yet — the door answers not_sealed | live | | fi-cm-kg | Finland | not sealed yet — the door answers not_sealed | live | | fr-cm-kg | France | not sealed yet — the door answers not_sealed | live | | gr-cm-kg | Greece | not sealed yet — the door answers not_sealed | live | | hk-cm-kg | Hong Kong | not sealed yet — the door answers not_sealed | live | | ie-cm-kg | Ireland | not sealed yet — the door answers not_sealed | live | | in-cm-kg | India | not sealed yet — the door answers not_sealed | live | | it-cm-kg | Italy | not sealed yet — the door answers not_sealed | live | | je-cm-kg | Jersey | not sealed yet — the door answers not_sealed | live | | jp-cm-kg | Japan | not sealed yet — the door answers not_sealed | live | | kr-cm-kg | South Korea | not sealed yet — the door answers not_sealed | live | | ky-cm-kg | Cayman Islands | not sealed yet — the door answers not_sealed | live | | lu-cm-kg | Luxembourg | not sealed yet — the door answers not_sealed | live | | mx-cm-kg | Mexico | not sealed yet — the door answers not_sealed | live | | nl-cm-kg | Netherlands | not sealed yet — the door answers not_sealed | live | | no-cm-kg | Norway | not sealed yet — the door answers not_sealed | live | | pl-cm-kg | Poland | not sealed yet — the door answers not_sealed | live | | pt-cm-kg | Portugal | not sealed yet — the door answers not_sealed | live | | se-cm-kg | Sweden | not sealed yet — the door answers not_sealed | live | | sg-cm-kg | Singapore | not sealed yet — the door answers not_sealed | live | | tw-cm-kg | Taiwan | not sealed yet — the door answers not_sealed | live | | uk-cm-kg | United Kingdom | not sealed yet — the door answers not_sealed | live | | us-cm-kg | United States | 2021 → 2026 | live | source: list_nodes at `https://mcp.getissuer.ai/mcp` and the shelf ledger, read at render ## 10 Machine kit - **10.1** [`/llms.txt`](/llms.txt) · [`/index.md`](/index.md) · [`/facts.json`](/facts.json) · [`/.well-known/agent-card.json`](/.well-known/agent-card.json) · [`/.well-known/mcp.json`](/.well-known/mcp.json) · [`/.well-known/x402.json`](/.well-known/x402.json) · [`/.well-known/security.txt`](/.well-known/security.txt) · [`/sitemap.xml`](/sitemap.xml) · [`/robots.txt`](/robots.txt) · [`/mcp.json`](/mcp.json) - **10.2** Forwards here (301, whole zone): getasof.com, getasof.org, getasof.io. ## Contact Us (contact form: https://allooloo.io/#contact) --- Allooloo Technologies Corp. · https://getasof.ai/ · public-record only · version 2026-11-05.2 ## The door Door (Streamable HTTP MCP): https://mcp.getasof.ai/mcp Operator: Allooloo Technologies Corp.. Corporate: https://allooloo.io.