Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨43 unchanged words⟩ Routes the question to the right one of67,897013 tools across18151847 verified sources, fills arguments, returns the structured ⟨165 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same67,897013 tools, same arguments, same response shape) ⟨68 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨8 unchanged words⟩ as ask_pipeworx — picks the right tool from67,897013 across18151847 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's18151847 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ , routes each to the right one of67,897013 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Added "company_register_search"; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 5 more (53 tools before, 54 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,772897 tools across17811815 verified sources, fills arguments, returns the structured ⟨165 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 2 more
⟨44 unchanged words⟩ the question to the right one of 6,693772 tools across17611781 verified sources, fills arguments, returns the structured ⟨135 unchanged words⟩ routes to live news + the *-news-feeds packs. Optionally pass packs:["slug","slug"] to restrict routing to specific sources ("answer this using THESE packs"); omit it for full-catalog routing.
⟨38 unchanged words⟩ for question.","type":"string"},"packs":{"description":"OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).","items":{"type":"string"},"type":"array"},"
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Added "archive_compare", "archive_evidence", "classify_row" and 9 more; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 7 more (41 tools before, 53 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,470693 tools across16841761 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,470
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,453470 tools across16821684 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 2 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,431453 tools across16801682 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,402431 tools across16741680 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,402431
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 4 more
⟨44 unchanged words⟩ the question to the right one of 6,350402 tools across16591674 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
⟨17 unchanged words⟩ price of bitcoin"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨25 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,332350 tools across16531659 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Certificate changed, valid to 2026-12-18
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,061332 tools across15721653 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Certificate changed, valid to 2026-12-17
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ai_visibility_check", "ask_pipeworx", "ask_pipeworx_beta" and 20 more
{"examples":[{"entity":"Tesla"}],"properties":{"_apiKey":{"description":"Optional ⟨97 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,045061 tools across15711572 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Added "company_facts", "kalshi_weather_edge", "release_calendar_markets" and 2 more; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 6 more (36 tools before, 41 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨43 unchanged words⟩ Routes the question to the right one of56,961045 tools across15521571 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 5,957961 tools across 1552 verified sources, fills arguments, ⟨146 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 5,957961
Certificate recorded, valid to 2026-10-18
Authorization not required, issuer https://gateway.pipeworx.io
First tool surface recorded: 36 tools (server version 0.1.0)
Showing the latest 43 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,772897 across17811815 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨26 unchanged words⟩ for question.","type":"string"},"prefer_tool":{"description":"Run this exact tool instead of letting the router choose — use a name from a previous answer's alternatives[]. Arguments are still filled from your question. Unknown names are refused, never guessed.","type":"string"},"prompt":{"description":"Alias for question.", ⟨46 unchanged words⟩
⟨175 unchanged words⟩ FY2026 and Apple's ending 2025-09-27 is FY2025. Attributesin v1: revenue, net_income,cash.cash, gross_profit, operating_income, eps_diluted, capex, operating_cash_flow, long_term_debt, shares_outstanding (the dei COVER-PAGE share count, so its period end is the cover date, after the quarter closed — that is the most current count the filing carries). Units are not all USD: shares_outstanding is in `shares` with currency null, eps_diluted in `USD/shares`. A discrete quarter the filer never filed — every Q4, and Q2/Q3 of cash-flow lines, which are filed year-to-date — is DERIVED as YTD(q) minus YTD(q-1) and comes back with `reported: false`, the subtraction named in `derivation` (fy_minus_9m / ytd_9m_minus_6m / ytd_6m_minus_3m) and both legs with their filings in `derived_from`; test `reported` if you will only accept a figure lifted from a filing. Per-share and balance-sheet figures are NEVER derived. Every non-answer is a named status — `unavailable` ⟨92 unchanged words⟩
⟨6 unchanged words⟩ {"fiscal_year":2023,"type":"annual"}},{"attribute":"shares_outstanding","company":"TSLA","period":{"fiscal_quarter":2,"fiscal_year":2026,"type":"quarterly"}},{"attribute":"capex","company":"TSLA","period":{"fiscal_quarter":2,"fiscal_year":2026,"type":"quarterly"}},{"attribute":"net_income","company":"TSLA","period":{"fiscal_quarter":4,"fiscal_year":2025,"type":"quarterly"}}],"properties":{"as_of":{"description": ⟨41 unchanged words⟩ = cash and cash equivalents at the periodend.end; \"gross_profit\"; \"operating_income\"; \"eps_diluted\" (diluted EPS, unit USD/shares, never derived or summed); \"capex\" (cash paid for PP&E); \"operating_cash_flow\" (net cash from operating activities); \"long_term_debt\" (the noncurrent balance-sheet line where the filer tags it, else total long-term debt — `fact.measure` says which); \"shares_outstanding\" (dei cover-page common shares, unit \"shares\", as of the COVER DATE rather than the period end).","enum":["revenue","net_income","cash","gross_profit","operating_income","eps_diluted","capex","operating_cash_flow","long_term_debt","shares_outstanding"],"type":"string"},"basis": ⟨307 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's17811815 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,772897 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨104 unchanged words⟩ //edgar/company/{cik}/filings/{accession} URIs); fundamentals (LATESTthe10-KlatestRevenuesANNUAL+Revenues, NetIncomeLoss+, Cash,sorteddiluted EPS, capex and operating cash flow, each with its period_end,DESCSEC form and the accession of the filing it came from — plus EntityCommonStockSharesOutstanding, which is the newest COVER-PAGE share count the filer has published rather than an annual one, so its period_end is a cover date after the quarter closed and it is the right per-share denominator; a filer tagging a fallback concept appears under the name of that tag instead, e.g. PaymentsToAcquireProductiveAssets instead of PaymentsToAcquirePropertyPlantAndEquipment); patents (USPTO PatentsView API sunset May ⟨192 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"country":{"description":"OPTIONAL ISO 3166-1 alpha-2 of the business register you mean (\"NO\", \"FI\", \"GB\", \"JP\", \"FR\", \"EE\", \"BR\"). Only affects a NAME lookup, and is often what separates the company you mean from a US namesake. When a name resolves to a register entity with no CIK, the SEC/CIK-keyed sections are reported under `sources_skipped` with reason `not_queried` — they were never asked, which is not the same as having failed.","type":"string"},"type":{"description":"\"company\" or \"ticker\ ⟨37 unchanged words⟩ or company name (e.g., \"Moderna\").—AnamesNAMEresolvenowviaresolves through the national business registers as well as SEC EDGAR,company-namesomatch.a non-US company returns its register identity and record rather than `resolved: false`.","type":"string"}},"required": ⟨4 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"country":{"description":"OPTIONAL ISO 3166-1 alpha-2 of the country whose business register you mean (\"NO\", \"FI\", \"JP\", \"GB\", \"FR\", \"EE\", \"BR\"). Narrows the national-register fan-out and is often the difference between the right company and a US namesake — \"Apple\" with country \"NO\" is a Norwegian company, not Apple Inc. Omitting it searches every register we can name, which is the right default when you do not know. company only; ignored for drug.","type":"string"},"type":{"description":"Entity type: \" ⟨87 unchanged words⟩
before
—after
{"properties":{"brand":{"type":"string"},"candidates":{"description":"Rivals, best first. Populated on \"ambiguous\" and on \"matched\" alike.","items":{"properties":{"country":{"description":"ISO-2 of the REGISTER, not of the company's operations.","type":"string"},"data_as_of":{"description":"That register's own snapshot date, per row, so a stale country is visible.","type":["string","null"]},"detail_tool":{"description":"The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".","type":["string","null"]},"legal_form":{"type":["string","null"]},"legal_name":{"type":"string"},"lei":{"description":"From the GLEIF crosswalk when present. Never guessed from a name.","type":["string","null"]},"match_type":{"enum":["id","exact","exact_form","prefix","tokens"],"type":"string"},"matched_kind":{"enum":["legal","trading","former","english","kana"],"type":"string"},"matched_name":{"description":"The name row that matched, exactly as the publisher spells it.","type":"string"},"register":{"description":"Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.","type":"string"},"register_id":{"description":"The native id in the register's own canonical formatting.","type":"string"},"register_key":{"description":"Stable machine slug for the register.","type":"string"},"registration_status":{"description":"GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.","type":["string","null"]},"score":{"description":"0-1, assigned centrally. An adapter never grades itself.","type":"number"},"status":{"description":"The COMPANY's status.","enum":["active","inactive","dissolved","unknown"],"type":"string"},"status_raw":{"description":"The register's own status word, verbatim and unglossed.","type":["string","null"]}},"required":["country","register","register_key","register_id","legal_name","score","status"],"type":"object"},"type":"array"},"cik_withheld":{"description":"A CIK that came back from a FUZZY SEC name match and is NOT asserted, because the spine matched a stronger non-US candidate. The number is here so a caller who wanted the US filer can still use it; what changed is that we no longer claim it IS the answer. See `unresolved.cik` for the reason.","type":"string"},"fanout_incomplete":{"description":"Present IFF at least one register in `searched[]` carried an `error` — set even when `match_status` stayed \"ambiguous\". `withheld_match` is the candidate this call declined to ASSERT because a register was missing, carried rather than discarded so a caller who accepts the caveat can still use it.","properties":{"unavailable":{"items":{"properties":{"country":{"type":"string"},"error":{"type":"string"},"register":{"type":"string"},"register_key":{"type":"string"}},"type":"object"},"type":"array"},"withheld_match":{"type":["object","null"]}},"type":"object"},"figi_withheld":{"description":"A FIGI that matched this name in OpenFIGI (`figi_match: \"name_search\"`) and is NOT asserted, because `match_status` is \"incomplete\": a name search cannot tell a company apart from a security carrying its name, and the registers that would have settled it are the ones we could not ask. A `ticker_map` FIGI is never withheld this way — it is corroborated by the resolved ticker it came from. Carried so a caller who accepts the caveat can use it; see `unresolved.figi`, and retry, since a transiently rate-limited register completes on the next call.","type":"string"},"ids":{"description":"Every identifier established: cik, ticker, company_name, lei, figi, isin, cusip, register_id, register_country. A key absent here appears in `unresolved` with a reason — never silently dropped.","type":"object"},"ingredient":{"type":"string"},"match_explanation":{"description":"Plain words. Always present when the spine ran, and required on \"ambiguous\" and \"no_match\".","type":"string"},"match_scoring":{"description":"The margin rule's own inputs, so a caller can see WHY it fell where it did.","properties":{"margin":{"type":["number","null"]},"runner_up":{"type":["number","null"]},"thresholds":{"properties":{"floor":{"type":"number"},"margin":{"type":"number"},"match":{"type":"number"}},"type":"object"},"top":{"type":["number","null"]}},"type":"object"},"match_status":{"description":"The headline to branch on. \"ambiguous\" is an ANSWER, not a failure: two companies matched the name equally well and both are in `candidates`. \"no_match\" means every register in `searched` was asked and none carried it. \"incomplete\" means one of them could NOT be asked (it carries an `error` in `searched[]`), so the candidate set is short by an unknown amount and no id is asserted — distinct from \"ambiguous\" because a RETRY is what resolves it, not a narrower query; `fanout_incomplete` names the unreachable registers and carries, under `withheld_match`, the candidate that would have been returned on a complete fan-out.","enum":["matched","ambiguous","no_match","incomplete"],"type":"string"},"notes":{"type":"string"},"query":{"type":"string"},"registers":{"description":"The matched entity as every register that carries it — the match (flagged `matched: true`) plus anything that collapsed into it. A Companies House number AND the LEI that crosswalks to it are the SAME answer, not rivals.","items":{"properties":{"country":{"description":"ISO-2 of the REGISTER, not of the company's operations.","type":"string"},"data_as_of":{"description":"That register's own snapshot date, per row, so a stale country is visible.","type":["string","null"]},"detail_tool":{"description":"The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".","type":["string","null"]},"legal_form":{"type":["string","null"]},"legal_name":{"type":"string"},"lei":{"description":"From the GLEIF crosswalk when present. Never guessed from a name.","type":["string","null"]},"match_type":{"enum":["id","exact","exact_form","prefix","tokens"],"type":"string"},"matched_kind":{"enum":["legal","trading","former","english","kana"],"type":"string"},"matched_name":{"description":"The name row that matched, exactly as the publisher spells it.","type":"string"},"register":{"description":"Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.","type":"string"},"register_id":{"description":"The native id in the register's own canonical formatting.","type":"string"},"register_key":{"description":"Stable machine slug for the register.","type":"string"},"registration_status":{"description":"GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.","type":["string","null"]},"score":{"description":"0-1, assigned centrally. An adapter never grades itself.","type":"number"},"status":{"description":"The COMPANY's status.","enum":["active","inactive","dissolved","unknown"],"type":"string"},"status_raw":{"description":"The register's own status word, verbatim and unglossed.","type":["string","null"]}},"required":["country","register","register_key","register_id","legal_name","score","status"],"type":"object"},"type":"array"},"related":{"description":"Entities that collapsed INTO the match, each carrying `collapsed_by`.","items":{"properties":{"country":{"description":"ISO-2 of the REGISTER, not of the company's operations.","type":"string"},"data_as_of":{"description":"That register's own snapshot date, per row, so a stale country is visible.","type":["string","null"]},"detail_tool":{"description":"The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".","type":["string","null"]},"legal_form":{"type":["string","null"]},"legal_name":{"type":"string"},"lei":{"description":"From the GLEIF crosswalk when present. Never guessed from a name.","type":["string","null"]},"match_type":{"enum":["id","exact","exact_form","prefix","tokens"],"type":"string"},"matched_kind":{"enum":["legal","trading","former","english","kana"],"type":"string"},"matched_name":{"description":"The name row that matched, exactly as the publisher spells it.","type":"string"},"register":{"description":"Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.","type":"string"},"register_id":{"description":"The native id in the register's own canonical formatting.","type":"string"},"register_key":{"description":"Stable machine slug for the register.","type":"string"},"registration_status":{"description":"GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.","type":["string","null"]},"score":{"description":"0-1, assigned centrally. An adapter never grades itself.","type":"number"},"status":{"description":"The COMPANY's status.","enum":["active","inactive","dissolved","unknown"],"type":"string"},"status_raw":{"description":"The register's own status word, verbatim and unglossed.","type":["string","null"]}},"required":["country","register","register_key","register_id","legal_name","score","status"],"type":"object"},"type":"array"},"resolved":{"description":"At least one identifier was established. Read `match_status` and `unresolved` for WHICH — a company can be resolved in a national register with no CIK at all.","type":"boolean"},"resources":{"type":"object"},"searched":{"description":"EVERY register asked, with its own as-of date and row count. A register that could not be reached carries `error` — 0 rows with an error is \"we could not ask\", 0 rows without one is \"nothing is there\", and they are different answers.","items":{"properties":{"country":{"type":"string"},"data_as_of":{"type":["string","null"]},"error":{"type":"string"},"register":{"type":"string"},"register_key":{"type":"string"},"rows":{"type":"number"}},"required":["register","register_key","country","rows"],"type":"object"},"type":"array"},"sec_alternatives":{"description":"EDGAR's own discarded near-misses on a name match, surfaced instead of dropped.","items":{"properties":{"cik":{"type":"string"},"company_name":{"type":"string"},"ticker":{"type":"string"}},"type":"object"},"type":"array"},"sources":{"description":"Per-identifier provenance. Every key in `ids` has a matching key here.","type":"object"},"type":{"type":"string"},"unresolved":{"description":"Per-identifier reason an id could NOT be established — the honest twin of `ids`.","type":"object"}},"required":["type","query","resolved","ids","sources","unresolved"],"type":"object"}⟨140 unchanged words⟩ params:{state:"CO", name_query?, entity_type?}), "tech_change" (a watched domain's website technology stack adds or drops a technology — params:{domains:["acme.com"], technologies?}). Delivery channels: feed (always on — ⟨29 unchanged words⟩
⟨315 unchanged words⟩ , CO, OR, CT, TX, PA. tech_change: {domains:[\"acme.com\",\"example.org\"], technologies?:[\"Shopify\",\"Segment\"]} — domains required (1-200), technologies optional (exact names, case-insensitive) to narrow which detected technologies alert. Unknown keys inform_d/news_keyword/job_post/tool_diff/new_entityform_d/news_keyword/job_post/tool_diff/new_entity/tech_change params are rejected at subscribe time.","type ⟨12 unchanged words⟩ ","news_keyword","job_post","tool_diff","new_entity","tech_change"],"type":"string"}},"required" ⟨4 unchanged words⟩
Company Register Search — Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish business id, a SIREN, a Japanese corporate number, an Estonian registry code, a CNPJ, or an LEI. Use this when you want the OFFICIAL REGISTERED ENTITY and the country is not the US, or when you do not know which country it is. Registers searched: Companies House (GB), Enhetsregisteret (NO), PRH/YTJ (FI), Sirene (FR), 法人番号公表サイト (JP), RIK e-Business Register (EE), and the GLEIF LEI crosswalk, which reaches jurisdictions we have no regis…
Beta version of ask_pipeworx: identical universal router (same 6,693772 tools, same arguments, same response shape) ⟨68 unchanged words⟩
⟨27 unchanged words⟩ for question.","type":"string"},"packs":{"description":"OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).","items":{"type":"string"},"type":"array"},"prompt":{"description":"Alias for question.", ⟨48 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,693772 across17611781 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨259 unchanged words⟩ no accession behind it). Source: SEC EDGAR, XBRLcompanyconceptfinancial facts, one publisher read once — see `corroboration`. ⟨11 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's17611781 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,693772 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,470693 across16841761 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16841761 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,470693 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨10 unchanged words⟩ ), owner program, executable flag, rent epoch. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
⟨10 unchanged words⟩ amount, decimals, USD value (if known). Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
⟨10 unchanged words⟩ , icon, market cap, holders, social links. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
⟨17 unchanged words⟩ balance changes per account, and parsed instruction list. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
⟨12 unchanged words⟩ , side (sent/received), token, amount, counterparty. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
⟨54 unchanged words⟩ FRED observations — params:{series_id:"UNRATE"}), "patent_grant" (new USPTO grants for an applicant), "clinical_trial" (new/updated ClinicalTrials.gov studies), "form_d" (new SEC Form D fundraise notices — params:{state?, industry?, min_amount?, exemption?}, all optional), "news_keyword" (GDELT keyword news alerts, metadata+link only — params:{query, lang?, domains?}), "job_post" (new public job-board postings — params:{ats?, board_token?} or {domain?}, plus optional title_query/location_query), "tool_diff" (re-runs any read-only tool on a schedule and fires on change — params:{tool, args?, fields[], schedule}), "new_entity" (new business registrations from a state business-entity registry — params:{state:"CO", name_query?, entity_type?}). Delivery channels: feed (always on — ⟨29 unchanged words⟩
⟨183 unchanged words⟩ \"PHASE3\"} (sponsor or condition required). form_d: {state?:\"CA\", industry?:\"Biotechnology\", min_amount?:500000, exemption?:\"06B\"} (all optional — omit all to watch every new Form D nationwide). news_keyword: {query:\"\\\"semiconductor sanctions\\\"\", lang?:\"eng\", domains?:[\"reuters.com\"]} (query required). job_post: EITHER {ats:\"greenhouse\", board_token:\"acme\"} (exact board) OR {domain:\"acme.com\"} (auto-detected), plus optional title_query/location_query substrings. tool_diff: {tool:\"form5500\", args?:{...}, fields:[\"headcount\"], schedule:\"daily\"} — re-runs that tool on schedule and fires when the named fields change; tool must be read-only and not need a Pipeworx-held platform key; schedule \"hourly\" needs the paid tier. new_entity: {state:\"CO\", name_query?:\"dental\", entity_type?:\"limited liability\"} — state is required and must be one of FL, NY, CO, OR, CT, TX, PA. Unknown keys in form_d/news_keyword/job_post/tool_diff/new_entity params are rejected at subscribe time.","type":"object"},"type":{"description" ⟨4 unchanged words⟩ ","polymarket_edge","fred_series","patent_grant","clinical_trial","form_d","news_keyword","job_post","tool_diff","new_entity"],"type":"string"}},"required" ⟨4 unchanged words⟩
Archive Compare — What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extracts the readable text of both, and returns a text-level diff: the segments removed and added, a similarity score, and both capture timestamps with their gaps from the requested dates. It diffs readable text, not markup, so a restyled page with the same words reads changed:false. Identical captures answer changed:false with the reason (same capture, identical content digest, or identical text), never an empty diff. A date with no captu…
Archive Evidence — What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arquivo.pt, reads it, and returns the readable text (HTML stripped) with the capture timestamp, a link to the archived copy, and the GAP between the date asked for and the capture actually used (e.g. "Captured 1.5 day(s) before the requested date"). One call replaces the find-capture, fetch-record, parse-HTML chain. If no archive holds a capture within max_gap_days (default 30) it answers status "no_capture" and names the nearest capture …
Classify Row — Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry, ICP fit, etc.), one small model call. Same evidence contract as research_row: each label comes back {label, applies, evidence_url, quote, status: found|inferred|not_established} — "found" only when the model's quote is independently verified as a verbatim substring of the text used. Pass text directly (cheapest — no fetch) or entity.domain to fetch the homepage once as a fallback. No text and no domain means every label is not_establ…
Get Dex Activity — Daily Solana DEX activity: trade count, distinct trader count, USD volume, and number of active DEX platforms. Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Network Compute Units — Daily total compute units consumed across the Solana network. Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Network Fees — Daily Solana network fees: base fee and priority fee, each in SOL and USD, plus their total. Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Network Slots — Daily count of Solana blocks (slots) produced. Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Network Stake — Daily total active stake on the Solana network, in SOL and USD. Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Network Transactions — Daily Solana network transaction counts: total, vote, and non-vote (split success/fail). Free tier — covered by Pipeworx's own Solscan key, no caller key needed. Pass range OR from_date+to_date, not both.
Get Ohlcv — OHLCV price candles for a Solana liquidity pool (1-minute to 1-year buckets, cursor-paged). Announced by Solscan 2026-10-07; Pipeworx has not been able to verify the exact response shape because this is a Pro-tier-only endpoint and Pipeworx has no Pro-tier key — pass whatever extra query parameters Solscan's own docs specify via extra_params if the named fields below are not enough. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
Get Token Screener — Solscan's Token List V2 screener — sorts/filters tokens over 170+ metric fields across nine time windows. Announced by Solscan 2026-10-07; Pipeworx has not been able to verify the full field list because this is a Pro-tier-only endpoint and Pipeworx has no Pro-tier key — pass any filter/window parameter from Solscan's own docs via extra_params. Pro tier — requires your own Solscan API key (Pipeworx's platform key is Free tier and cannot call this).
Research Row — Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company'…
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,453470 across16821684 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16821684 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,453470 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,431453 across16801682 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16801682 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,431453 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨462 unchanged words⟩ (zero releases across every requested category) returnserrorthe SAME shape as a populated one — release_count:0, releases:[] — plus empty_reason:"no_releases_in_window"withand awiden-the-window`hint`hinttellingratheryouthantoanwiden,emptysoarrayyou—nevereconbranch on the response shape and never have to guess whether zero means "nothing is scheduled" or "the lookup failed". Econ releases especially cluster on specific dates each month ⟨9 unchanged words⟩
⟨7 unchanged words⟩ :"string"},"type":"array"},"empty_reason":{"description":"Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.","type":"string"},"hint":{"description":"Present ONLY on a zero-release window: what to change (usually a wider `hours`).","type":"string"},"notes":{"items":{"type":"string" ⟨117 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,402431 across16741680 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16741680 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,402431 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,350402 tools, same arguments, same response shape) ⟨68 unchanged words⟩
⟨6 unchanged words⟩ US unemployment rate?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨25 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message as aliases.","type":"string"}," ⟨11 unchanged words⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,350402 across16591674 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨5 unchanged words⟩ fiscal 2023 revenue?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨23 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message as aliases.","type":"string"}," ⟨11 unchanged words⟩
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16591674 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,350402 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨17 unchanged words⟩ the past year?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"depth":{"description":"How many facets to ⟨43 unchanged words⟩ ,"thorough"],"type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.","type":"string"},"q":{"description":"Alias for question.","type":"string"},"query":{"description":"Alias for question.","type":"string"},"question":{"description":"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases.","type":"string"},"text":{"description":"Alias for question.","type":"string"}},"required": ⟨3 unchanged words⟩
{"examples":[{"key":"user_research_topic"}],"properties":{"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key todeletedelete. Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨2 unchanged words⟩ :"user_research_topic"},{}],"properties":{"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"}},"required": ⟨2 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"content":{"description":"Alias for value.","type":"string"},"data":{"description":"Alias for value.","type":"string"},"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"},"text":{"description":"Alias for value.","type":"string"},"v":{"description":"Alias for value.","type":"string"},"value":{"description":"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON.","type":"string"}},"required": ⟨4 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,332350 across16531659 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16531659 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,332350 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,061332 across15721653 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15721653 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,061332 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,045061 tools, same arguments, same response shape) ⟨68 unchanged words⟩
{"examples":[{"question":"What is the current US unemployment rate?"}],"properties":{"input":{"description":"Alias ⟨55 unchanged words⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,045061 across15711572 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
{"examples":[{"question":"What was Apple's fiscal 2023 revenue?"}],"properties":{"input":{"description":"Alias ⟨53 unchanged words⟩
{"examples":[{"attribute":"revenue","company":"AAPL","period":{"fiscal_year":2023,"type":"annual"}}],"properties":{"as_of":{"description":"Past ⟨363 unchanged words⟩
{"examples":[{"type":"company","values":["AAPL","MSFT"]}],"properties":{"type":{"description":"Entity ⟨48 unchanged words⟩
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15711572 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,045061 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
{"examples":[{"depth":"quick","question":"What is the current US unemployment rate and how has it changed over the past year?"}],"properties":{"depth":{"description":"How ⟨71 unchanged words⟩
⟨213 unchanged words⟩ real "no data", not a bug. `sources_skipped` is the third state: a leg we deliberately did NOT run, each entry carrying a `reason` token and a plain-English `detail` (the Purple Book is skipped for a filer SEC classifies outside the life-science SIC bands, since it lists only 351(a)/(k) biologics licence holders). Pass a ticker ("AAPL"), zero-padded CIK ⟨46 unchanged words⟩
{"examples":[{"type":"company","value":"AAPL"}],"properties":{"type":{"description":"\" ⟨62 unchanged words⟩
{"examples":[{"url":"https://pipeworx.io"}],"properties":{"max_links":{"description":"Maximum ⟨37 unchanged words⟩
{"examples":[{"message":"Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.","type":"other"}],"properties":{"claim_token":{"description":"Read ⟨144 unchanged words⟩
{"examples":[{"window":"7d"}],"properties":{"window":{"description":"24h ⟨25 unchanged words⟩
{"examples":[{"topic":"Fed rate decision"}],"properties":{"event":{"description":"Single-event ⟨77 unchanged words⟩
{"examples":[{"days":14,"window":"1wk"}],"properties":{"days":{"description":"Lookback ⟨31 unchanged words⟩
{"examples":[{"limit":5,"window":"1wk"}],"properties":{"category_filter":{"description":"Comma-separated ⟨369 unchanged words⟩
{"examples":[{"market":"will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636","side":"buy_yes","size_usd":1000}],"properties":{"event":{"description":"Basket ⟨95 unchanged words⟩
{"examples":[{"since":"30d","type":"company","value":"AAPL"}],"properties":{"since":{"description":"Window ⟨62 unchanged words⟩
{"examples":[{"key":"target_ticker","value":"AAPL"}],"properties":{"key":{"description":"Memory ⟨29 unchanged words⟩
{"examples":[{"type":"company","value":"AAPL"}],"properties":{"type":{"description":"Entity ⟨89 unchanged words⟩
{"examples":[{"entities":["Pipeworx","Zapier"]}],"properties":{"_apiKey":{"description":"Optional ⟨97 unchanged words⟩
{"examples":[{"package":"left-pad"}],"properties":{"package":{"description":"npm ⟨35 unchanged words⟩
{"examples":[{"query":"supply-chain risk","text":"Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter."}],"properties":{"limit":{"description":"Max ⟨55 unchanged words⟩
{"examples":[{"topic":"finance"}],"properties":{"topic":{"description":"Optional ⟨28 unchanged words⟩
{"examples":[{"claim":"Apple's fiscal 2023 revenue was $383 billion"}],"properties":{"claim":{"description":"Natural-language ⟨67 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same56,961045 tools, same arguments, same response shape) ⟨68 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨8 unchanged words⟩ as ask_pipeworx — picks the right tool from56,961045 across15521571 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15521571 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ , routes each to the right one of56,961045 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨191 unchanged words⟩ partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, ⟨38 unchanged words⟩
⟨181 unchanged words⟩ daily closes of edge_pp_net (net of default slippage AND Polymarket's own taker fee — see polymarket_edges), not intraday.
⟨129 unchanged words⟩ 85%/5%/50:1). EVERY OPPORTUNITY carries edge_pp_net (afternet of slippage AND Polymarket's own taker fee — fees_pp_applied itemises the fee component; see fees.ts for the published per-category schedule), kelly_fraction + kelly_fraction_half (capped at 0.25) ⟨111 unchanged words⟩
⟨89 unchanged words⟩ default 0.5). Edge is evaluated NET ofslippage.slippage and Polymarket's own taker fee.","type":"number"},"min_kelly":{ ⟨159 unchanged words⟩ in percentage points per leg (default 0.3)., for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kellysizing.sizing,PolymarketONhasTOP OF Polymarket's own taker fee — which is NOT zerotrading(ratefees0.04-0.07asdependingofon2024category,butreadbid/askoff+eachthinmarket'sdepthowntypicallypublishedeatsfee20-50bpschedule;perseetrade.fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fillmodel.model — the fee still applies regardless.","type":"number"},"window":{ ⟨17 unchanged words⟩
⟨165 unchanged words⟩ dominant loss mode in real arb-bot P&L). FEES ARE NOT MODELLED HERE: vwap_fill_price/profit_usd are GROSS of Polymarket's own taker fee (rate 0.04-0.07 by category — see polymarket_edges/fees.ts), on top of which this tool prices depth-crossing cost; a thin-margin fill that looks clean here can still be net-negative after the fee.
⟨221 unchanged words⟩ query ran and why that event won). Fleet #2064: when two Polymarket candidates tie on resolution time `polymarket_selected_by` now SAYS so, names every tied slug, names the tie-break that actually decided it (the candidate whose metric_type matches the Kalshi series, else lexicographic slug order), and states whether the winner's metric matches the Kalshi series — it used to assert "picked the soonest-resolving" byte-identically on calls that returned DIFFERENT events, because the tie was settled by upstream fetch arrival order. RESPONSE: each venue's leg-by-leg prices (raw probability ⟨52 unchanged words⟩ probably not the same question), temporal_mismatch (theytheresolvetwoinevents are about different SUBJECT months — e.g. Kalshi "CPI in October" vs Polymarket "September Inflation"), temporal_alignment_unknown (theresolutionsubject month could not be parsed on one or both sides — NOT the same as confirmed-aligned; check eachevent's close/strike dateevent yourself), non_equivalent_bet_shapes, no_candidate_pairs, unclassified_legs_excluded, pairing_unverified ⟨67 unchanged words⟩ ,aligned} tells you whether the two eventsresolveareinabout the same SUBJECT calendar period, in EITHERmode;mode — this is the period the question is ABOUT (e.g. "September" for a CPI release that settles in October), not necessarily when either side settles; null means it could not be computed (see temporal_alignment_unknown), not that the two sides align.spread.fees_noteFleetis#2062: this used to compare Polymarket's settlement date against Kalshi's subject month and call astandingmatchdisclosure— fixed to compare subject month to subject month on both sides. FEES:Kalshieverychargestop_spreads_ppper-contractandtradinglow_confidence_pairs[]feesrow carries edge_pp_gross (== |spread_pp|),Polymarketfees_pp,doesedge_pp_net,notnet_positive, andthisBOTHtoolvenues'doestakernotfeesmodelitemisedKalshi'sas kalshi_fee_pp and polymarket_fee_pp (plus polymarket_fee_rate, polymarket_fee_category, polymarket_fee_basis). Kalshi leg: feeschedule=—ceil(0.07every*spread_ppcontractsis*grossP * (1-P) * 100) / 100 dollars per order,notverifiedaagainstnetkalshi.com/docstradeableandedge.corroboratingspread.resolution_source_noteexplainersisastheofsecond2026-09-12.standingPolymarketdisclosureleg:thefeetwo=venues'sharesRESOLUTION×SOURCESrateare×neverpcompared,×so(1-p)awithPolymarketratemarketbysettlingcategoryon(cryptoa0.07,Binancesports/economics/culture/weather/other1-minute0.05,candlefinance/politics/mentions/tech 0.04, geopolitics andaworldKalshieventseventfee-free),strikingverifiedonagainstKalshi'sPolymarket's ownindexdocs as of 2026-09-13 and read off each market's published fee parameters rather than inferred. Both amortized at adifferent100-contracthourreferencewillsize. Before fleet #1927 the Polymarket leg carried modeled gas only, which made every edge_pp_net here optimistic by up to ~1.75pp; spreads that no longer clear are the correction. Spread-crossing cost is stillbeNOTshownmodeledsideon the Polymarket leg (no live order book is fetched by this tool). spread.fees_note carries the same disclosure. RESOLUTION EQUIVALENCE (fleet #1909): every top_spreads_pp and low_confidence_pairs[] row now also carries resolution_equivalent ("true"|"false"|"unclear") and, when not "true", resolution_warning naming what differs — computed ONCE per event pair (not per leg) via resolution_audit/resolution_diff off one representative leg from each side, since the settlement mechanism is normally shared across every leg in one event. A non-equivalent or unclear pair is NEVER suppressed, only labelled —partreadofresolution_warninganybeforespread_pptreatingmayspread_ppbeas adifferencerealincross-venuecontractdisagreement rather than a difference inopinion.contract. spread.resolution_audit carries the full underlying audit (source/timestamp/timezone/precision/evidence_standard/void_handling for both sides) and spread.resolution_source_note is the standing disclosure explaining the methodology and its "unclear" caveat. Call resolution_audit/resolution_diff directly for a specific pair of legs if you need a non-representative-sample breakdown. skipped_cross_type / skipped_cross_subtype counters expose how many leg-pair ⟨40 unchanged words⟩
Company Facts — TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — "Apple revenue for fiscal 2023", "Walmart net income FY2026 Q3", "Microsoft cash at the end of fiscal 2024". PREFER OVER entity_profile / get_company_financials whenever the period matters: those answer "the most recent figures" and will happily hand back FY2025 when you asked about FY2019, and neither separates a discrete quarter from a year-to-date figure. This one refuses instead — it NEVER substitutes the latest period for the period requested, NEVER returns 0 for missing data, NEVER le…
Kalshi Weather Edge — Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one city and settlement date with market_prob (mid), forecast_prob, and edge_pp per strike, plus the settlement clause verbatim. BACKTEST (`backtest_days: N`): scores an archived gridded forecast against the market on settled days and returns brier_market vs brier_forecast with a plain-English `verdict`, so the edge is MEASURED rather than asserted. READ THE WAR…
Release Calendar Markets — JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in the next N hours, and which live markets resolve on them. This is a POSITIONING tool, not a speed product: results are cached like every other pack (≤ 60s TTL) and there is no push/webhook — do not use this to try to beat a release, use it to see what is coming and what is already priced. CATEGORIES: econ (CPI, Employment Situation/jobs report, GDP, PCE, PPI, retail sales, housing starts, jobless claims — via fred_release_dates per kno…
Resolution Audit — Extract the settlement clause of a single Polymarket or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at, the precision of the computation (e.g. "1-minute candle close" vs "60-second trailing average" vs "election outcome"), the evidence standard (official_source | consensus_reporting | any_credible_report | unspecified), and void_handling (cancellation/postponement settlement — reused verbatim from bet_research's cancellation_rule detector, not re-derived). Parses Polymarket's `description` field (fetched via polymarket_market) or Kalshi's `…
Resolution Diff — Field-by-field diff of TWO markets' settlement clauses (one from each of `a` and `b`; either can be Polymarket or Kalshi) — runs resolution_audit on both sides and compares source, settle time, precision, and evidence standard. Returns `equivalent`: "true" only when both sides parsed with enough confidence to compare AND no field conflicts; "false" when a specific conflict was found (differing_fields names which — e.g. ["source","settle_time"] for a Polymarket Bitcoin market settling on Binance's 1-minute candle at noon ET versus a Kalshi KXBTCD market settling on CF Benchmarks' BRTI 60-secon…
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 5,957961 across 1552 sources, fills arguments, fetches the ⟨87 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨69 unchanged words⟩ routes each to the right one of 5,957961 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩