CryptoMeter docs
v1.0.0
Get help
● Admin · Policy

Bots & rules
one policy per intent.

Policies per intent with per-bot exceptions and rate limits, the verification sources, server and cache rule snippets, and the full built-in bot list.

01Policies

CryptoMeter → Bots & rules has three sections: Policies, Verification sources and Server & cache rules.

Bots and rules Policies tab with the preset bar, four intent cards with Allow, Block and Charge, individual bot tables with policy and rate limit, and the Everything else card
Policies (test install with Monetize on and one custom bot, "NewAIBot"). The help text under "Custom AI user agents" in this screenshot comes from a development build; the final text says custom bots appear in the AI training group, which matches where NewAIBot is listed.
  • Start from a preset: the four presets from section 5. A confirmation dialog explains what is replaced.
  • Intent cards: one per intent (Search engines, AI search & answers, AI agents (user-triggered), AI training) with Allow / Block / Charge, requests in the last 30 days, number of bots and exceptions.
    • Charge is locked until Monetize is on. A stored Charge policy acts as Allow while Monetize is off ("Charge acts as Allow until Monetize is on.").
    • Blocking search engines shows "This removes your site from search results."
    • Blocking AI search & answers can mean fewer citations in AI search tools.
  • Individual bots: one table per intent with Verification method, Last seen, Requests (30 d), Spoofed (30 d), Policy (Inherit (…), Allow, Block, Charge) and Rate limit (requests per minute; empty or 0 = no limit). Reset exceptions to inherit removes the group's exceptions.
  • Everything else:
    • Generic HTTP clients: Treat as humans (default), Block or Charge. Covers python-requests, curl, Go-http-client, Scrapy, headless Chrome, empty user agents and similar libraries. Many anonymous scrapers use these, but so do some legitimate tools (uptime monitors, feed readers).
    • Block spoofed bots (default on): requests that claim to be a known bot but fail verification are blocked.
    • Custom AI user agents: one user-agent fragment per line (at least 3 characters). After saving they appear in the AI training group, where you can set their policy.

Press Save changes in the bar at the bottom. "Bot policies saved. robots.txt and signals are updated." confirms it.

Per-bot rate limits

A per-bot limit counts all requests of that bot per minute, across all its IP addresses. Above the limit the bot gets HTTP 429 with Retry-After: 60 and the text "Too many requests from this crawler. Slow down." It applies on every page, whatever the bot's policy. Verified on a test install: with a limit of 3, requests 4 and 5 in the same minute returned 429.

Command palette

Where WordPress provides its command palette (Ctrl/⌘ + K), the CryptoMeter page adds commands such as "CryptoMeter: Overview", "CryptoMeter: Bots & rules", "CryptoMeter: Settings" and "CryptoMeter: Block AI training bots".

02Verification sources

Verification sources with three toggles, eight official IP lists with IP range counts, the signed-request agent chatgpt.com and the list of bots verified by reverse DNS
Verification sources on a test install after "Refresh now" (range counts as fetched on 2026-09-24; they change when vendors update their lists).
  • Check official IP lists, Check signed requests (Web Bot Auth) and Verify search engines by reverse DNS switch each method on or off (all on by default).
  • The table shows each list's vendor and URL, the number of IP ranges and when it was last updated. A red dot shows the fetch error; the last good copy is kept.
  • Refresh now downloads all lists and the key directory immediately. Otherwise they refresh once a day by WP-Cron.
  • Signed-request agents: origins whose Web Bot Auth keys are trusted (default https://chatgpt.com), with key count and age.
  • Verified by reverse DNS: googleother, google-vertex, googlebot, bingbot, applebot, yandexbot, baiduspider.

How verdicts are decided is explained in section 14.

03Server & cache rules

Server and cache rules with tabs Nginx, Apache (.htaccess), LiteSpeed, Cloudflare and WP Rocket, a generated snippet with a Copy button, and the Loopback test
Server & cache rules (test install). The snippet is generated from the bots your policy currently blocks.

CryptoMeter's own blocking happens inside WordPress. Blocking at the web server or CDN saves PHP work, and excluding AI bots from page caches lets CryptoMeter see, verify and log them. The snippets are regenerated each time you open the tab ("Update them after you change policies").

TabWhat it containsWhere it goes
NginxReturns 403 for blocked user agents (except /robots.txt) and sets fastcgi_cache_bypass / fastcgi_no_cache for all AI user agents.Inside the server { } block of the site; then reload Nginx.
Apache (.htaccess)mod_rewrite rule answering 403 ([F]) for blocked user agents, except /robots.txt..htaccess, above # BEGIN WordPress.
LiteSpeedThe Apache rule plus a LiteSpeed Cache no-cache rule for AI user agents..htaccess, above # BEGIN WordPress.
CloudflareA WAF custom rule expression matching blocked user agents, excluding /robots.txt.Cloudflare dashboard → Security → WAF → Custom rules: paste as the expression, action Block.
WP RocketAll AI user-agent fragments, one per line.WP Rocket → Advanced Rules → "Never Cache User Agent(s)".
Test before and after

A mistake in server configuration can take a site down. Keep a backup of the file you edit, and test with the curl commands from the Quick start. Server-level rules block by user agent only (no verification), and requests stopped there never reach WordPress, so they do not appear in Activity. The snippets were generated and read on a test install; MIKODES has not run them on a live Nginx, Apache, LiteSpeed or Cloudflare setup.

The Loopback test at the bottom is explained in Simulator and loopback test and Page caches.

04Built-in bot list

A bot is recognised when its match fragment appears in the request's User-Agent (case-insensitive). ChatGPT agent uses a normal Chrome user agent and is recognised only by its Web Bot Auth signature. Listing a company here only means CryptoMeter recognises its crawler; it says nothing about whether it pays through x402.

BotCompanyIntentMatchVerification
GPTBotOpenAIAI trainingGPTBotOfficial IP list
OAI-SearchBotOpenAIAI search & answersOAI-SearchBotOfficial IP list
ChatGPT-UserOpenAIAI agentsChatGPT-UserOfficial IP list, signature
ChatGPT agentOpenAIAI agents(signature only)Signed request
ClaudeBotAnthropicAI trainingClaudeBotOfficial IP list
Claude-SearchBotAnthropicAI search & answersClaude-SearchBotOfficial IP list
Claude-UserAnthropicAI agentsClaude-UserOfficial IP list
anthropic-aiAnthropicAI traininganthropic-aiOfficial IP list
PerplexityBotPerplexityAI search & answersPerplexityBotOfficial IP list
Perplexity-UserPerplexityAI agentsPerplexity-UserOfficial IP list
GoogleOtherGoogleAI trainingGoogleOtherOfficial IP list, reverse DNS
Google-CloudVertexBotGoogleAI agentsGoogle-CloudVertexBotOfficial IP list, reverse DNS
Meta-ExternalAgentMetaAI trainingmeta-externalagentNo method
Meta-ExternalFetcherMetaAI agentsmeta-externalfetcherNo method
FacebookBotMetaAI trainingFacebookBotNo method
AmazonbotAmazonAI search & answersAmazonbotNo method
BytespiderByteDanceAI trainingBytespiderNo method
CCBotCommon CrawlAI trainingCCBotNo method
cohere-aiCohereAI agentscohere-aiNo method
cohere-training-data-crawlerCohereAI trainingcohere-training-data-crawlerNo method
MistralAI-UserMistralAI agentsMistralAI-UserNo method
DuckAssistBotDuckDuckGoAI search & answersDuckAssistBotNo method
YouBotYou.comAI search & answersYouBotNo method
DiffbotDiffbotAI trainingDiffbotNo method
AI2BotAllen InstituteAI trainingAI2BotNo method
TimpibotTimpiAI trainingTimpibotNo method
omgiliWebz.ioAI trainingomgiliNo method
ImagesiftBotHiveAI trainingImagesiftBotNo method
GooglebotGoogleSearch enginesGooglebotOfficial IP list, reverse DNS
BingbotMicrosoftSearch enginesbingbotOfficial IP list, reverse DNS
ApplebotAppleSearch enginesApplebotReverse DNS
DuckDuckBotDuckDuckGoSearch enginesDuckDuckBotNo method
YandexBotYandexSearch enginesYandexBotReverse DNS
BaiduspiderBaiduSearch enginesBaiduspiderReverse DNS

That is 28 AI crawlers and agents and 6 search engines, plus your custom user agents. A request that carries an x402 payment or access-pass header but matches no known bot is recorded as "x402 client".