{
  "title": "Balance transfer calculator",
  "human_url": "https://happytails.ai/en/finance-tools/balance-transfer-calculator/",
  "agent_url": "https://happytails.ai/agents/en/finance-tools/balance-transfer-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/finance-tools/balance-transfer-calculator.md",
  "content": "Balance transfer calculator\nCompare keeping a credit card balance where it is with moving it to a promotional card. See the transfer fee, the interest on each path, the payoff month and what the transfer saves or costs with the same monthly payment.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Balance transfer calculator\nEnter the card balance, its current APR and the monthly payment you plan to make.\nEnter the transfer fee as a percentage, with the minimum fee and any maximum.\nEnter the promotional APR, how many months it lasts and the APR that applies after it.\nReview the fee, interest, payoff months and savings, then download the JSON report or the monthly CSV.\nUseful next steps\nLoan payment\nSimple interest calculator\nCompound interest\nMethod\nBoth options start from the same balance and use the same payment each month. Each month the interest is the balance times the APR divided by 12, rounded to the cent, and the payment is taken after interest. An APR is the periodic rate times the number of periods in a year under Regulation Z, 12 CFR 1026.14(b) (Consumer Financial Protection Bureau, checked 16 October 2026). On the transfer path the fee is added to the balance in the first month, the promotional APR applies for the months you enter and the later APR applies to anything left.\nTransfer fee\nThe fee is your percentage of the balance, limited by the maximum fee when you enter one, and never less than the minimum fee. Card issuers disclose these fees in the account opening table, so copy the figures from the offer.\nAssumptions and limits\nInterest is worked out monthly on the balance, while many issuers use a daily balance method, so results can differ by small amounts. Deferred-interest promotions, new purchases, late fees and penalty rates are not modelled. The payment must be larger than one month of interest at each APR so the balance goes down every month: at the current APR on the balance, at the promotional APR on the balance plus the fee and at the later APR on the balance left when the promotion ends. Each option is modelled for up to 1200 months. This is a calculation from your own numbers, not financial advice.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Loan payment",
      "url": "https://happytails.ai/en/finance-tools/loan-payment/"
    },
    {
      "name": "Simple interest calculator",
      "url": "https://happytails.ai/en/finance-tools/simple-interest/"
    },
    {
      "name": "Compound interest",
      "url": "https://happytails.ai/en/finance-tools/compound-interest/"
    }
  ],
  "tool": {
    "id": "balance-transfer-calculator",
    "category": "finance-tools",
    "built": true,
    "requirements": "Balances, payments and fees up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), APRs from 0 to 100 percent, promotional periods from 1 to 120 months and schedules of up to 1200 months. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month for both options.",
    "implementation": {
      "fields": [
        {
          "key": "balance",
          "label": "Card balance to transfer",
          "value": "6000",
          "type": "text",
          "maxLength": 30,
          "help": "The balance you would move to the new card."
        },
        {
          "key": "currentApr",
          "label": "Current card APR (%)",
          "value": "22.99",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100. Used for the stay option."
        },
        {
          "key": "payment",
          "label": "Monthly payment",
          "value": "250",
          "type": "text",
          "maxLength": 30,
          "help": "The same payment is used for both options. It must be more than one month of interest at each APR."
        },
        {
          "key": "feePercent",
          "label": "Transfer fee (% of balance)",
          "value": "3",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100. Enter 0 if the fee is only a fixed amount."
        },
        {
          "key": "feeMinimum",
          "label": "Minimum transfer fee",
          "value": "5",
          "type": "text",
          "maxLength": 30,
          "help": "The fee is never less than this amount. Leave 0 if none."
        },
        {
          "key": "feeCap",
          "label": "Maximum transfer fee",
          "value": "",
          "type": "text",
          "maxLength": 30,
          "help": "Leave blank when the fee has no cap."
        },
        {
          "key": "promoApr",
          "label": "Promotional APR (%)",
          "value": "0",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100. Often 0 during the offer."
        },
        {
          "key": "promoMonths",
          "label": "Promotional months",
          "value": "18",
          "type": "text",
          "maxLength": 10,
          "help": "Whole months from 1 to 120."
        },
        {
          "key": "revertApr",
          "label": "APR after the promotion (%)",
          "value": "24.99",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100. Applies to any balance left when the offer ends."
        },
        {
          "key": "decimals",
          "label": "Decimal places in amounts",
          "value": "2",
          "type": "select",
          "values": [
            "2",
            "0",
            "1",
            "3",
            "4",
            "5",
            "6"
          ]
        }
      ],
      "registrationFamily": "personal-balance-schedules",
      "input": false,
      "note": "Calculated on your device with monthly schedules of up to 1200 months and amounts up to 1000000000000, or less at 4 to 6 decimal places.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Card balance, rates and fees",
        "placeholder": "Enter values in the form fields",
        "help": "This calculator reads the form fields below; there is no text box. Up to 1,000,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Balance transfer calculator\n\n- Human page: https://happytails.ai/en/finance-tools/balance-transfer-calculator/\n- Markdown: https://happytails.ai/en/finance-tools/balance-transfer-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/finance-tools/balance-transfer-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `balance-transfer-calculator` |\n| Category | finance-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nCalculated on your device with monthly schedules of up to 1200 months and amounts up to 1000000000000, or less at 4 to 6 decimal places.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `balance` | Card balance to transfer | text | \"6000\" |  |\n| `currentApr` | Current card APR (%) | text | \"22.99\" |  |\n| `payment` | Monthly payment | text | \"250\" |  |\n| `feePercent` | Transfer fee (% of balance) | text | \"3\" |  |\n| `feeMinimum` | Minimum transfer fee | text | \"5\" |  |\n| `feeCap` | Maximum transfer fee | text | \"\" |  |\n| `promoApr` | Promotional APR (%) | text | \"0\" |  |\n| `promoMonths` | Promotional months | text | \"18\" |  |\n| `revertApr` | APR after the promotion (%) | text | \"24.99\" |  |\n| `decimals` | Decimal places in amounts | select | \"2\" | Allowed: 2, 0, 1, 3, 4, 5, 6 |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nBalances, payments and fees up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), APRs from 0 to 100 percent, promotional periods from 1 to 120 months and schedules of up to 1200 months. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month for both options.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"balance-transfer-calculator\",\n  \"category\": \"finance-tools\",\n  \"built\": true,\n  \"requirements\": \"Balances, payments and fees up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), APRs from 0 to 100 percent, promotional periods from 1 to 120 months and schedules of up to 1200 months. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month for both options.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"balance\",\n        \"label\": \"Card balance to transfer\",\n        \"value\": \"6000\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"The balance you would move to the new card.\"\n      },\n      {\n        \"key\": \"currentApr\",\n        \"label\": \"Current card APR (%)\",\n        \"value\": \"22.99\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100. Used for the stay option.\"\n      },\n      {\n        \"key\": \"payment\",\n        \"label\": \"Monthly payment\",\n        \"value\": \"250\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"The same payment is used for both options. It must be more than one month of interest at each APR.\"\n      },\n      {\n        \"key\": \"feePercent\",\n        \"label\": \"Transfer fee (% of balance)\",\n        \"value\": \"3\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100. Enter 0 if the fee is only a fixed amount.\"\n      },\n      {\n        \"key\": \"feeMinimum\",\n        \"label\": \"Minimum transfer fee\",\n        \"value\": \"5\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"The fee is never less than this amount. Leave 0 if none.\"\n      },\n      {\n        \"key\": \"feeCap\",\n        \"label\": \"Maximum transfer fee\",\n        \"value\": \"\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"Leave blank when the fee has no cap.\"\n      },\n      {\n        \"key\": \"promoApr\",\n        \"label\": \"Promotional APR (%)\",\n        \"value\": \"0\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100. Often 0 during the offer.\"\n      },\n      {\n        \"key\": \"promoMonths\",\n        \"label\": \"Promotional months\",\n        \"value\": \"18\",\n        \"type\": \"text\",\n        \"maxLength\": 10,\n        \"help\": \"Whole months from 1 to 120.\"\n      },\n      {\n        \"key\": \"revertApr\",\n        \"label\": \"APR after the promotion (%)\",\n        \"value\": \"24.99\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100. Applies to any balance left when the offer ends.\"\n      },\n      {\n        \"key\": \"decimals\",\n        \"label\": \"Decimal places in amounts\",\n        \"value\": \"2\",\n        \"type\": \"select\",\n        \"values\": [\n          \"2\",\n          \"0\",\n          \"1\",\n          \"3\",\n          \"4\",\n          \"5\",\n          \"6\"\n        ]\n      }\n    ],\n    \"registrationFamily\": \"personal-balance-schedules\",\n    \"input\": false,\n    \"note\": \"Calculated on your device with monthly schedules of up to 1200 months and amounts up to 1000000000000, or less at 4 to 6 decimal places.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Card balance, rates and fees\",\n      \"placeholder\": \"Enter values in the form fields\",\n      \"help\": \"This calculator reads the form fields below; there is no text box. Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCompare keeping a credit card balance where it is with moving it to a promotional card. See the transfer fee, the interest on each path, the payoff month and what the transfer saves or costs with the same monthly payment.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Balance transfer calculator\n\n1. Enter the card balance, its current APR and the monthly payment you plan to make.\n2. Enter the transfer fee as a percentage, with the minimum fee and any maximum.\n3. Enter the promotional APR, how many months it lasts and the APR that applies after it.\n4. Review the fee, interest, payoff months and savings, then download the JSON report or the monthly CSV.\n\n## Useful next steps\n\n- [Loan payment](https://happytails.ai/en/finance-tools/loan-payment/) ([Markdown](https://happytails.ai/en/finance-tools/loan-payment.md))\n\n- [Simple interest calculator](https://happytails.ai/en/finance-tools/simple-interest/) ([Markdown](https://happytails.ai/en/finance-tools/simple-interest.md))\n\n- [Compound interest](https://happytails.ai/en/finance-tools/compound-interest/) ([Markdown](https://happytails.ai/en/finance-tools/compound-interest.md))\n\n## Method\n\nBoth options start from the same balance and use the same payment each month. Each month the interest is the balance times the APR divided by 12, rounded to the cent, and the payment is taken after interest. An APR is the periodic rate times the number of periods in a year under Regulation Z, 12 CFR 1026.14(b) (Consumer Financial Protection Bureau, checked 16 October 2026). On the transfer path the fee is added to the balance in the first month, the promotional APR applies for the months you enter and the later APR applies to anything left.\n\n### Transfer fee\n\nThe fee is your percentage of the balance, limited by the maximum fee when you enter one, and never less than the minimum fee. Card issuers disclose these fees in the account opening table, so copy the figures from the offer.\n\n### Assumptions and limits\n\nInterest is worked out monthly on the balance, while many issuers use a daily balance method, so results can differ by small amounts. Deferred-interest promotions, new purchases, late fees and penalty rates are not modelled. The payment must be larger than one month of interest at each APR so the balance goes down every month: at the current APR on the balance, at the promotional APR on the balance plus the fee and at the later APR on the balance left when the promotion ends. Each option is modelled for up to 1200 months. This is a calculation from your own numbers, not financial advice.\n"
}