CryptoMeter docs
v1.0.0
Get help
● Ship · Fixes

Troubleshooting
symptoms and fixes.

Where to look first, and what to do when a screen stays empty, a verdict looks wrong or a file returns 404. Tip: paste the exact message into the search box.

01No AI visits appear

Where to look: Activity (what happened to each request), Settings → Tools & status, Bots & rules → Verification sources, the loopback test, and the X-CryptoMeter response header.

  • Normal on a new or small site: AI bots visit irregularly. The screens say "Collecting since …".
  • A page cache serves the bots (run the loopback test, see Page caches), or a CDN/firewall rule stops them before WordPress.
  • CryptoMeter is paused (Settings → General).
  • You tested while logged in.

02Everything shows "Unknown"

  • Lists not fetched yet: press Refresh now. If a list shows an error, your host may block outgoing HTTPS; ask it to allow the URLs in section 19.
  • Your site is behind a proxy/CDN and sees the proxy's (often private) IP: configure the real visitor IP.
  • WP-Cron does not run (low traffic or DISABLE_WP_CRON), so lists become older than 3 days. Set up a real cron job for wp-cron.php.

03A genuine bot shows "Spoofed"

  • Your server sees a wrong IP (proxy): fix the visitor IP first.
  • The vendor's list changed after the last refresh: press Refresh now.
  • Your own SEO tool uses a search-engine user agent: switch off "Block spoofed bots" for it to be treated as a generic client, or give it its own user agent.

04A bot I blocked still reads my pages

  • Page cache (most common).
  • The bot is not recognised (browser-like user agent) or uses a user agent not in the list: add it under Custom AI user agents.
  • A per-bot exception overrides the intent policy.
  • It reads files outside WordPress (images, static files). CryptoMeter only sees requests WordPress handles; use the server rules.

05Referrals stay at 0

  • Referral counting is off (Settings → General), or you tested while logged in.
  • The assistant hid the referrer (common in apps). Test with https://your-site.example/?utm_source=chatgpt.com in a private window.
  • A script blocker, strict Content Security Policy or JavaScript optimisation plugin removes inline scripts, or a security plugin blocks /wp-json/cryptometer/v1/beacon.

06robots.txt does not show CryptoMeter's lines

  • A physical robots.txt file exists in the web root (the Signals preview shows it). Remove it or edit it by hand.
  • Settings → Reading → "Discourage search engines" is ticked (site not public), or CryptoMeter is paused.
  • An SEO plugin replaces the robots.txt output entirely.

07/llms.txt, /license.xml or /tdmrep.json return 404

  • The feature is off.
  • Plain permalinks: choose any other structure under Settings → Permalinks and save (this also refreshes rewrite rules). For llms.txt, /?cryptometer_llms=1 works as a workaround.
  • A physical file or a server rule for .txt, .xml or .well-known takes precedence.

08HTTP 429 for a bot

A per-bot rate limit (Bots & rules), or with Monetize the per-IP limit for unpaid requests or the failed-payment throttle. All send Retry-After: 60. Behind a proxy without the real IP, all visitors share one IP.

09The admin shows an error

  • "The server did not answer with JSON…" or "Your session has expired.": reload the page and log in again; a security plugin or a PHP error may have interrupted the request.
  • "The admin app is missing (assets/app/ folder)": re-install the plugin from the original ZIP.
  • "The CryptoMeter dashboard needs WordPress 6.6 or newer": update WordPress.
  • "Database tables: missing" or "Daily maintenance: not scheduled" in System status: deactivate and activate the plugin.

10E-mails do not arrive

Check the recipient and that your site can send mail (SMTP plugin). The weekly report and daily summary are skipped in periods without AI activity; the spike alert needs at least 50 requests in an hour.

11Monetize problems

CodeHTTPMeaning and fix
invalid_exact_evm_insufficient_balance402The paying wallet lacks USDC on that network (normal for unfunded wallets).
invalid_exact_evm_signature402Signature not valid for this payment; the agent must sign again with the values from the challenge.
nonce_already_used402Replay protection: sign a new payment.
too_many_failed_payments429More than 10 failed verifications from this IP in a minute.
invalid_payment_requirements, …_recipient_mismatch, …_value_mismatch402Amount, network, token or recipient differ from the offer (for example the price changed). Request again.
…_valid_before / …_valid_after402Expired or not yet valid; check the agent's clock.
invalid_payload, invalid_x402_version400Malformed header, or v1 while v1 is not accepted.
network_error: …502Facilitator unreachable from your server.
settlement_pending402Still pending after one retry; the ledger row is Unconfirmed.
cdp_credentials_missing, cdp_key_invalid_pem, cdp_key_invalid_ed25519, cdp_sodium_missing-Coinbase CDP key problems; re-enter the key (PEM line breaks as \n), check sodium in System status.
facilitator_not_configured-"Custom facilitator URL" selected without a URL.
  • Bots set to Charge get 200 instead of 402: Monetize off, no valid wallet, post type not ticked under Content types, free by an access rule or price 0, or a page cache.
  • Wallet will not save: exactly 0x + 40 hex characters, no ENS names.
  • "This facilitator is testnet-only": x402.org cannot be used in Live mode.