{"id":8534,"date":"2026-09-29T14:19:00","date_gmt":"2026-09-29T19:19:00","guid":{"rendered":"https:\/\/tomo.com\/blog\/?p=8534"},"modified":"2026-09-29T14:21:35","modified_gmt":"2026-09-29T19:21:35","slug":"rocket-mortgage-vs-better","status":"publish","type":"post","link":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/","title":{"rendered":"Rocket Mortgage vs. Better"},"content":{"rendered":"\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Key Takeaways<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rocket Mortgage is the bigger lender, with more loan types and coverage in<a href=\"https:\/\/www.sec.gov\/Archives\/edgar\/data\/933136\/000119312525068946\/d890918d425.htm\"> all 50 states<\/a>.<\/li>\n\n\n\n<li>Better is a smaller online lender that also offers HELOCs.<\/li>\n\n\n\n<li>On lender fees, Better beats Rocket Mortgage: on 2025 home purchase loans, the median origination charge beyond discount points on residential purchase mortgages was $1,050 at Rocket Mortgage and $995 at Better, according to federal HMDA data.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">That leaves three questions: which loan you need, where you&#8217;re buying, and what each lender quotes you on the same day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Who&#8217;s in the game<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Rocket Mortgage<\/strong> was founded by Dan Gilbert in 1985 and is based in Detroit. It closed more than 7.5 million mortgages, and HMDA data shows it originated 326,174 first-lien loans worth about $106.6 billion in 2025.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Better<\/strong> has been lending since 2016 and was the first fintech to fund more than $110 billion in loans. HMDA data shows it originated 8,671 first-lien loans worth about $3.6 billion in 2025.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Tomo Mortgage<\/strong> was founded in 2020 by former Zillow executives, including co-founder Greg Schwartz. It lends in<a href=\"https:\/\/tomo.com\/mortgage\/faq\"> 40 states and DC<\/a>, and HMDA data shows it originated 3,501 first-lien home purchase loans worth about $1.5 billion in 2025.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rocket Mortgage vs. Better at a glance<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><strong>Rocket Mortgage<\/strong><\/td><td><strong>Better<\/strong><\/td><td><strong>Tomo Mortgage<\/strong><\/td><\/tr><tr><td>Where it lends<\/td><td>50 states + DC<\/td><td>50 states + DC<\/td><td><a href=\"https:\/\/tomo.com\/mortgage\/faq\">40 states + DC<\/a><\/td><\/tr><tr><td>First-lien loans originated, 2025 (HMDA)<\/td><td>326,174 (about $106.6 billion)<\/td><td>8,671 (about $3.6 billion)<\/td><td>3,501 (about $1.5 billion)<\/td><\/tr><tr><td>Average first-lien home purchase loan, 2025 (HMDA)<\/td><td>$373,338<\/td><td>$445,203<\/td><td>$427,331<\/td><\/tr><tr><td>Published lender fee<\/td><td>Not published<\/td><td><a href=\"https:\/\/better.com\/b\/compare-lenders\">$0<\/a><\/td><td><a href=\"https:\/\/tomo.com\/mortgage\/faq\">$0<\/a><\/td><\/tr><tr><td>Median origination charge beyond discount points, 2025 (HMDA)<\/td><td>$1,050<\/td><td>$995<\/td><td>$0<\/td><\/tr><tr><td>Median total loan costs, 2025 (HMDA)<\/td><td>$6,859<\/td><td>$6,772<\/td><td>$4,298<\/td><\/tr><tr><td>Time to close<\/td><td>Not published<\/td><td>As little as three weeks<\/td><td><a href=\"https:\/\/tomo.com\/mortgage\/faq\">As little as 12\u201321 days<\/a><\/td><\/tr><tr><td>Price match<\/td><td>Not published<\/td><td>Offered; terms not published<\/td><td><a href=\"https:\/\/tomo.com\/mortgage\/terms\/#price-match-terms\">Yes, with published terms<\/a><\/td><\/tr><tr><td>Home equity options<\/td><td>Home equity loan, cash-out refinance<\/td><td>HELOC, home equity loan<\/td><td><a href=\"https:\/\/tomo.com\/mortgage\/products\/refinance\">Cash-out refinance<\/a><\/td><\/tr><tr><td>Trustpilot rating<\/td><td>4.4 (41,956 reviews)<\/td><td>4.2 (2,081 reviews)<\/td><td>4.3 (271 reviews)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Verified September 23, 2026. HMDA figures are from 2025 FFIEC data and cover first-lien originations; the average loan and fee rows cover first-lien, closed-end home purchase loans. Each lender&#8217;s loan mix differs, so medians describe typical pricing, not a quote. Trustpilot ratings and review counts as of September 23, 2026.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/tomo.com\/mortgage\/rates\">Get a personalized rate quote<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to judge mortgage lenders<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Lender Fees<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Think of the rate as the sticker price and points plus lender fees as the rest of the receipt. Lender fees show up in Section A of your Loan Estimate and are due at closing, on top of any points you choose to buy.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">On 2025 home purchase loans (referencing HMDA data), the median origination charge beyond discount points was $1,050 at Rocket Mortgage, $995 at Better, and $0 at Tomo Mortgage. Median total loan costs, which also include third-party charges, were $6,859, $6,772, and $4,298.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Speed and preapproval<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A late closing can put your rate lock at risk: if a lock expires, you could lose the rate or pay to extend it.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Tomo Mortgage can close in as little as 12 to 21 days. Better says it can close in as little as three weeks. Rocket Mortgage doesn&#8217;t publish closing times or an on-time rate.&nbsp;<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Rocket Mortgage does offer a Verified Approval, where an underwriter verifies your income, assets, and credit up front; it pays $1,000 if an approved loan fails to close because of a Rocket Mortgage error, with conditions. Rocket Mortgage and Better both let you check rates online in about three minutes without affecting your credit.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Loan options and where you can borrow<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">The lowest price only helps if the lender makes your kind of loan where you&#8217;re buying.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Rocket Mortgage lends in all 50 states and offers bridge loans, home equity loans, and its ONE+ low-down-payment program; it doesn&#8217;t offer USDA loans. Better is licensed in all 50 states and DC and offers HELOCs and home equity loans alongside conforming, FHA, VA, and jumbo mortgages. Tomo Mortgage lends in 40 states and DC and offers<a href=\"https:\/\/tomo.com\/mortgage\/products\/conventional\"> conventional<\/a>,<a href=\"https:\/\/tomo.com\/mortgage\/products\/fha\"> FHA<\/a>,<a href=\"https:\/\/tomo.com\/mortgage\/products\/va\"> VA<\/a>, and<a href=\"https:\/\/tomo.com\/mortgage\/products\/jumbo\"> jumbo<\/a> loans plus<a href=\"https:\/\/tomo.com\/mortgage\/products\/refinance\"> refinancing<\/a>, including cash-out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What the same loan costs at Rocket Mortgage vs. Tomo Mortgage<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">On the same loan, priced the same afternoon, Tomo Mortgage came out about $13,400 less than Rocket Mortgage over the first 10 years, and about $32,000 less over 30 years.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">The scenario is Rocket Mortgage&#8217;s published Texas example: a $350,000, 30-year fixed loan to buy a $437,500 single-family home with 20% down, for a borrower with a 740 credit score.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><strong>Rocket Mortgage*<\/strong><\/td><td><strong>Tomo Mortgage<\/strong><\/td><\/tr><tr><td>Interest rate<\/td><td>7.250%<\/td><td>6.875%<\/td><\/tr><tr><td>APR<\/td><td>7.511%<\/td><td>7.020%<\/td><\/tr><tr><td>Points<\/td><td>1.500 ($5,250)<\/td><td>1.458 ($5,103)<\/td><\/tr><tr><td>Lender fees<\/td><td>Unknown<\/td><td>$0<\/td><\/tr><tr><td>Upfront cost (points + lender fees)<\/td><td>$5,250 (plus any unpublished lender fees)<\/td><td>$5,103<\/td><\/tr><tr><td>Monthly principal and interest<\/td><td>$2,388<\/td><td>$2,299<\/td><\/tr><tr><td>Total cost after 5 years<\/td><td>$128,833<\/td><td>$122,075<\/td><\/tr><tr><td>Total cost after 10 years<\/td><td>$243,850<\/td><td>$230,467<\/td><\/tr><tr><td>Total cost after 30 years<\/td><td>$514,792<\/td><td>$482,833<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">*Rocket Mortgage doesn&#8217;t publish its lender fees, so its totals include points and interest only.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<!-- Tomo Mortgage: Rocket Mortgage vs. Tomo Mortgage cost chart. Paste into a WordPress Custom HTML block. -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n.tmc {\n  --ink:#161616; --ink-2:#6c6865; --ink-3:#807b78; --page:#f2f1f0; --card:#ffffff; --card-edge:#e9e8e7;\n  --grid:#e9e8e7; --axis:#d3d1cf; --teal:#0f807d; --teal-deep:#084645; --teal-wash:#e7f2f2; --teal-mist:#f3f9f8;\n  --rival:#948f8b; --coral:#fb7564; --chip-ink:#ffffff; --band:#f3f9f8; --bar-dim:#e7f2f2;\n  font-family:\"Plus Jakarta Sans\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  font-weight:500; color:var(--ink); line-height:1.4; -webkit-font-smoothing:antialiased;\n  max-width:960px; margin:32px auto; text-align:left;\n}\n.tmc, .tmc *, .tmc *::before, .tmc *::after { box-sizing:border-box; }\n.tmc p, .tmc ul, .tmc li, .tmc figure, .tmc figcaption, .tmc table { margin:0; padding:0; }\n.tmc ul { list-style:none; }\n.tmc li::before, .tmc li::marker { content:none; }\n.tmc svg { max-width:none; }\n.tmc .card { background:var(--card); border:1px solid var(--card-edge); border-radius:24px; padding:32px 32px 24px; margin:0; }\n.tmc .head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; }\n.tmc .lead { flex:1 1 380px; max-width:540px; min-width:0; }\n.tmc .figure { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 8px; }\n.tmc .amount { font-size:clamp(40px,7vw,60px); line-height:1; font-weight:600; letter-spacing:-0.02em; color:var(--teal-deep); font-variant-numeric:tabular-nums; }\n.tmc .amount-note { font-size:18px; line-height:28px; color:var(--ink); font-weight:600; }\n.tmc .sub { font-size:16px; line-height:24px; color:var(--ink-2); }\n.tmc .sub strong { color:var(--ink); font-weight:600; }\n.tmc .horizon { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }\n.tmc .horizon-label { font-size:14px; line-height:20px; color:var(--ink-2); }\n.tmc .seg { display:inline-flex; padding:4px; gap:4px; background:var(--page); border-radius:9999px; }\n.tmc .seg button {\n  appearance:none; -webkit-appearance:none; border:0; box-shadow:none; cursor:pointer; margin:0; min-height:0; width:auto;\n  font:inherit; font-size:14px; line-height:20px; font-weight:600; letter-spacing:normal; text-transform:none; text-decoration:none;\n  color:var(--ink-2); background:transparent; padding:8px 16px; border-radius:9999px;\n  transition:background-color .18s ease, color .18s ease;\n}\n.tmc .seg button:hover { background:transparent; color:var(--ink); }\n.tmc .seg button[aria-checked=\"true\"], .tmc .seg button[aria-checked=\"true\"]:hover { background:var(--teal); color:var(--chip-ink); }\n.tmc .seg button:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }\n.tmc .legend { display:flex; gap:32px; flex-wrap:wrap; margin:28px 0 8px; }\n.tmc .legend li { flex:1 1 280px; display:grid; grid-template-columns:28px 1fr; column-gap:10px; align-items:start; }\n.tmc .swatch { height:4px; border-radius:4px; margin-top:9px; }\n.tmc .swatch.tomo { background:var(--teal); }\n.tmc .swatch.rival { background:var(--rival); }\n.tmc .legend .name { font-size:16px; line-height:22px; font-weight:600; }\n.tmc .legend .spec { grid-column:2; font-size:13px; line-height:18px; color:var(--ink-2); font-weight:500; }\n.tmc .chart { position:relative; margin-top:8px; touch-action:pan-y; }\n.tmc .chart svg { display:block; width:100%; height:auto; overflow:visible; }\n.tmc .chart:focus-visible { outline:2px solid var(--teal); outline-offset:6px; border-radius:12px; }\n.tmc .tick { font-size:12px; fill:var(--ink-3); font-weight:500; font-variant-numeric:tabular-nums; }\n.tmc .end-name { font-size:12px; font-weight:600; }\n.tmc .end-val { font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; }\n.tmc .strip-label { font-size:12px; fill:var(--ink-3); font-weight:600; }\n.tmc .chip-text { font-size:13px; font-weight:600; fill:var(--chip-ink); font-variant-numeric:tabular-nums; }\n.tmc .tip { position:absolute; top:0; left:0; pointer-events:none; background:var(--card); border:1px solid var(--card-edge);\n  border-radius:12px; padding:12px 14px; min-width:212px; box-shadow:0 8px 24px rgba(6,51,50,.10);\n  font-size:13px; line-height:18px; opacity:0; transform:translateY(4px); transition:opacity .12s ease, transform .12s ease; }\n.tmc .tip.on { opacity:1; transform:none; }\n.tmc .tip .yr { font-weight:600; margin-bottom:8px; color:var(--ink); }\n.tmc .tip .row { display:flex; justify-content:space-between; gap:16px; color:var(--ink-2); }\n.tmc .tip .row b { color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }\n.tmc .tip .gap { margin-top:8px; padding-top:8px; border-top:1px solid var(--card-edge); color:var(--teal-deep); font-weight:600; }\n.tmc .dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:1px; }\n.tmc .fine { margin:16px 0 0; padding-top:16px; border-top:1px solid var(--card-edge); font-size:12px; line-height:18px; color:var(--ink-2); max-width:78ch; font-style:normal; text-align:left; }\n.tmc .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }\n@media (max-width:640px) {\n  .tmc .card { padding:22px 18px 18px; border-radius:20px; }\n  .tmc .legend { gap:16px; margin-top:22px; }\n  .tmc .amount-note { font-size:16px; line-height:24px; }\n}\n@media (prefers-reduced-motion: reduce) { .tmc * { transition:none !important; animation:none !important; } }\n<\/style>\n<div class=\"tmc\" id=\"tmc-root\">\n  <figure class=\"card\">\n    <div class=\"head\">\n      <div class=\"lead\">\n        <p class=\"figure\">\n          <span class=\"amount\" id=\"tmc-amount\">$13,383<\/span>\n          <span class=\"amount-note\" id=\"tmc-amountNote\">lower over the first 10 years<\/span>\n        <\/p>\n        <p class=\"sub\" id=\"tmc-sub\">Same $350,000 loan, priced the same afternoon. Tomo Mortgage came out lower than Rocket Mortgage at every point, and <strong>$31,959 lower over 30 years<\/strong>.<\/p>\n      <\/div>\n      <div class=\"horizon\">\n        <span class=\"horizon-label\" id=\"tmc-hzLabel\">If you keep the loan for<\/span>\n        <div class=\"seg\" role=\"radiogroup\" aria-labelledby=\"tmc-hzLabel\">\n          <button type=\"button\" role=\"radio\" aria-checked=\"false\" data-y=\"5\">5 years<\/button>\n          <button type=\"button\" role=\"radio\" aria-checked=\"true\" data-y=\"10\">10 years<\/button>\n          <button type=\"button\" role=\"radio\" aria-checked=\"false\" data-y=\"30\">30 years<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <ul class=\"legend\" aria-label=\"Legend\">\n      <li><span class=\"swatch tomo\" aria-hidden=\"true\"><\/span><span class=\"name\">Tomo Mortgage<\/span><span class=\"spec\">6.875% rate, 7.020% APR, 1.458 points ($5,103), $0 lender fees<\/span><\/li>\n      <li><span class=\"swatch rival\" aria-hidden=\"true\"><\/span><span class=\"name\">Rocket Mortgage<\/span><span class=\"spec\">7.250% rate, 7.511% APR, 1.5 points ($5,250), lender fees not published<\/span><\/li>\n    <\/ul>\n\n    <div class=\"chart\" id=\"tmc-chart\" tabindex=\"0\" role=\"img\"\n         aria-label=\"Line chart of cumulative loan cost over 30 years. The Tomo Mortgage line stays below the Rocket Mortgage line in every year, ending at $482,833 versus $514,792. Use the left and right arrow keys to read each year.\">\n      <svg id=\"tmc-svg\" aria-hidden=\"true\" viewBox=\"0 0 894 514\"><defs><linearGradient id=\"tmc-g4\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0%\" stop-opacity=\".18\" style=\"stop-color: var(--teal);\"><\/stop><stop offset=\"100%\" stop-opacity=\"0\" style=\"stop-color: var(--teal);\"><\/stop><\/linearGradient><clipPath id=\"tmc-ci4\"><rect x=\"0\" y=\"0\" width=\"291.3\" height=\"514\"><\/rect><\/clipPath><clipPath id=\"tmc-co4\"><rect x=\"291.3\" y=\"0\" width=\"602.6\" height=\"514\"><\/rect><\/clipPath><\/defs><g><line x1=\"56\" x2=\"762\" y1=\"400\" y2=\"400\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--axis);\"><\/line><text x=\"46\" y=\"404\" text-anchor=\"end\" class=\"tick\">$0<\/text><line x1=\"56\" x2=\"762\" y1=\"330.1\" y2=\"330.1\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--grid);\"><\/line><text x=\"46\" y=\"334.1\" text-anchor=\"end\" class=\"tick\">$100K<\/text><line x1=\"56\" x2=\"762\" y1=\"260.3\" y2=\"260.3\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--grid);\"><\/line><text x=\"46\" y=\"264.3\" text-anchor=\"end\" class=\"tick\">$200K<\/text><line x1=\"56\" x2=\"762\" y1=\"190.5\" y2=\"190.5\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--grid);\"><\/line><text x=\"46\" y=\"194.5\" text-anchor=\"end\" class=\"tick\">$300K<\/text><line x1=\"56\" x2=\"762\" y1=\"120.7\" y2=\"120.7\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--grid);\"><\/line><text x=\"46\" y=\"124.7\" text-anchor=\"end\" class=\"tick\">$400K<\/text><line x1=\"56\" x2=\"762\" y1=\"50.9\" y2=\"50.9\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--grid);\"><\/line><text x=\"46\" y=\"54.9\" text-anchor=\"end\" class=\"tick\">$500K<\/text><text x=\"56\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Close<\/text><text x=\"173.6\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 5<\/text><text x=\"291.3\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 10<\/text><text x=\"409\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 15<\/text><text x=\"526.6\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 20<\/text><text x=\"644.3\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 25<\/text><text x=\"762\" y=\"496\" text-anchor=\"middle\" class=\"tick\">Yr 30<\/text><\/g><rect x=\"56\" y=\"16\" width=\"235.3\" height=\"384\" style=\"fill: var(--band);\"><\/rect><path d=\"M56.0,396.4C63.8,390.8 71.6,385.2 79.5,379.7C87.3,374.1 95.2,368.6 103.0,363.1C110.9,357.6 118.7,352.2 126.6,346.8C134.4,341.4 142.2,336.0 150.1,330.6C157.9,325.3 165.8,320.0 173.6,314.7C181.5,309.5 189.3,304.2 197.2,299.0C205.0,293.9 212.8,288.7 220.7,283.6C228.5,278.5 236.4,273.5 244.2,268.5C252.1,263.5 259.9,258.5 267.8,253.6C275.6,248.7 283.4,243.8 291.3,239.0C299.1,234.3 307.0,229.5 314.8,224.8C322.7,220.2 330.5,215.5 338.4,211.0C346.2,206.4 354.0,201.9 361.9,197.5C369.7,193.1 377.6,188.7 385.4,184.4C393.3,180.2 401.1,175.9 409.0,171.8C416.8,167.7 424.6,163.6 432.5,159.7C440.3,155.7 448.2,151.8 456.0,148.0C463.9,144.2 471.7,140.5 479.6,136.9C487.4,133.3 495.2,129.8 503.1,126.4C510.9,123.0 518.8,119.6 526.6,116.5C534.5,113.3 542.3,110.2 550.2,107.2C558.0,104.2 565.8,101.4 573.7,98.7C581.5,96.0 589.4,93.4 597.2,90.9C605.1,88.4 612.9,86.1 620.8,83.9C628.6,81.8 636.4,79.7 644.3,77.9C652.1,76.0 660.0,74.3 667.8,72.7C675.7,71.2 683.5,69.8 691.4,68.6C699.2,67.3 707.0,66.3 714.9,65.5C722.7,64.6 730.6,64.0 738.4,63.5C746.3,63.1 754.1,63.1 762.0,62.8L762,400L56,400Z\" fill=\"url(#tmc-g4)\" clip-path=\"url(#tmc-ci4)\"><\/path><path d=\"M56.0,396.3C63.8,390.4 71.6,384.5 79.5,378.7C87.3,372.8 95.2,367.0 103.0,361.2C110.9,355.4 118.7,349.6 126.6,343.9C134.4,338.2 142.2,332.5 150.1,326.9C157.9,321.2 165.8,315.6 173.6,310.0C181.5,304.4 189.3,298.9 197.2,293.4C205.0,287.9 212.8,282.4 220.7,277.0C228.5,271.6 236.4,266.3 244.2,261.0C252.1,255.7 259.9,250.4 267.8,245.2C275.6,240.0 283.4,234.8 291.3,229.7C299.1,224.6 307.0,219.6 314.8,214.6C322.7,209.6 330.5,204.7 338.4,199.8C346.2,194.9 354.0,190.2 361.9,185.4C369.7,180.7 377.6,176.1 385.4,171.5C393.3,166.9 401.1,162.4 409.0,158.0C416.8,153.6 424.6,149.2 432.5,145.0C440.3,140.7 448.2,136.6 456.0,132.5C463.9,128.4 471.7,124.4 479.6,120.6C487.4,116.7 495.2,112.9 503.1,109.2C510.9,105.6 518.8,102.0 526.6,98.6C534.5,95.1 542.3,91.8 550.2,88.6C558.0,85.4 565.8,82.3 573.7,79.4C581.5,76.5 589.4,73.7 597.2,71.0C605.1,68.3 612.9,65.8 620.8,63.5C628.6,61.1 636.4,58.9 644.3,56.9C652.1,54.8 660.0,53.0 667.8,51.3C675.7,49.6 683.5,48.1 691.4,46.8C699.2,45.4 707.0,44.3 714.9,43.4C722.7,42.5 730.6,41.8 738.4,41.3C746.3,40.8 754.1,40.8 762.0,40.5\" fill=\"none\" stroke-width=\"2.5\" stroke-linecap=\"round\" opacity=\".35\" clip-path=\"url(#tmc-co4)\" style=\"stroke: var(--rival);\"><\/path><path d=\"M56.0,396.3C63.8,390.4 71.6,384.5 79.5,378.7C87.3,372.8 95.2,367.0 103.0,361.2C110.9,355.4 118.7,349.6 126.6,343.9C134.4,338.2 142.2,332.5 150.1,326.9C157.9,321.2 165.8,315.6 173.6,310.0C181.5,304.4 189.3,298.9 197.2,293.4C205.0,287.9 212.8,282.4 220.7,277.0C228.5,271.6 236.4,266.3 244.2,261.0C252.1,255.7 259.9,250.4 267.8,245.2C275.6,240.0 283.4,234.8 291.3,229.7C299.1,224.6 307.0,219.6 314.8,214.6C322.7,209.6 330.5,204.7 338.4,199.8C346.2,194.9 354.0,190.2 361.9,185.4C369.7,180.7 377.6,176.1 385.4,171.5C393.3,166.9 401.1,162.4 409.0,158.0C416.8,153.6 424.6,149.2 432.5,145.0C440.3,140.7 448.2,136.6 456.0,132.5C463.9,128.4 471.7,124.4 479.6,120.6C487.4,116.7 495.2,112.9 503.1,109.2C510.9,105.6 518.8,102.0 526.6,98.6C534.5,95.1 542.3,91.8 550.2,88.6C558.0,85.4 565.8,82.3 573.7,79.4C581.5,76.5 589.4,73.7 597.2,71.0C605.1,68.3 612.9,65.8 620.8,63.5C628.6,61.1 636.4,58.9 644.3,56.9C652.1,54.8 660.0,53.0 667.8,51.3C675.7,49.6 683.5,48.1 691.4,46.8C699.2,45.4 707.0,44.3 714.9,43.4C722.7,42.5 730.6,41.8 738.4,41.3C746.3,40.8 754.1,40.8 762.0,40.5\" fill=\"none\" stroke-width=\"3\" stroke-linecap=\"round\" clip-path=\"url(#tmc-ci4)\" style=\"stroke: var(--rival);\"><\/path><path d=\"M56.0,396.4C63.8,390.8 71.6,385.2 79.5,379.7C87.3,374.1 95.2,368.6 103.0,363.1C110.9,357.6 118.7,352.2 126.6,346.8C134.4,341.4 142.2,336.0 150.1,330.6C157.9,325.3 165.8,320.0 173.6,314.7C181.5,309.5 189.3,304.2 197.2,299.0C205.0,293.9 212.8,288.7 220.7,283.6C228.5,278.5 236.4,273.5 244.2,268.5C252.1,263.5 259.9,258.5 267.8,253.6C275.6,248.7 283.4,243.8 291.3,239.0C299.1,234.3 307.0,229.5 314.8,224.8C322.7,220.2 330.5,215.5 338.4,211.0C346.2,206.4 354.0,201.9 361.9,197.5C369.7,193.1 377.6,188.7 385.4,184.4C393.3,180.2 401.1,175.9 409.0,171.8C416.8,167.7 424.6,163.6 432.5,159.7C440.3,155.7 448.2,151.8 456.0,148.0C463.9,144.2 471.7,140.5 479.6,136.9C487.4,133.3 495.2,129.8 503.1,126.4C510.9,123.0 518.8,119.6 526.6,116.5C534.5,113.3 542.3,110.2 550.2,107.2C558.0,104.2 565.8,101.4 573.7,98.7C581.5,96.0 589.4,93.4 597.2,90.9C605.1,88.4 612.9,86.1 620.8,83.9C628.6,81.8 636.4,79.7 644.3,77.9C652.1,76.0 660.0,74.3 667.8,72.7C675.7,71.2 683.5,69.8 691.4,68.6C699.2,67.3 707.0,66.3 714.9,65.5C722.7,64.6 730.6,64.0 738.4,63.5C746.3,63.1 754.1,63.1 762.0,62.8\" fill=\"none\" stroke-width=\"2.5\" stroke-linecap=\"round\" opacity=\".35\" clip-path=\"url(#tmc-co4)\" style=\"stroke: var(--teal);\"><\/path><path d=\"M56.0,396.4C63.8,390.8 71.6,385.2 79.5,379.7C87.3,374.1 95.2,368.6 103.0,363.1C110.9,357.6 118.7,352.2 126.6,346.8C134.4,341.4 142.2,336.0 150.1,330.6C157.9,325.3 165.8,320.0 173.6,314.7C181.5,309.5 189.3,304.2 197.2,299.0C205.0,293.9 212.8,288.7 220.7,283.6C228.5,278.5 236.4,273.5 244.2,268.5C252.1,263.5 259.9,258.5 267.8,253.6C275.6,248.7 283.4,243.8 291.3,239.0C299.1,234.3 307.0,229.5 314.8,224.8C322.7,220.2 330.5,215.5 338.4,211.0C346.2,206.4 354.0,201.9 361.9,197.5C369.7,193.1 377.6,188.7 385.4,184.4C393.3,180.2 401.1,175.9 409.0,171.8C416.8,167.7 424.6,163.6 432.5,159.7C440.3,155.7 448.2,151.8 456.0,148.0C463.9,144.2 471.7,140.5 479.6,136.9C487.4,133.3 495.2,129.8 503.1,126.4C510.9,123.0 518.8,119.6 526.6,116.5C534.5,113.3 542.3,110.2 550.2,107.2C558.0,104.2 565.8,101.4 573.7,98.7C581.5,96.0 589.4,93.4 597.2,90.9C605.1,88.4 612.9,86.1 620.8,83.9C628.6,81.8 636.4,79.7 644.3,77.9C652.1,76.0 660.0,74.3 667.8,72.7C675.7,71.2 683.5,69.8 691.4,68.6C699.2,67.3 707.0,66.3 714.9,65.5C722.7,64.6 730.6,64.0 738.4,63.5C746.3,63.1 754.1,63.1 762.0,62.8\" fill=\"none\" stroke-width=\"3\" stroke-linecap=\"round\" clip-path=\"url(#tmc-ci4)\" style=\"stroke: var(--teal);\"><\/path><line x1=\"291.3\" x2=\"291.3\" y1=\"16\" y2=\"400\" stroke-width=\"1\" stroke-dasharray=\"3 4\" opacity=\".6\" style=\"stroke: var(--teal);\"><\/line><path d=\"M291.3,229.7H297.3V239.0H291.3\" fill=\"none\" stroke-width=\"1.5\" style=\"stroke: var(--teal-deep);\"><\/path><rect x=\"305.3\" y=\"220.4\" width=\"122.8\" height=\"28\" rx=\"14\" style=\"fill: var(--teal-deep);\"><\/rect><text x=\"366.7\" y=\"238.9\" text-anchor=\"middle\" class=\"chip-text\">$13,383 lower<\/text><circle cx=\"291.3\" cy=\"229.7\" r=\"5\" stroke-width=\"2.5\" style=\"fill: var(--card); stroke: var(--rival);\"><\/circle><circle cx=\"291.3\" cy=\"239.0\" r=\"5.5\" stroke-width=\"2\" style=\"fill: var(--teal); stroke: var(--card);\"><\/circle><line x1=\"56\" x2=\"762\" y1=\"474\" y2=\"474\" stroke-width=\"1\" shape-rendering=\"crispEdges\" style=\"stroke: var(--axis);\"><\/line><text x=\"46\" y=\"450\" text-anchor=\"end\" class=\"strip-label\">Gap<\/text><rect x=\"73.1\" y=\"471.7\" width=\"12.7\" height=\"2.2\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"96.6\" y=\"469.6\" width=\"12.7\" height=\"4.3\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"120.2\" y=\"467.5\" width=\"12.7\" height=\"6.4\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"143.7\" y=\"465.5\" width=\"12.7\" height=\"8.4\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"167.2\" y=\"463.4\" width=\"12.7\" height=\"10.5\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"190.8\" y=\"461.3\" width=\"12.7\" height=\"12.6\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"214.3\" y=\"459.2\" width=\"12.7\" height=\"14.7\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"237.8\" y=\"457.1\" width=\"12.7\" height=\"16.8\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"261.4\" y=\"455.1\" width=\"12.7\" height=\"18.8\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"284.9\" y=\"453.0\" width=\"12.7\" height=\"20.9\" rx=\"2\" style=\"fill: var(--teal-deep);\"><\/rect><rect x=\"308.4\" y=\"451.0\" width=\"12.7\" height=\"22.9\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"332.0\" y=\"448.9\" width=\"12.7\" height=\"25.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"355.5\" y=\"446.9\" width=\"12.7\" height=\"27.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"379.0\" y=\"444.9\" width=\"12.7\" height=\"29.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"402.6\" y=\"443.0\" width=\"12.7\" height=\"30.9\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"426.1\" y=\"441.1\" width=\"12.7\" height=\"32.8\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"449.6\" y=\"439.2\" width=\"12.7\" height=\"34.7\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"473.2\" y=\"437.4\" width=\"12.7\" height=\"36.5\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"496.7\" y=\"435.6\" width=\"12.7\" height=\"38.3\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"520.2\" y=\"433.9\" width=\"12.7\" height=\"40.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"543.8\" y=\"432.3\" width=\"12.7\" height=\"41.6\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"567.3\" y=\"430.8\" width=\"12.7\" height=\"43.1\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"590.8\" y=\"429.4\" width=\"12.7\" height=\"44.5\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"614.4\" y=\"428.1\" width=\"12.7\" height=\"45.8\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"637.9\" y=\"426.9\" width=\"12.7\" height=\"47.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"661.4\" y=\"425.9\" width=\"12.7\" height=\"48.0\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"685.0\" y=\"425.1\" width=\"12.7\" height=\"48.8\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"708.5\" y=\"424.5\" width=\"12.7\" height=\"49.4\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"732.0\" y=\"424.1\" width=\"12.7\" height=\"49.8\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><rect x=\"755.6\" y=\"424\" width=\"12.7\" height=\"50\" rx=\"2\" style=\"fill: var(--bar-dim);\"><\/rect><text x=\"778\" y=\"470\" class=\"end-val\" style=\"fill: var(--teal-deep);\">$31,959<\/text><text x=\"778\" y=\"451\" class=\"end-name\" style=\"fill: var(--ink-3);\">Gap at year 30<\/text><line x1=\"291.3\" x2=\"291.3\" y1=\"414\" y2=\"474\" stroke-width=\"1\" stroke-dasharray=\"3 4\" opacity=\".6\" style=\"stroke: var(--teal);\"><\/line><text x=\"778\" y=\"23.7\" class=\"end-name\" style=\"fill: var(--ink-3);\">Rocket Mortgage<\/text><text x=\"778\" y=\"42.7\" class=\"end-val\" style=\"fill: var(--ink-2);\">$514,792<\/text><text x=\"778\" y=\"67.7\" class=\"end-name\" style=\"fill: var(--teal);\">Tomo Mortgage<\/text><text x=\"778\" y=\"86.7\" class=\"end-val\" style=\"fill: var(--teal-deep);\">$482,833<\/text><circle cx=\"762\" cy=\"40.5\" r=\"3.5\" opacity=\"0.6\" style=\"fill: var(--rival);\"><\/circle><circle cx=\"762\" cy=\"62.8\" r=\"3.5\" opacity=\"0.6\" style=\"fill: var(--teal);\"><\/circle><\/svg>\n      <div class=\"tip\" id=\"tmc-tip\" aria-hidden=\"true\"><\/div>\n    <\/div>\n    <p class=\"sr-only\" id=\"tmc-live\" aria-live=\"polite\"><\/p>\n\n    <figcaption class=\"fine\">\n      Example only, based on rates captured September 23, 2026. Rocket Mortgage totals exclude lender fees, which it doesn&#8217;t publish. See the loan example footnote for full assumptions and sources.\n    <\/figcaption>\n\n    <table class=\"sr-only\">\n      <caption>Cumulative cost by year<\/caption>\n      <thead><tr><th>Year<\/th><th>Tomo Mortgage<\/th><th>Rocket Mortgage<\/th><\/tr><\/thead>\n      <tbody id=\"tmc-srTable\"><\/tbody>\n    <\/table>\n  <\/figure>\n<\/div>\n<script data-no-optimize=\"1\" data-no-defer=\"1\" data-cfasync=\"false\" nowprocket>\n(function () {\n  \/\/ Year 0 = upfront points + lender fees. Years 1-30 = cumulative points + lender fees + interest.\n  var TOMO = [5103, 29052, 52743, 76157, 99274, 122075, 144535, 166631, 188337, 209626, 230467, 250830, 270680, 289980, 308692, 326774, 344181, 360866, 376776, 391858, 406052, 419296, 431522, 442657, 452624, 461342, 468719, 474663, 479070, 481833, 482833];\n  var ROCKET = [5250, 30514, 55524, 80261, 104705, 128833, 152622, 176047, 199079, 221691, 243850, 265523, 286672, 307259, 327241, 346574, 365208, 383091, 400167, 416375, 431651, 445924, 459119, 471156, 481947, 491399, 499413, 505879, 510682, 513698, 514792];\n  var YMAX = 550000, NS = 'http:\/\/www.w3.org\/2000\/svg';\n\n  var svg = document.getElementById('tmc-svg'), chart = document.getElementById('tmc-chart'), tip = document.getElementById('tmc-tip');\n  var amountEl = document.getElementById('tmc-amount'), noteEl = document.getElementById('tmc-amountNote'), live = document.getElementById('tmc-live');\n  var buttons = Array.prototype.slice.call(document.getElementById('tmc-root').querySelectorAll('.seg button'));\n  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var horizon = 10, scrub = null, geom = null, uid = 0;\n\n  var fmt = function (n) { return '$' + Math.round(n).toLocaleString('en-US'); };\n  var fmtK = function (n) { return n === 0 ? '$0' : '$' + (n \/ 1000) + 'K'; };\n\n  \/\/ sr table\n  var tb = document.getElementById('tmc-srTable');\n  for (var i = 0; i <= 30; i++) { var tr = document.createElement('tr'); tr.innerHTML = '<td>' + i + '<\/td><td>' + fmt(TOMO[i]) + '<\/td><td>' + fmt(ROCKET[i]) + '<\/td>'; tb.appendChild(tr); }\n\n  function el(name, attrs, parent) {\n    var n = document.createElementNS(NS, name);\n    for (var k in attrs) {\n      var val = String(attrs[k]);\n      var isColor = (k === 'fill' || k === 'stroke' || k === 'stop-color') ? val.indexOf('var(') === 0 : false;\n      if (isColor) n.style.setProperty(k, val);\n      else n.setAttribute(k, val);\n    }\n    if (parent) parent.appendChild(n);\n    return n;\n  }\n\n  \/\/ Monotone cubic (Fritsch-Carlson) path through points\n  function monotonePath(pts) {\n    var n = pts.length, dx = [], dy = [], m = [], t = [];\n    for (var i = 0; i < n - 1; i++) { dx[i] = pts[i + 1][0] - pts[i][0]; dy[i] = pts[i + 1][1] - pts[i][1]; m[i] = dy[i] \/ dx[i]; }\n    t[0] = m[0]; t[n - 1] = m[n - 2];\n    for (i = 1; i < n - 1; i++) t[i] = (m[i - 1] * m[i] <= 0) ? 0 : (m[i - 1] + m[i]) \/ 2;\n    for (i = 0; i < n - 1; i++) {\n      if (m[i] === 0) { t[i] = t[i + 1] = 0; continue; }\n      var a = t[i] \/ m[i], b = t[i + 1] \/ m[i], s = a * a + b * b;\n      if (s > 9) { var tau = 3 \/ Math.sqrt(s); t[i] = tau * a * m[i]; t[i + 1] = tau * b * m[i]; }\n    }\n    var d = 'M' + pts[0][0].toFixed(2) + ',' + pts[0][1].toFixed(2);\n    for (i = 0; i < n - 1; i++) {\n      var h = dx[i] \/ 3;\n      d += 'C' + (pts[i][0] + h).toFixed(2) + ',' + (pts[i][1] + t[i] * h).toFixed(2) + ' ' +\n                 (pts[i + 1][0] - h).toFixed(2) + ',' + (pts[i + 1][1] - t[i + 1] * h).toFixed(2) + ' ' +\n                 pts[i + 1][0].toFixed(2) + ',' + pts[i + 1][1].toFixed(2);\n    }\n    return d;\n  }\n\n  function render() {\n    var W = chart.clientWidth, narrow = W < 560;\n    if (W < 120) return; \/\/ not laid out yet; ResizeObserver will call again\n    var H = Math.round(Math.max(300, Math.min(440, W * 0.52)));\n    var STRIP = narrow ? 44 : 56, SGAP = 18;\n    var M = { t: 16, r: narrow ? 12 : 132, b: 40 + STRIP + SGAP, l: narrow ? 44 : 56 };\n    H += STRIP + SGAP;\n    var iw = W - M.l - M.r, ih = H - M.t - M.b;\n    var sTop = M.t + ih + SGAP, sBot = sTop + STRIP;\n    var x = function (yr) { return M.l + (yr \/ 30) * iw; };\n    var y = function (v) { return M.t + ih - (v \/ YMAX) * ih; };\n    geom = { W: W, H: H, M: M, iw: iw, ih: ih, x: x, y: y, narrow: narrow };\n    uid++;\n\n    svg.setAttribute('viewBox', '0 0 ' + W + ' ' + H);\n    svg.setAttribute('width', W); svg.setAttribute('height', H);\n    while (svg.firstChild) svg.removeChild(svg.firstChild);\n\n    var defs = el('defs', {}, svg);\n    var grad = el('linearGradient', { id: 'tmc-g' + uid, x1: 0, y1: 0, x2: 0, y2: 1 }, defs);\n    el('stop', { offset: '0%', 'stop-color': 'var(--teal)', 'stop-opacity': '.18' }, grad);\n    el('stop', { offset: '100%', 'stop-color': 'var(--teal)', 'stop-opacity': '0' }, grad);\n    var hx = x(horizon);\n    var clipIn = el('clipPath', { id: 'tmc-ci' + uid }, defs);\n    el('rect', { x: 0, y: 0, width: hx, height: H }, clipIn);\n    var clipOut = el('clipPath', { id: 'tmc-co' + uid }, defs);\n    el('rect', { x: hx, y: 0, width: W - hx, height: H }, clipOut);\n\n    \/\/ Grid + y labels\n    var gGrid = el('g', {}, svg);\n    for (var v = 0; v <= 500000; v += 100000) {\n      el('line', { x1: M.l, x2: M.l + iw, y1: y(v), y2: y(v), stroke: v === 0 ? 'var(--axis)' : 'var(--grid)', 'stroke-width': 1, 'shape-rendering': 'crispEdges' }, gGrid);\n      var t = el('text', { x: M.l - 10, y: y(v) + 4, 'text-anchor': 'end', class: 'tick' }, gGrid); t.textContent = fmtK(v);\n    }\n    \/\/ x labels\n    (narrow ? [0, 10, 20, 30] : [0, 5, 10, 15, 20, 25, 30]).forEach(function (yr) {\n      var tx = el('text', { x: x(yr), y: sBot + 22, 'text-anchor': 'middle', class: 'tick' }, gGrid);\n      tx.textContent = yr === 0 ? 'Close' : 'Yr ' + yr;\n    });\n\n    var ptsT = TOMO.map(function (v, i) { return [x(i), y(v)]; });\n    var ptsR = ROCKET.map(function (v, i) { return [x(i), y(v)]; });\n    var dT = monotonePath(ptsT), dR = monotonePath(ptsR);\n\n    \/\/ Horizon band tint\n    el('rect', { x: M.l, y: M.t, width: hx - M.l, height: ih, fill: 'var(--band)' }, svg);\n\n    \/\/ Area under Tomo Mortgage line inside horizon\n    el('path', { d: dT + 'L' + x(30) + ',' + y(0) + 'L' + x(0) + ',' + y(0) + 'Z', fill: 'url(#tmc-g' + uid + ')', 'clip-path': 'url(#tmc-ci' + uid + ')' }, svg);\n\n    \/\/ Lines: faded beyond horizon, full inside\n    [[dR, 'var(--rival)'], [dT, 'var(--teal)']].forEach(function (p) {\n      el('path', { d: p[0], fill: 'none', stroke: p[1], 'stroke-width': 2.5, 'stroke-linecap': 'round', opacity: '.35', 'clip-path': 'url(#tmc-co' + uid + ')' }, svg);\n      el('path', { d: p[0], fill: 'none', stroke: p[1], 'stroke-width': 3, 'stroke-linecap': 'round', 'clip-path': 'url(#tmc-ci' + uid + ')' }, svg);\n    });\n\n    \/\/ Horizon marker + gap bracket\n    var yT = y(TOMO[horizon]), yR = y(ROCKET[horizon]);\n    el('line', { x1: hx, x2: hx, y1: M.t, y2: M.t + ih, stroke: 'var(--teal)', 'stroke-width': 1, 'stroke-dasharray': '3 4', opacity: '.6' }, svg);\n    var gap = ROCKET[horizon] - TOMO[horizon];\n    var label = fmt(gap) + ' lower';\n    var chipW = label.length * 7.6 + 24, chipH = 28;\n    var overRight = narrow ? (hx + 14 + chipW > W - 4) : (hx + 14 + chipW > M.l + iw);\n    var toLeft = horizon === 30 || overRight;\n    var cx = toLeft ? hx - 14 - chipW : hx + 14;\n    var cy = (yT + yR) \/ 2 - chipH \/ 2;\n    \/\/ bracket\n    var bx = toLeft ? hx - 6 : hx + 6;\n    el('path', { d: 'M' + hx + ',' + yR + 'H' + bx + 'V' + yT + 'H' + hx, fill: 'none', stroke: 'var(--teal-deep)', 'stroke-width': 1.5 }, svg);\n    el('rect', { x: cx, y: cy, width: chipW, height: chipH, rx: 14, fill: 'var(--teal-deep)' }, svg);\n    var ct = el('text', { x: cx + chipW \/ 2, y: cy + 18.5, 'text-anchor': 'middle', class: 'chip-text' }, svg); ct.textContent = label;\n    el('circle', { cx: hx, cy: yR, r: 5, fill: 'var(--card)', stroke: 'var(--rival)', 'stroke-width': 2.5 }, svg);\n    el('circle', { cx: hx, cy: yT, r: 5.5, fill: 'var(--teal)', stroke: 'var(--card)', 'stroke-width': 2 }, svg);\n\n    \/\/ Gap strip: how far apart the two totals are, year by year\n    var maxGap = ROCKET[30] - TOMO[30];\n    el('line', { x1: M.l, x2: M.l + iw, y1: sBot, y2: sBot, stroke: 'var(--axis)', 'stroke-width': 1, 'shape-rendering': 'crispEdges' }, svg);\n    var sl = el('text', { x: M.l - 10, y: sTop + STRIP \/ 2 + 4, 'text-anchor': 'end', class: 'strip-label' }, svg); sl.textContent = 'Gap';\n    var bw = Math.max(2, iw \/ 31 * 0.56);\n    for (var k = 1; k <= 30; k++) {\n      var gv = ROCKET[k] - TOMO[k], bh = (gv \/ maxGap) * (STRIP - 6);\n      el('rect', { x: x(k) - bw \/ 2, y: sBot - bh, width: bw, height: bh, rx: Math.min(2, bw \/ 2),\n        fill: k <= horizon ? 'var(--teal-deep)' : 'var(--bar-dim)' }, svg);\n    }\n    if (!narrow) {\n      var gl = el('text', { x: x(30) + 16, y: sBot - 4, class: 'end-val', fill: 'var(--teal-deep)' }, svg); gl.textContent = fmt(maxGap);\n      var gn = el('text', { x: x(30) + 16, y: sBot - 23, class: 'end-name', fill: 'var(--ink-3)' }, svg); gn.textContent = 'Gap at year 30';\n    }\n    el('line', { x1: hx, x2: hx, y1: sTop - 4, y2: sBot, stroke: 'var(--teal)', 'stroke-width': 1, 'stroke-dasharray': '3 4', opacity: '.6' }, svg);\n\n    \/\/ End labels (desktop)\n    if (!narrow) {\n      var ex = x(30) + 16, eyR = y(ROCKET[30]), eyT = y(TOMO[30]);\n      if (eyT - eyR < 44) { var mid = (eyT + eyR) \/ 2; eyR = mid - 22; eyT = mid + 22; }\n      var n1 = el('text', { x: ex, y: eyR - 6, class: 'end-name', fill: 'var(--ink-3)' }, svg); n1.textContent = 'Rocket Mortgage';\n      var v1 = el('text', { x: ex, y: eyR + 13, class: 'end-val', fill: 'var(--ink-2)' }, svg); v1.textContent = fmt(ROCKET[30]);\n      var n2 = el('text', { x: ex, y: eyT - 6, class: 'end-name', fill: 'var(--teal)' }, svg); n2.textContent = 'Tomo Mortgage';\n      var v2 = el('text', { x: ex, y: eyT + 13, class: 'end-val', fill: 'var(--teal-deep)' }, svg); v2.textContent = fmt(TOMO[30]);\n      el('circle', { cx: x(30), cy: y(ROCKET[30]), r: 3.5, fill: 'var(--rival)', opacity: horizon === 30 ? 0 : .6 }, svg);\n      el('circle', { cx: x(30), cy: y(TOMO[30]), r: 3.5, fill: 'var(--teal)', opacity: horizon === 30 ? 0 : .6 }, svg);\n    }\n\n    \/\/ Scrub layer\n    var gScrub = el('g', { id: 'tmc-scrub', 'pointer-events': 'none', opacity: scrub === null ? 0 : 1 }, svg);\n    el('line', { id: 'tmc-sLine', y1: M.t, y2: sBot, stroke: 'var(--ink-3)', 'stroke-width': 1 }, gScrub);\n    el('circle', { id: 'tmc-sR', r: 4.5, fill: 'var(--card)', stroke: 'var(--rival)', 'stroke-width': 2.5 }, gScrub);\n    el('circle', { id: 'tmc-sT', r: 4.5, fill: 'var(--card)', stroke: 'var(--teal)', 'stroke-width': 2.5 }, gScrub);\n    if (scrub !== null) showScrub(scrub);\n  }\n\n  function showScrub(yr) {\n    scrub = yr;\n    var g = geom, sx = g.x(yr);\n    var gs = document.getElementById('tmc-scrub'); gs.setAttribute('opacity', 1);\n    var l = document.getElementById('tmc-sLine'); l.setAttribute('x1', sx); l.setAttribute('x2', sx);\n    var r = document.getElementById('tmc-sR'); r.setAttribute('cx', sx); r.setAttribute('cy', g.y(ROCKET[yr]));\n    var t = document.getElementById('tmc-sT'); t.setAttribute('cx', sx); t.setAttribute('cy', g.y(TOMO[yr]));\n    tip.innerHTML =\n      '<div class=\"yr\">' + (yr === 0 ? 'At closing' : 'After ' + yr + (yr === 1 ? ' year' : ' years')) + '<\/div>' +\n      '<div class=\"row\"><span><span class=\"dot\" style=\"background:var(--teal)\"><\/span>Tomo Mortgage<\/span><b>' + fmt(TOMO[yr]) + '<\/b><\/div>' +\n      '<div class=\"row\"><span><span class=\"dot\" style=\"background:var(--rival)\"><\/span>Rocket Mortgage<\/span><b>' + fmt(ROCKET[yr]) + '<\/b><\/div>' +\n      '<div class=\"gap\">' + fmt(ROCKET[yr] - TOMO[yr]) + ' lower with Tomo Mortgage<\/div>';\n    var tw = tip.offsetWidth || 220, th = tip.offsetHeight || 110;\n    var left = sx + 16; if (left + tw > g.W) left = sx - 16 - tw; if (left < 0) left = 0;\n    var top = Math.max(0, Math.min(g.y(ROCKET[yr]) - th - 12, g.H - th));\n    if (top < 0) top = 0;\n    tip.style.left = left + 'px'; tip.style.top = top + 'px'; tip.classList.add('on');\n  }\n  function hideScrub() {\n    scrub = null; tip.classList.remove('on');\n    var gs = document.getElementById('tmc-scrub'); if (gs) gs.setAttribute('opacity', 0);\n  }\n\n  function yearFromEvent(e) {\n    var rect = svg.getBoundingClientRect(), px = e.clientX - rect.left;\n    var yr = Math.round(((px - geom.M.l) \/ geom.iw) * 30);\n    return Math.max(0, Math.min(30, yr));\n  }\n  chart.addEventListener('pointermove', function (e) { showScrub(yearFromEvent(e)); });\n  chart.addEventListener('pointerleave', hideScrub);\n  chart.addEventListener('keydown', function (e) {\n    if (['ArrowRight', 'ArrowLeft', 'Home', 'End'].indexOf(e.key) === -1) return;\n    e.preventDefault();\n    var yr = scrub === null ? horizon : scrub;\n    if (e.key === 'ArrowRight') yr = Math.min(30, yr + 1);\n    if (e.key === 'ArrowLeft') yr = Math.max(0, yr - 1);\n    if (e.key === 'Home') yr = 0;\n    if (e.key === 'End') yr = 30;\n    showScrub(yr);\n    live.textContent = (yr === 0 ? 'At closing' : 'Year ' + yr) + ': Tomo Mortgage ' + fmt(TOMO[yr]) + ', Rocket Mortgage ' + fmt(ROCKET[yr]) + ', ' + fmt(ROCKET[yr] - TOMO[yr]) + ' lower with Tomo Mortgage.';\n  });\n  chart.addEventListener('blur', hideScrub);\n\n  \/\/ Headline count animation\n  var shown = ROCKET[10] - TOMO[10], raf = null;\n  function setHeadline(yr) {\n    var target = ROCKET[yr] - TOMO[yr];\n    noteEl.textContent = 'lower over ' + (yr === 30 ? 'the full 30 years' : 'the first ' + yr + ' years');\n    document.getElementById('tmc-sub').innerHTML = 'Same $350,000 loan, priced the same afternoon. Tomo Mortgage came out lower than Rocket Mortgage at every point, and <strong>' + (yr === 30 ? fmt(ROCKET[10] - TOMO[10]) + ' lower over the first 10 years' : fmt(ROCKET[30] - TOMO[30]) + ' lower over 30 years') + '<\/strong>.';\n    if (reduce) { shown = target; amountEl.textContent = fmt(target); return; }\n    var start = shown, t0 = null; cancelAnimationFrame(raf);\n    function step(ts) {\n      if (!t0) t0 = ts; var p = Math.min(1, (ts - t0) \/ 420), e = 1 - Math.pow(1 - p, 3);\n      shown = start + (target - start) * e; amountEl.textContent = fmt(shown);\n      if (p < 1) raf = requestAnimationFrame(step);\n    }\n    raf = requestAnimationFrame(step);\n  }\n\n  buttons.forEach(function (b, idx) {\n    b.addEventListener('click', function () { select(+b.dataset.y); });\n    b.addEventListener('keydown', function (e) {\n      var k = e.key, j = idx;\n      if (k === 'ArrowRight' || k === 'ArrowDown') j = (idx + 1) % buttons.length;\n      else if (k === 'ArrowLeft' || k === 'ArrowUp') j = (idx - 1 + buttons.length) % buttons.length;\n      else return;\n      e.preventDefault(); buttons[j].focus(); select(+buttons[j].dataset.y);\n    });\n  });\n  function select(yr) {\n    horizon = yr;\n    buttons.forEach(function (b) { var on = +b.dataset.y === yr; b.setAttribute('aria-checked', on); b.tabIndex = on ? 0 : -1; });\n    setHeadline(yr); render();\n  }\n  buttons.forEach(function (b) { b.tabIndex = b.getAttribute('aria-checked') === 'true' ? 0 : -1; });\n\n  function start() {\n    render();\n    if ('ResizeObserver' in window) new ResizeObserver(function () { render(); }).observe(chart);\n    else window.addEventListener('resize', render);\n    window.addEventListener('load', render);\n    if (document.fonts ? document.fonts.ready : false) document.fonts.ready.then(render);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start);\n  else start();\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:0.7rem\"><em>Loan example footnote: Rocket Mortgage: 7.250% interest rate, 7.511% APR, 1.500 points ($5,250), from<\/em><a href=\"https:\/\/www.rocketmortgage.com\/mortgage-rates\/texas-mortgage-rates\"><em> <\/em><em>https:\/\/www.rocketmortgage.com\/mortgage-rates\/texas-mortgage-rates<\/em><\/a><em>, rates current as of 6:37 PM UTC, September 23, 2026. Tomo Mortgage: 6.875% interest rate, 7.020% APR, 1.458 points ($5,103), $0 lender fees, from a quote at<\/em><a href=\"https:\/\/tomo.com\/mortgage\/rates\"><em> <\/em><em>https:\/\/tomo.com\/mortgage\/rates<\/em><\/a><em> created 2:59 PM EDT (6:59 PM UTC), September 23, 2026. Shared scenario, taken from Rocket Mortgage's published assumptions: $350,000 loan; 30-year fixed; purchase of a single-family primary residence in Texas for $437,500 with 20% down (80% LTV); 740 credit score; debt-to-income ratio under 43%; closing costs paid up front; escrow account for taxes and insurance. The Tomo Mortgage quote was priced for Houston, Texas. Total cost includes points, lender fees, and interest paid through each year, calculated with standard amortization of principal and interest. Rocket Mortgage doesn't publish its lender fees, so none are included in its totals. Third-party closing costs, taxes, insurance, and escrow deposits are excluded for both lenders, and monthly payments show principal and interest only.&nbsp;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:0.7rem\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:0.7rem\"><em>Better doesn't publish a rate for a comparable scenario and therefore isn't included. These rates are examples, not quotes.<\/em><\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/tomo.com\/mortgage\/app\/preapproval\">Get preapproved<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Should you choose Rocket Mortgage or Better?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Choose Rocket Mortgage if<\/strong> you want the larger lender by volume, need a bridge loan or the ONE+ program, or want an underwriter-verified approval before you make an offer.&nbsp;<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Choose Better if<\/strong> you want a HELOC or home equity loan from the same company as your mortgage, or you've closed a loan with Better before and your next loan is eligible for its origination fee waiver.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Consider Tomo Mortgage if<\/strong> you're buying in one of its 40 states or DC and want $0 lender fees. In the Texas example above, Tomo Mortgage came out lower than Rocket Mortgage at 5, 10, and 30 years.<a href=\"https:\/\/tomo.com\/mortgage\/terms\/#price-match-terms\"> Tomo Mortgage's Price Match Guarantee<\/a> covers comparable Loan Estimates for primary residences, dated within one business day of when you send them.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Is Rocket Mortgage or Better cheaper?<\/strong><\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">It depends on the quote you get, so compare Loan Estimates from both on the same day. On 2025 home purchase loans, HMDA data shows a median origination charge beyond discount points of $1,050 at Rocket Mortgage and $995 at Better, and median total loan costs of $6,859 and $6,772.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Does Rocket Mortgage charge lender fees?<\/strong><\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Rocket Mortgage doesn't officially publish its lender fees, but on its 2025 home purchase loans, HMDA data shows a median origination charge beyond discount points of $1,050.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Which closes faster, Rocket Mortgage or Better?<\/strong><\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Better says it can close in as little as three weeks. Rocket Mortgage doesn't publish a typical closing time. Tomo Mortgage can close in as little as 12 to 21 days.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Does Tomo Mortgage charge lender fees?<\/strong><\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No. Tomo Mortgage charges<a href=\"https:\/\/tomo.com\/mortgage\/faq\"> $0 in lender fees<\/a>: no origination, processing, or underwriting fees.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Key Takeaways: That leaves three questions: which loan you need, where you&#8217;re buying, and what each lender quotes you on the same day. Who&#8217;s in the game Rocket Mortgage was founded by Dan Gilbert in 1985 and is based in Detroit. It closed more than 7.5 million mortgages, and HMDA data shows it originated 326,174 [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"fifu_image_url":"","fifu_image_alt":"","_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-8534","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"George Paul\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Tomo Mortgage | Reports - Tomo Reports - Mortgage Tips &amp; Real Estate Trends\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Rocket Mortgage vs. Better: Fees, Costs &amp; Speed Compared\" \/>\n\t\t<meta property=\"og:description\" content=\"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-29T19:19:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-29T19:21:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Tomo-101907108761806\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Rocket Mortgage vs. Better: Fees, Costs &amp; Speed Compared\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#blogposting\",\"name\":\"Rocket Mortgage vs. Better: Fees, Costs & Speed Compared\",\"headline\":\"Rocket Mortgage vs. Better\",\"author\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/author\\\/georgeptomo-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/TOMOrealestate_Coral_Stacked-1.png\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#articleImage\",\"width\":468,\"height\":103},\"datePublished\":\"2026-09-29T14:19:00-05:00\",\"dateModified\":\"2026-09-29T14:21:35-05:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#webpage\"},\"articleSection\":\"Uncategorized\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/tomo.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/tomo.com\\\/blog\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#listItem\",\"name\":\"Rocket Mortgage vs. Better\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#listItem\",\"position\":3,\"name\":\"Rocket Mortgage vs. Better\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#organization\",\"name\":\"Tomo\",\"description\":\"Tomo Reports - Mortgage Tips & Real Estate Trends\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/\",\"telephone\":\"+14047385385\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/TOMOrealestate_Coral_Stacked-1.png\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#organizationLogo\",\"width\":468,\"height\":103},\"image\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Tomo-101907108761806\",\"https:\\\/\\\/www.instagram.com\\\/wearetomo\",\"https:\\\/\\\/www.tiktok.com\\\/@wearetomo\",\"https:\\\/\\\/www.youtube.com\\\/@wearetomo\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/tomonetworks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/author\\\/georgeptomo-com\\\/#author\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/author\\\/georgeptomo-com\\\/\",\"name\":\"George Paul\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#webpage\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/\",\"name\":\"Rocket Mortgage vs. Better: Fees, Costs & Speed Compared\",\"description\":\"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/rocket-mortgage-vs-better\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/author\\\/georgeptomo-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/author\\\/georgeptomo-com\\\/#author\"},\"datePublished\":\"2026-09-29T14:19:00-05:00\",\"dateModified\":\"2026-09-29T14:21:35-05:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/tomo.com\\\/blog\\\/\",\"name\":\"Just another WordPress site\",\"description\":\"Tomo Reports - Mortgage Tips & Real Estate Trends\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/tomo.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Rocket Mortgage vs. Better: Fees, Costs & Speed Compared","description":"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.","canonical_url":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#blogposting","name":"Rocket Mortgage vs. Better: Fees, Costs & Speed Compared","headline":"Rocket Mortgage vs. Better","author":{"@id":"https:\/\/tomo.com\/blog\/author\/georgeptomo-com\/#author"},"publisher":{"@id":"https:\/\/tomo.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/tomo.com\/blog\/wp-content\/uploads\/2023\/10\/TOMOrealestate_Coral_Stacked-1.png","@id":"https:\/\/tomo.com\/blog\/#articleImage","width":468,"height":103},"datePublished":"2026-09-29T14:19:00-05:00","dateModified":"2026-09-29T14:21:35-05:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#webpage"},"isPartOf":{"@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#webpage"},"articleSection":"Uncategorized"},{"@type":"BreadcrumbList","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/tomo.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/tomo.com\/blog\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#listItem","name":"Rocket Mortgage vs. Better"},"previousItem":{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#listItem","position":3,"name":"Rocket Mortgage vs. Better","previousItem":{"@type":"ListItem","@id":"https:\/\/tomo.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Organization","@id":"https:\/\/tomo.com\/blog\/#organization","name":"Tomo","description":"Tomo Reports - Mortgage Tips & Real Estate Trends","url":"https:\/\/tomo.com\/blog\/","telephone":"+14047385385","logo":{"@type":"ImageObject","url":"https:\/\/tomo.com\/blog\/wp-content\/uploads\/2023\/10\/TOMOrealestate_Coral_Stacked-1.png","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#organizationLogo","width":468,"height":103},"image":{"@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/Tomo-101907108761806","https:\/\/www.instagram.com\/wearetomo","https:\/\/www.tiktok.com\/@wearetomo","https:\/\/www.youtube.com\/@wearetomo","https:\/\/www.linkedin.com\/company\/tomonetworks"]},{"@type":"Person","@id":"https:\/\/tomo.com\/blog\/author\/georgeptomo-com\/#author","url":"https:\/\/tomo.com\/blog\/author\/georgeptomo-com\/","name":"George Paul"},{"@type":"WebPage","@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#webpage","url":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/","name":"Rocket Mortgage vs. Better: Fees, Costs & Speed Compared","description":"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/tomo.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/#breadcrumblist"},"author":{"@id":"https:\/\/tomo.com\/blog\/author\/georgeptomo-com\/#author"},"creator":{"@id":"https:\/\/tomo.com\/blog\/author\/georgeptomo-com\/#author"},"datePublished":"2026-09-29T14:19:00-05:00","dateModified":"2026-09-29T14:21:35-05:00"},{"@type":"WebSite","@id":"https:\/\/tomo.com\/blog\/#website","url":"https:\/\/tomo.com\/blog\/","name":"Just another WordPress site","description":"Tomo Reports - Mortgage Tips & Real Estate Trends","inLanguage":"en-US","publisher":{"@id":"https:\/\/tomo.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Tomo Mortgage | Reports - Tomo Reports - Mortgage Tips &amp; Real Estate Trends","og:type":"article","og:title":"Rocket Mortgage vs. Better: Fees, Costs &amp; Speed Compared","og:description":"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.","og:url":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/","article:published_time":"2026-09-29T19:19:00+00:00","article:modified_time":"2026-09-29T19:21:35+00:00","article:publisher":"https:\/\/www.facebook.com\/Tomo-101907108761806","twitter:card":"summary_large_image","twitter:title":"Rocket Mortgage vs. Better: Fees, Costs &amp; Speed Compared","twitter:description":"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example."},"aioseo_meta_data":{"post_id":"8534","title":"Rocket Mortgage vs. Better: Fees, Costs &amp; Speed Compared","description":"Compare Rocket Mortgage vs. Better on lender fees, total loan cost, closing speed and loan options, with 2025 HMDA data and a same-day Texas rate example.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-09-29 16:04:02","updated":"2026-09-29 20:06:44","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tomo.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tomo.com\/blog\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tRocket Mortgage vs. Better\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/tomo.com\/blog"},{"label":"Uncategorized","link":"https:\/\/tomo.com\/blog\/category\/uncategorized\/"},{"label":"Rocket Mortgage vs. Better","link":"https:\/\/tomo.com\/blog\/rocket-mortgage-vs-better\/"}],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/posts\/8534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/comments?post=8534"}],"version-history":[{"count":7,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/posts\/8534\/revisions"}],"predecessor-version":[{"id":8541,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/posts\/8534\/revisions\/8541"}],"wp:attachment":[{"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/media?parent=8534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/categories?post=8534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomo.com\/blog\/wp-json\/wp\/v2\/tags?post=8534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}