<?xml version="1.0" encoding="UTF-8"?>
<!--
  Summit's four public URLs. Everything else the site serves is behind
  the auth gate and has no crawlable address of its own.

  The www host is canonical: the apex 308-redirects to it, so these are
  the URLs that answer 200. /terms and /privacy resolve through
  App.jsx's readRoute(), which reads window.location.pathname — the
  vercel.json rewrite hands them this pathname on index.html.

  lastmod for the legal pages is the "Last updated" date carried inside
  src/legal/*.md, so the sitemap and the documents cannot disagree.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.summitledger.app/</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <!-- The free commission calculator. It takes its inputs from the
         query string, and every one of those variants declares this
         bare URL as its canonical, so only this line belongs here. -->
    <loc>https://www.summitledger.app/commission-calculator</loc>
    <lastmod>2026-07-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.summitledger.app/terms</loc>
    <lastmod>2026-07-19</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.summitledger.app/privacy</loc>
    <lastmod>2026-07-19</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
