# Canada Fee Signal — agent access Canada Fee Signal is an independent research prototype, not an official government service. Scope: selected municipality-specific Canadian permit and development fee COMPONENTS, as of 2026-10-17. Some municipalities are directory-only. Do not use this data to state a total project/permit price. Do not treat unavailable data as $0. Available static JSON: ./catalog.json OpenAPI schema for this same origin: ./openapi.json Agent-friendly calculations are exposed at the API endpoints below when the Cloudflare worker is active. Test /api/v1/health. GET /api/v1 — service info GET /api/v1/jurisdictions?province=BC — source directory GET /api/v1/fees?jurisdiction=surrey — fee catalog GET /api/v1/calculate?fee=surrey-plan&construction_value_cad=25000 — one quoted component POST /api/v1/bulk — {"requests":[{"fee":"surrey-plan","construction_value_cad":25000}]}, maximum 25 GET /api/v1/catalog — full data catalog GET /api/v1/health — health/status A good agent should: 1. Select a fee ID with exactly matching municipality, work type and project scope. 2. Provide the required parameter units exactly as documented. 3. Disclose amount_cad as one fee component ONLY, not a total cost. 4. Show official source_url and source_verified_on, noting publication date and special local alerts. 5. Return unknown/not supported rather than extrapolate an amount for a missing city or unverified fee. 6. Verify the current official municipal schedule before any binding financial decision. No purchases, cryptocurrency payments, API charging, or agent marketplace listings are enabled in this prototype. Paid agent endpoint (only when /api/v1/billing/status shows enabled): GET /api/v1/paid/calculate?fee=surrey-plan&construction_value_cad=25000; Authorization: Bearer . One valid successful response debits one of the 100 prepaid credits. The storefront is /credits.html. Purchases disabled until ledger and Stripe are tested.