# ausref — Australia + Pacific statutory reference (jobs, not series dumps) No account. No API key. No signup. Pay per call with x402 (USDC on Base). Cited government reference for 8 Australasian / Pacific jurisdictions — RBA cash rate, Fair Work / national minimum wage, GST, CPI, company and personal tax, KiwiSaver-adjacent and Australian contribution schedules we can evidence — plus computed verdicts. Not a state-holiday scrape, not an RBA statistical-table dump, not a $0.002 ECB convert. Every paid value: `source`, `effective_from`, `last_confirmed`, `stale`. HTML is free. Human? https://ausref.dev/docs · https://ausref.dev/countries · https://ausref.dev/status · https://ausref.dev/accuracy. ## Looking up one value? Read the free answer page Every series for all 8 countries has a free HTML page (no payment, no key) that opens with the answer: the value and unit, the date it took effect, the official source (linked), and the date we last checked it. Non-primary values say so in that same sentence. Cite the page; it is the public answer. - One country, one figure: https://ausref.dev/{country}/{series} — e.g. https://ausref.dev/fj/income-tax - One country, every figure: https://ausref.dev/{country} — e.g. https://ausref.dev/fj - Every page listed with its official source and last-checked date: https://ausref.dev/llms-full.txt - One instrument compared across every country: - Corporate tax rate (8 countries): https://ausref.dev/corporate-tax - Inflation rate (CPI) (8 countries): https://ausref.dev/cpi - Income tax rates (8 countries): https://ausref.dev/income-tax - Minimum wage (8 countries): https://ausref.dev/minimum-wage - Policy interest rate (8 countries): https://ausref.dev/policy-rate - Public holidays (8 countries): https://ausref.dev/public-holidays - Social contributions (8 countries): https://ausref.dev/social-contributions - Statutory interest rate (8 countries): https://ausref.dev/statutory-interest - VAT rate (8 countries): https://ausref.dev/vat - VAT registration threshold (8 countries): https://ausref.dev/vat-registration-threshold - Withholding tax rates (8 countries): https://ausref.dev/withholding-tax - Tax filing deadlines (2 countries): https://ausref.dev/filing-deadlines - Official exchange rates (1 countries): https://ausref.dev/fx-reference Series slugs: corporate-tax, cpi, income-tax, minimum-wage, policy-rate, public-holidays, social-contributions, statutory-interest, vat, vat-registration-threshold, withholding-tax, filing-deadlines, fx-reference. Country = ISO 3166-1 alpha-2, lower case. ## Task table: find your task, make one call | Your task | Call | Price | | --- | --- | --- | | What is the RBA cash-rate target, cited to the Board decision? | `GET /v1/au/policy-rate` | $0.003 | | What is the RBNZ OCR / other Pacific policy rate we hold? | `GET /v1/nz/policy-rate` | $0.003 | | Gross-up this amount for Australian or NZ GST | `POST /v1/answers/vat` `{country:"au"\|"nz", amount, mode}` | $0.01 | | What is the full snapshot of every series across this region? | `GET /v1/all` | $0.02 | | Is this Australian salary legal against the national minimum wage / award floor we hold? | `POST /v1/answers/wage-check` `{country:"au", amount, period, schedule?}` | $0.02 | | Simple statutory interest on a principal at the cited statutory-interest rate (Actual/365) | `POST /v1/answers/statutory-interest` `{country, principal, days \| from+to, receipt?}` | $0.02 | | What is the Fair Work Commission national minimum wage, last confirmed? | `GET /v1/au/minimum-wage` | $0.003 (AU series eval-free) | | Cost to employ in Australia (statutory contributions, both sides) | `POST /v1/answers/employment-cost` `{country:"au", gross, subdivision?}` | $0.05 | | Next working day in NSW (not the Commonwealth-only calendar) | `POST /v1/answers/working-days` `{country:"au", subdivision:"AU-NSW", from, to}` | $0.002 | | File the national minimum wage with a signed evidence chain | `GET /v1/certified/au/minimum-wage` | $0.10 | | Did the FWC Annual Wage Review land? | `POST /alerts` `{series:["au/minimum-wage"]}` / `GET /v1/changes` | Register: $0 · Delivery after trial: $0.05 | | What does this hire cost the employer, all-in and cited? (AU) | `POST /v1/jobs/cost-hire` `{country, gross, period?}` | $0.50 | | Should this invoice carry VAT, whose and how much? | `POST /v1/jobs/charge-sale` `{seller_country, buyer_country?, buyer_type?, amount}` | $0.50 | | Is this invoice right? VAT vs what was charged, overdue interest, tax-ID format (FJ, NZ, SB, TO, WS) | `POST /v1/jobs/invoice-check` `{seller_country, amount, vat_charged?, invoice_date+terms_days, seller_tax_id?}` | $0.60 | | Is this invoice overdue and how much statutory interest is owed? (FJ, NZ, SB, TO, WS) | `POST /v1/jobs/invoice-payable` `{country, principal, invoice_date+terms_days}` | $0.40 | | Which VAT / PAYE / corporate-tax filings are due next? (AU, NZ) | `POST /v1/jobs/next-filings` `{country, from?, to?, tax?}` | $0.35 | | Cited country brief plus signed extracts for a compliance file | `POST /v1/jobs/evidence-pack` `{country, series?}` | $0.25 | | Compare the cost of a hire in 2 (or 3-5) countries | `POST /v1/jobs/hire-compare` (`/multi` for 3-5) `{hires:[{country, gross}]}` | $0.75 / $1.00 | Try before you pay: every AU series is free with `X-Free-Sample: 1` (e.g. `GET https://ausref.dev/v1/au/vat`), and 3 answer or job calls per IP per day are free, no header needed. Anything we cannot answer in full is refused free before payment. MCP: `https://ausref.dev/mcp` (same tasks as tools). Docs: https://ausref.dev/docs Employment-cost on this host is OpenAPI-scoped to **`au` only**. `subdivision` (e.g. `AU-NF`) where a region runs its own schedule; unknown codes refuse free. NZ KiwiSaver / Pacific NPS-style schemes are **not** a priced answer here. There is **no** `fx-reference` series on ausref OpenAPI. Do not call it. RBA statistical tables and community FX wrappers are outside this SKU; we will not pretend to be an ECB convert either. ## Bind this region Eval-free: every **AU** series. `GET https://ausref.dev/v1/au/policy-rate?sample=1` (scripts and agents need ?sample=1 or X-Free-Sample: 1; without it they get the normal 402). Answers still charge for AU. Countries: au fj nz pg sb to vu ws. Series: `policy-rate`, `statutory-interest`, `vat`, `vat-registration-threshold`, `minimum-wage`, `public-holidays` (free), `cpi`, `corporate-tax`, `withholding-tax`, `income-tax`, `social-contributions`. **No `fx-reference`.** `GET /catalog` (free). `filing-deadlines` (countries with verified rules): VAT, payroll-withholding and corporate-tax deadline rules with official citations, plus computed due dates rolled for weekends and public holidays (`?from=&to=&tax=&year_end=`). Countries without a verified rule return a free 404 `coverage_gap` naming what is missing. Fleet: afriref · euroref · asiaref · latamref · usaref · mearef · ausref. ## How to call a paid endpoint (x402) Unpaid → 402 → `PAYMENT-SIGNATURE` (v2) / `X-PAYMENT` (v1) or prepaid `X-API-Key` (https://ausref.dev/pricing). Bad input is free. Free: `/catalog` · `/llms.txt` · `/openapi.json` · holidays · `/v1/changes` · `/v1/calendar` · `/provenance` · `/certified/public-key` · HTML. AU path series are eval-free. ## Finished jobs (one paid call, one cited dossier) - $0.50 cost this hire: `POST https://ausref.dev/v1/jobs/cost-hire` {country, gross, period?, hours_per_week?, taxable_income?, start_date?}. Wage-floor verdict, employer and employee contributions (or PAYE net pay for NG/KE), employer cost, optional income tax and first working day, every figure cited. Countries here: AU. - $0.50 charge this sale: `POST https://ausref.dev/v1/jobs/charge-sale` {seller_country, buyer_country?, buyer_type?, amount, amount_is?, band?}. Whether to charge VAT, which country's and how much (EU, UK and South Africa place-of-supply rules), net/VAT/gross, registration threshold. Omit buyer_country for single-country rate maths. - $0.75 the same with a signed certified extract of the governing VAT rate: `POST https://ausref.dev/v1/jobs/charge-sale/certified`. - $0.40 invoice due date and late interest: `POST https://ausref.dev/v1/jobs/invoice-payable` {country, principal, due_date | invoice_date + terms_days, as_of?, debtor?}. Overdue or not, days overdue, statutory interest owed (Actual/365 simple) with rate and workings; both results shown when the rate changed in the window. Countries here: statutory interest only FJ, NZ, SB, TO, WS. - $0.25 country evidence pack: `POST https://ausref.dev/v1/jobs/evidence-pack` {country, series?}. The full cited country brief plus up to 3 Ed25519-signed certified extracts. Refused free if nothing can be certified. - $0.75 hire compare, 2 countries: `POST https://ausref.dev/v1/jobs/hire-compare` {hires: [{country, gross}], period?}; $1.00 for 3 to 5 countries: `POST https://ausref.dev/v1/jobs/hire-compare/multi`. Employer cost, contributions, on-cost % and wage verdict side by side, ranked. Countries (any brand): AE, AU, CA, DE, ES, GB, IT, MX, PL, US. - $0.35 next filings: `POST https://ausref.dev/v1/jobs/next-filings` {country, from?, to?, tax?, year_end?}. VAT, PAYE and corporate-tax due dates in a window (default 90 days), rolled for weekends and public holidays, rules cited. Countries here: AU, NZ. - $0.60 invoice check: `POST https://ausref.dev/v1/jobs/invoice-check` {seller_country, buyer_country?, buyer_type?, amount, amount_is?, vat_charged?, due_date | invoice_date + terms_days, as_of?, debtor?, seller_tax_id?, buyer_tax_id?}. One call: is the VAT right (expected vs vat_charged), is the invoice overdue and what statutory interest is owed, and do the tax IDs pass the official format check (not a live register lookup). Cheaper than charge-sale plus invoice-payable bought separately. Seller countries here: FJ, NZ, SB, TO, WS. - MCP: the same jobs are tools on `https://ausref.dev/mcp` (cost_hire, charge_sale, charge_sale_certified, invoice_payable, invoice_check, evidence_pack, hire_compare, next_filings, where this brand has coverage). - Anything we cannot answer in full is refused free (`coverage_gap`, no charge). The 3 free calls per IP per day are shared by answers and jobs. - One catalog for all seven brands: `GET https://afriref.dev/fleet/catalog.json` (free). ## Paying with MPP (Machine Payments Protocol) instead of x402 Every paid endpoint also accepts MPP on identical terms: the same price, USDC on Base (eip155:8453), the same pay-to address 0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6. 1. The unpaid HTTP 402 also carries a WWW-Authenticate: Payment challenge (method evm, intent charge). 2. Pay it with an MPP client that supports the evm charge method (for example the mppx SDK, mppx/client with mppx/evm/client). 3. Retry with Authorization: Payment . You get HTTP 200 + the data, with a Payment-Receipt header. Send one rail per request: an x402 payment header takes precedence. Bad input is still refused FREE before any challenge. MPP settles when the credential is accepted, just before the endpoint runs (x402 settles after). ## Pricing ladder - How the two payment rails charge: both rails charge the same US-dollar price per call. By card, prepaid credit is worth $0.001 per credit on the $10, $25 and $100 packs and each successful call debits its endpoint price in credits (a $0.003 value is 3 credits, a $0.002 holidays call is 2, an alert delivery after the free trial is 50, a $0.10 certified extract is 100); over x402, every call pays the price quoted in its own 402 challenge, $0.002 to $1.00 depending on the endpoint (listed at https://ausref.dev/pricing). Failed or refused calls are not charged on either rail. Keys bought before 12 October 2026 keep their original one-credit-per-call terms, and keys bought from 12 to 16 October keep $0.005 credits. - Alerts: Register: $0 · Delivery after trial: $0.05 - Change feed: `GET /v1/changes` — free, unmetered. Poll this after you have paid once; do not re-buy a series to see whether it moved. - Re-verification calendar: `GET /v1/calendar` — free, unmetered. `reverify_by` is derived from `last_confirmed` + `update_cycle_days`. `status: unknown` omits any next date. We do not parse notes. Not an MPC or budget date. - $0.003 — series / history (AU free) - $0.002 — public holidays (`GET /v1/holidays/{country}`, paid copy for x402 clients; `GET /v1/{country}/public-holidays` stays free) · working-days - $0.01 — GST breakdown - $0.01 — country brief: every series for one country in one call (`GET /v1/brief/{country}`) - $0.02 — compare one series across up to 10 countries (`GET /v1/compare?series=vat&countries=a,b,c`) - $0.003 — validate a tax-ID / VAT number: format + official check digit, normalised form, why it failed; offline, no registry lookup (`GET /v1/taxid/validate?country=cc&id=...`; free coverage list at `GET /v1/taxid/coverage`; countries without a sourced rule answer free with status `unknown`) - Monthly card plans: $19/month = 30,000 credits · $49/month = 90,000 · $149/month = 300,000 (same $0.001 credits, no rollover; /pricing#plans) · Data licence for the full dataset: api@3l-groupconsulting.co.za - $0.02 — snapshot - $0.02 — wage-check · income-tax · settlement-date · statutory-interest - $0.05 — employment-cost (AU) · VAT determine - $0.10 — certified extract - Optional signed answer receipt (`receipt:true`) on statutory-interest and the other paid answers this brand lists — included at the existing answer price; no separate charge; distinct from the $0.10 series certified extract ## Business days (FREE, unmetered, every country on every brand) National public-holiday calendar plus the country's statutory weekend rule (Gulf Friday+Saturday, Israel Saturday-only, India 2nd/4th Saturdays, China's make-up working days). A date in a year we do not hold holidays for is refused 422 `year_not_held` with the years we do hold; it is never computed from weekends alone. MCP: is_business_day, add_business_days, business_days_between. - GET /v1/business-days/is-business-day?country=au&date=YYYY-MM-DD — business day or not, why, and the next/previous business day - GET /v1/business-days/add?country=au&date=YYYY-MM-DD&n=5 — date plus n business days; negative n walks backward; the start date is day 0 - GET /v1/business-days/between?country=au&from=YYYY-MM-DD&to=YYYY-MM-DD — business days in (from, to] (signed, the inverse of add) and inclusive of both ends ## Answers (computed verdicts) - `POST /v1/answers/wage-check` — is this salary legal against the national minimum wage (and `schedule` for an award / sectoral floor we hold)? Period must match the floor (Australian NMW is commonly hourly / weekly in the instrument — we do not invent a monthly conversion). “Above NMW” is not “award-compliant”. $0.02 - `POST /v1/answers/vat` — AU / NZ GST gross-up or extract. Pacific VAT where a single statutory rate exists; otherwise free refusal. $0.01 - `POST /v1/answers/employment-cost` — **AU only**. Cost to employ; Super and other verified lines; refused schemes named. $0.05 - `POST /v1/answers/working-days` — next working day, state-aware via `subdivision`. $0.002 - `POST /v1/answers/income-tax` — statutory tax on taxable income + brackets. $0.02 - `POST /v1/answers/statutory-interest` `{country, principal, days? | from?+to?, receipt?}` — simple interest at the cited `statutory-interest` series rate: principal × (rate percent / 100) × (days / 365). Day-count basis is Actual/365 simple (`from` inclusive, `to` exclusive). Interest is rounded to 2 decimal places and the rounding is in `workings`. Not legal advice. Computes over the cited series as of `last_confirmed` — the same materialized value as `GET /v1/{country}/statutory-interest`, including derived series. No compounding and no jurisdiction-specific day-count. No numeric rate after materialization (mechanism-only, for example GH) → 422 free, with the series notes; nothing is sold. `days` and `from`/`to` that disagree → 400 free. Unknown country or missing series → 404 free. $0.02 - Payroll (`POST /v1/answers/payroll`) is Nigeria and Kenya only (`ng`, `ke`). It is not on this brand. - `POST /v1/answers/settlement-date` — T+n on statutory calendars. $0.02 - `POST /v1/vat/determine` — EU / UK / ZA digital-services ruleset. $0.05 ## Sub-national holiday calendars Held: Australia 8 regions — AU-NSW, AU-VIC, AU-QLD, AU-WA, … (full list on `GET /v1/au/public-holidays` under `subdivisions`). GET ignores a `subdivision` query; POST working-days applies it. ## Series lookup (not a dump) `GET /v1/{country}/{series}` · `?as_at=` · `/history` · `GET /v1/all`. Changes + freshness (FREE, unmetered): GET /v1/changes?since=YYYY-MM-DD — what changed, plus how many of our 88 series were re-verified against their official source in the last 1/7/30/90 days, and which one has gone longest without a check. `since` is optional (defaults to 30 days). After a first paid call, poll this or POST /alerts instead of re-buying the series to see whether it moved. Next window, still free: `GET /v1/calendar`. `reverify_by` is derived; `status: unknown` means no `effective_to` and no invented date. We do not parse notes. Push remains `POST /alerts`. 8 × 11 paths are not listed here. `GET /catalog`. ## Provenance and certified extracts - `GET /provenance`, `/provenance/{country}/{series}` (free) - `GET /v1/certified/{country}/{series}` $0.10 — https://ausref.dev/certified/public-key ## Answer receipts (included in the answer price) When a caller pays for a one-shot answer and sets `receipt:true`, the paid HTTP 200 includes an Ed25519-signed receipt they can file and verify later. Default is false — omit the field, or send false, and the answer JSON is unchanged. - Request: `receipt:true` on paid `POST /v1/answers/*` bodies (wage-check, vat, working-days, settlement-date, income-tax, statutory-interest, payroll, employment-cost where this brand lists them). Not on `POST /v1/vat/determine`. Not on series GETs. - Response: the receipt object embeds only on a paid HTTP 200. `kind` is `answer_receipt`. Unpaid HTTP 402 and free 4xx refusals do not include a receipt. Charge behaviour is unchanged. - Verify: `GET https://ausref.dev/certified/public-key` (free). Answer receipts use that same key, the same `key_id`, and the same canonical JSON rule (keys sorted recursively, no whitespace) as series certified extracts. - **NOT** the same thing as a series certified extract. `GET https://ausref.dev/v1/certified/{country}/{series}` ($0.10) is a separate artifact: one series value plus its citation, archived-source fingerprint and verification chain. An answer receipt only covers the computation over the cited series as of each series' `last_confirmed`. It is not a series certified extract and it is not legal advice. No extra charge beyond the answer's existing price. ## After you pay once — subscribe to the next gazette Reference values fail silently. A threshold that stood for 17 years moves in one budget speech and every hard-coded copy of the old number becomes wrong overnight (South Africa's VAT registration threshold, 1 April 2026 — R1 million became R2.3 million; https://ausref.dev/accuracy). We fetch and hash every cited source daily, so we know WHEN a value changes, not just what it is. If you have already paid for a series, bind one of these before you cache it. - GET https://ausref.dev/v1/changes?since=YYYY-MM-DD — FREE, unmetered change + freshness feed. What changed, plus how many of our 88 series were re-verified against their official source in the last 1/7/30/90 days, and which one has gone longest without a check. `since` is optional (defaults to 30 days). Poll this; do not re-buy the series to find out whether it moved. - POST https://ausref.dev/alerts {url, series: ["au/minimum-wage", ...]} — HMAC-signed webhook the moment a series you watch changes. REGISTERING IS FREE and the first 3 deliveries are free — after that each delivery is $0.05 (refunded when a webhook fails to send). Patterns: "au/minimum-wage", "nz/*", "*". Max 20. - The same POST also watches DOCUMENTS: sources: ["", ...] (exact URLs from any series' source.url — we fingerprint 1,500+ cited official documents with SHA-256 daily). You get a source.changed event when the bytes change, carrying old/new sha256 and which series cite it. The event asserts only that the DOCUMENT changed; value changes are decided by re-verification and arrive as series.changed. URLs we do not fingerprint are refused free (error source_not_fingerprinted) and logged as requests. - Try: series ["au/minimum-wage","nz/income-tax","au/statutory-interest"] - The Annual Wage Review is the classic hardcoded-number event (1 July). After a paid AU wage-check, bind au/minimum-wage. Certified extracts ($0.10) freeze one moment for filing. Alerts + /v1/changes (past) + /v1/calendar (reverify window) are how you find out that moment is over. Use all three. OpenAPI: https://ausref.dev/openapi.json — operations `changes`, `calendar`, and `registerAlert`, tags `Discovery` and `Alerts`. Pricing: https://ausref.dev/pricing (change feed free; re-verification calendar free; alert registration free). ## Re-verification calendar (free) `GET /v1/calendar` is free and unmetered. A 402 here is a gate bug — do not pay. Optional `country` (ISO 3166-1 alpha-2) and `series`. A country outside this brand is 404 free. A country that is not two letters is 400 free. A valid country with no matching series is 200 with an empty `entries` list. `GET /v1/changes` is past moves and freshness. `POST /alerts` is push when a served value moves. This route is not the holiday calendar and not a promised future gazette. - `reverify_by` is the UTC calendar date of `last_confirmed` + `update_cycle_days`, the same window that sets `stale`. It is this service's re-verification cadence, not a government announcement date. - `status: "known"` includes `next_effective_known` only when current `effective_to` is a non-empty string, and `next_effective_basis` is `effective_to`. That date is the recorded end of the value we currently serve (coverage or vintage), not an MPC, budget, or wage-review date. - `status: "unknown"` when `effective_to` is absent. The series is still listed, with `last_confirmed`, `stale`, `update_cycle_days`, and `reverify_by`. `next_effective_known` is omitted. Unknown stays free. We do not parse notes for next dates. We do not read history rows for a next change. Sort is `country` ascending, then `series` ascending. ## Calendar coverage 2026–2027. Uncovered → `calendar_coverage_exhausted`. **1 calendar** permanent unpublished horizon. `date: null` + `pending_window` when gazettal is pending. `name` stable; `note` for Mondayised / substituted days (Waitangi, regional shows). ## What we refuse (free) Coverage; unknown AU subdivisions; no single statutory rate; out-of-scope VAT-determine pairs; unverified settlement cycles; unread instruments (404); any `fx-reference` path (absent). ## Confidence `primary` / `secondary` / `attested` / `derived`. `GET /catalog?confidence=primary`. ## Discovery https://ausref.dev/.well-known/x402.json · /agent.json · /openapi.json MCP: https://ausref.dev/mcp — free tools `list_series`, `get_public_holidays`, `get_changes`, `get_calendar`; `register_alert` (Register: $0 · Delivery after trial: $0.05); paid `get_series`, `get_series_history`, `get_snapshot` Retention: GET https://ausref.dev/v1/changes (free, past moves) · GET https://ausref.dev/v1/calendar (free; reverify_by derived; status unknown omits any next date; notes are not parsed) · POST https://ausref.dev/alerts (register free; delivery after trial $0.05). OpenAPI tag `Alerts`: https://ausref.dev/openapi.json Independent; verify against the cited official source before legal or financial use. ## Free trial (answers and jobs) 3 free calls per day per IP, shared across POST /v1/answers/* and POST /v1/jobs/*. No header needed (`X-Free-Trial: 1` or `?free_trial=1` is accepted but not required). Only successful calls count; a refused call gives its trial call back. A POST with an empty body gets the normal 402 and does not use the trial; a request with an API key or a payment header skips the trial. Not for /v1/all, series or certified extracts. Response headers `X-Free-Trial-Remaining` / `X-Free-Trial-Limit` / `X-Free-Trial-Reset`.