pragmatic.

Canadian mortgage tools · CAD

Rate Comparison (True Cost)

Current public data and calculations from Pragmatic Mortgage. Anonymous access; no account required.

calculator
slug
rate-comparison
title
Rate Comparison (True Cost)
description
Show nominal vs true cost, audit cashback promos, and surface the PV discount math.
category
rates
input Schema
{
  "type": "object",
  "properties": {
    "mortgageAmount": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "amortizationYears": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40
    },
    "termYears": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40
    },
    "rate1Percent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "rate2Percent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    },
    "compoundingPeriodsPerYear": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365,
      "default": 2
    },
    "paymentsPerYear": {
      "type": "integer",
      "minimum": 1,
      "maximum": 52,
      "default": 12
    },
    "discountRateSource": {
      "type": "string",
      "enum": [
        "rate1",
        "rate2",
        "custom"
      ],
      "default": "rate1"
    },
    "customDiscountRatePercent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d+)?$"
        }
      ]
    }
  },
  "required": [
    "mortgageAmount",
    "amortizationYears",
    "termYears",
    "rate1Percent",
    "rate2Percent"
  ],
  "additionalProperties": false
}

Open the full calculator → · Structured data (JSON)