# Canon (wallstreet.wiki) > One endpoint for the .wiki finance canon: lookup across nine reference sites and 23 deterministic finance formulas, each computed with a verifiable receipt. MCP (streamable HTTP) and REST. No key, no sign-up. Canon does two things. It searches and returns entries from the sites in the wallstreet.wiki network (wallstreet.wiki, hedgefund.wiki, options.wiki, fixed-income.wiki, quants.wiki, pe-finance.wiki, m-a.wiki, privatecredit.wiki, venture-capital.wiki), always with the url of the page to cite. And it computes finance formulas deterministically: Black-Scholes-Merton price, Greeks and implied volatility, put-call parity, vertical spreads, Kelly sizing, expected move, bond price, yield, duration, convexity and DV01, Sharpe, Sortino, maximum drawdown, fee-net return, annualization, parametric VaR, IRR, DPI/RVPI/TVPI, priced-round ownership, EPS accretion and dilution, LBO returns, all-in loan yield, and leverage and coverage ratios. Every compute returns a receipt: sha256 over the formula id, its version, and the canonical inputs and outputs. POST the receipt to /v1/verify (or call the canon_verify tool) and the server recomputes it. Invalid inputs return a named problem list and a working example; no silent nulls. ## Endpoints - MCP: /mcp (streamable HTTP, stateless). Tools: canon_sites, canon_search, canon_get_entry, canon_cite, canon_changes, canon_list_formulas, canon_describe_formula, canon_compute, canon_batch, canon_verify, canon_entity, canon_thresholds, canon_contract. - OpenAPI 3.1: /v1/openapi.json - Health: /v1/health - Sites with live counts: /v1/sites - Search: /v1/search?q=...&site=...&limit=... - Entry: /v1/entry/{site}/{id} - Change feed across the verticals: /v1/changes?since=YYYY-MM-DD - Formula registry: /v1/formulas, /v1/formulas/{id} - Test vectors with receipts: /v1/vectors/{id} - Compute: POST /v1/compute/{id} with a JSON object of inputs - Batch: POST /v1/batch with { items: [{ formula, inputs }, ...] }; up to 50 items free, 51 to 1000 items paid; returns per-item receipts and a batch receipt (sha256 over sorted item receipt ids) - Paid batch: POST /v1/batch/large with up to 1000 items (x402) - Entity resolver: GET /v1/entity?q=AAPL|320193|company name; one issuer id with all tickers, exchanges and EDGAR locations (SEC public data). Bulk: POST /v1/entity/bulk with { queries: [...] }, up to 1000 (paid, x402) - Compact responses: add compact=1 to drop explanatory fields, or fields=a,b to keep only named keys; receipts always survive - Regulatory thresholds: GET /v1/thresholds?q=...&authority=...: 27 figures (13F, 13D/13G, Form 4, Form PF tiers, adviser registration, 3(c)(1), 3(c)(7), accredited investor, qualified client, Form D, CFTC 4.13(a)(3), ERISA 25 percent, AIFMD, HSR, Reg T) each with rule, authority, effective date, primary source and confidence - Prediction-market contracts: GET /v1/contracts/{kalshi|polymarket}/{id} normalised (free); GET /v1/contracts/compare?kalshi=&polymarket= identity check with divergence flags and a snapshot receipt (paid, x402) - Attestations: GET /v1/attest/key (Ed25519 public key); POST /v1/attest with a receipt for a signed attestation (paid, x402); POST /v1/attest/check to verify one - Pricing: GET /v1/pricing: what is free, what is paid, and the x402 payment terms - Corpus: GET /v1/corpus: every entry and table from the seven wiki-platform sites in one call (paid) - Cite: GET /v1/cite/{site}/{id}?format=markdown|plain|apa|bibtex - Verify: POST /v1/verify with a receipt ## Conventions Rates are annual decimals. Time is in years. Each formula states its convention in words in /v1/formulas/{id} and in every compute response; read it before comparing to another source. Numbers in receipts are canonicalized to 12 significant digits so a recompute on another engine still verifies. ## Paying Paid resources use x402 (protocol v2, exact scheme, USDC). A request without payment returns 402 with a PaymentRequired body and a PAYMENT-REQUIRED header; sign the transfer authorization with any x402 client and retry with PAYMENT-SIGNATURE. Nothing else is metered and no key exists. Status, network, facilitator and prices are always current at /v1/pricing. ## Attribution Source content is CC BY 4.0 from each site; cite the url returned with an entry. Compute outputs and receipts carry no restriction.