<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

  <!-- ─── Core public pages ────────────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/pricing</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/explorer</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://ocentoken.com/community</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/academy</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- Starter-article deep-links so search engines can land directly on the
       expanded article (each <details> uses `id` for anchor navigation). -->
  <url>
    <loc>https://ocentoken.com/academy#how-spl-tokens-work</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/academy#authority-revocation</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/academy#security-basics</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- ─── Discovery / leaderboards ─────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/upcoming-launches</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/leaderboard</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- ─── AI tools (public) ────────────────────────────────── -->

  <url>
    <loc>https://ocentoken.com/wallet-check</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/time-machine</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://ocentoken.com/contract-analyzer</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/text-analyzer</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ai-status</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ai-track-record</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ─── Ocen Trust suite (public) ────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/graduation-intelligence</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ocengenome</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ocenpulse</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ocenrank</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/alerts</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/vault</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ocenproof</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/ocenbond</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ─── Other tools (public) ─────────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/social-analytics</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://ocentoken.com/memoforge</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ─── Security & trust ─────────────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/security</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/security-audits</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/security/incidents</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/security/bug-bounty</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/trust/ai-consensus</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/transparency</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/safety-report</loc>
    <lastmod>2026-06-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/hall-of-fame</loc>
    <lastmod>2026-06-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/transparency/feed</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/moderation</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/verification-status</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ─── Operational / informational ──────────────────────── -->
  <url>
    <loc>https://ocentoken.com/status</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/changelog</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/roadmap</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/careers</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/blog</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/contact</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ─── Legal ────────────────────────────────────────────── -->
  <url>
    <loc>https://ocentoken.com/terms</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/privacy</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/risk-disclaimers</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <!-- ADDED 2026-08-27. Both are public, ungated, un-geoblocked, and both
       already carry hand-written FCA-safe title + description in
       scripts/prerender-meta.mjs — baked into static HTML at postbuild and
       verified live. They were the only two routes in that list never
       submitted here: meta written for a crawl nobody asked for. -->
  <url>
    <loc>https://ocentoken.com/rug-reality</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://ocentoken.com/content-policy</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!--
    Intentionally NOT in sitemap (auth-gated, admin-gated, or noindex):
    /auth, /create, /dashboard, /analytics, /portfolio, /referrals,
    /profile, /settings, /vesting-manager, /oracle, /admin/**,
    /super-admin, /command-center, /security-console, /wallet-intelligence,
    /treasury, /token-creation. These pages require authentication or
    return HTTP 4xx without it and would dilute crawl budget.
  -->

  <!-- ─────────────────────────────────────────────────────────────────────
       REMOVED 2026-08-27 — 22 URLs a crawler cannot fetch.

       A sitemap is a request to crawl. These URLs could not answer it.

       THREE WERE DELETED PRODUCTS, still submitted to Google long after the
       routes were removed: /prophecy, /copy-trading, /liquidity-manager.
       They fall through to the SPA catch-all, which answers HTTP 200 with the
       home page — a soft-404, and the worst kind, because nothing reports it.
       /prophecy is the one that matters: it was deleted outright (see the
       comment in src/App.tsx) because staking SOL on whether a token rugs is
       a bet on "the likelihood of anything occurring" under Gambling Act 2005
       s.9, and running it unlicensed is a criminal offence under s.33. The
       page was gone; this file went on telling search engines it existed.

       NINETEEN ARE GEO-BLOCKED. middleware.ts hard-blocks US, GB, CN, IR, KP,
       RU, SY and CU on the regulated surfaces, and every major crawler
       originates in a hard-blocked country — Googlebot and Bingbot from the
       US, Yandex from RU. Measured 2026-08-27 from a US address:

         GET /audit          -> 307 /region-blocked?from=%2Faudit&cc=US
         GET /marketplace    -> 307 /region-blocked?from=%2Fmarketplace&cc=US
         GET /trading        -> 307 /region-blocked?from=%2Ftrading&cc=US
         GET /whale-tracker  -> 307 /region-blocked?from=%2Fwhale-tracker&cc=US

       There is exactly one way to make them crawlable, and it is not
       available: letting a crawler user-agent past the geoblock. A UA string
       is client-controlled, so that is not an SEO tweak — it is a hole in a
       compliance control, openable by anyone who types it into curl. These
       pages stay unindexable while US and GB are hard-blocked. That is a
       consequence of the jurisdiction posture, not a defect in this file.

       What this file can do is stop asking for a crawl that always 307s.
       check-sitemap-integrity.mjs fails the build if one comes back.
       ───────────────────────────────────────────────────────────────────── -->

</urlset>
