Home · Free toolbench

The pitfalls we hit, turned into tools you can use directly

These 20 tools are not a "feature demo": every rule came from a real production incident—a launch incident, a cache incident, being overwritten by cron, being ignored by AI crawlers, pricing set so low you never get paid. We turned "what went wrong and how we finally fixed it" into checks and generators,All free, no login required, and everything is computed in your browser — never uploaded。

Free · Zero barrier No signup · Works right away Local compute · Data never uploaded Source · 20 real incidents Machine-readable list · tools.json

Why freeTools are a moat, not a cost

We want onboarding x402 data to become something a company can finish on its own: free tools, free onboarding, free promotion. We charge only when a company cannot manage it and needs us to run and list it on their behalf (Managed / Enterprise). As for companies that already know the ropes—what keeps them isThe distribution and settlement volume the platform brings them, and on that part we take a share of the value we help create rather than charging them a monthly fee.

Free
Self-serve integration, tools, promotion
Done for you
Companies that can’t: Managed / Enterprise
Commission
Companies that can: share of the value the platform enables
Tool list

20 tools, matching 20 incidents

Mapping tableTool ← incident ← the fix at the time

This table is our own incident ledger. The one you’re hitting is probably in it.

ToolThe pitfall we hit at the timeHow it was finally solved
x402 endpoint checkupThe liveness probe judged MCP endpoints returning SSE as “dead”; browsers couldn’t read custom 402 response headersSwitch to judging by HTTP status code; add on the server Access-Control-Expose-Headers
Pricing and revenue share calculatorPer-call price set too low: never reaching the $50 minimum payout threshold in a year, money stuck in the accountCalculate before listing: call volume × unit price × revenue share, then back out the lowest viable price
llms.txt generatorllms.txt written as marketing copy gets cited by no AIWrite only verifiable facts + absolute paths + explicit price and network parameters
robots.txt for AI crawlersCDN / framework default templates block every AI crawler, so GEO goes straight to zeroExplicitly allow 40+ AI crawlers one by one, and Disallow private paths separately
JSON-LD generatorDataset missing license / distribution — AI doesn’t trust itFill in required fields by type, validate locally before generating
Launch self-check + nginx snippetsnginx -t passed, but the whole site went down from a 301 and try_files redirect loopSelf-check with real HTTP requests after every change (including a redirect-count limit), not just syntax
Guard against cron overwriting generated sites876 hand-edited pages on rentgpu.link were all overwritten at once by a scheduled jobOnly edit the generator template → regenerate → publish; add a guard script watching output mtime
Static asset version generatorHit the same pitfall three times: after changing CSS/JS, it “looks like nothing took effect” in productionLong caching must come with a version number — bump it on every change, and put it in the release checklist
Data source onboarding wizardThe collector did not explicitly send Accept-Encoding: identity, so parsing broke the moment the other side enabled gzip; scanning on-chain logs from block 0 always fails.Pin the encoding at the collection layer + retry on timeout; for on-chain, step back 2000 blocks from the head and scan incrementally
Free quota configuratorIP-based rate limiting is completely useless against distributed Agents — effectively no limit; too large a free quota means zero long-term revenueBind quota to Agent / key dimensions + a daily circuit breaker; treat the free quota as acquisition cost and compute ROI
Settlement reconciliation template generatorEditing data files while running — the old values in service memory get written back over themStop the service before changing data; reconcile only against on-chain Transfer events, with a ±$0.02 tolerance
Call detail analyzerDaily aggregation used incremental accumulation, doubling PV every day; formatting the time before applying the time-window filter throws an errorRecompute and overwrite by day to guarantee idempotency; stringify only after all aggregations
GEO citation monitoring checklist generatorExternal AI wrote the commission as 15% and settlement as T+7, yet the “mention rate” metric was greenMonitoring must include a separate “accuracy of the stated terms” metric — being mentioned but described wrongly is the same as not being mentioned
Endpoint availability dashboard configuratorProbing MCP endpoints with a JSON-RPC client: SSE responses were judged “dead”; a typo in the p.ok field made everything read as constantly flappingJudge only by HTTP status code (both 200 and 402 count as alive); cross-check field names against the DB-writing code
Route and redirect chain checkerThe admin URL /admin 301-redirects to /admin/, which is a real directory with no index file → a permanent 403 blank page, yetnginx -t stays green the whole time.Use internal rewrite to hit the file directly; after changes, always send real requests to check the status code and redirect count
Cache and versioning policy configuratorThe script, cached under expires 7d , kept running the old version in browsers after a redesign; rendering new data crashed, and catch falsely reported it as "can't read the server".Set no-cache specifically for admin scripts; error messages must distinguish “render crash” from “network failure”
MCP server publish self-checkerRepublishing the same version number is rejected; adding the TXT record to the _mcp-auth selector throws a generic signature error.Bump the version by 1 every time; put the TXT record at the domain apex; publish via CLI rather than opening a PR
Error fallback and degradation code generatorRender crashes were lumped by catch into “server data unreadable”; the server side was investigated for two days and everything was 200Separate try blocks for fetching and rendering; four failure types get four distinct messages; fall back to localStorage on failure
x402 end-to-end integration checklistThe 402 response header was sent but JS couldn’t read it; the amount written as 1e16 was rejected by the facilitatorExpose custom response headers; convert to 6 decimal places; reconcile only against on-chain Transfer
Access log insightsCrawlers counted as humans, doubling PV; daily incremental accumulation caused double countingSplit by UA into four categories: human / AI / search / tool; recompute and overwrite by day to stay idempotent

Done with the tools? We’ll handle the rest

If you can run it yourself, use the tools; when you can’t, we list, promote, and settle on your behalf.