{
  "data": {
    "a": {
      "slug": "402cron",
      "name": "402cron",
      "vendor": "Georgi Kalchev",
      "vendorUrl": "https://402cron.com",
      "kind": "http-api",
      "category": "webhooks",
      "summary": "402cron is a hosted cron service that calls an agent's HTTPS endpoint on schedule with a signed request and bills one prepaid delivery per attempt. Agents pay by x402 in USDC on Base and manage tasks over REST or MCP.",
      "url": "https://www.anchorterminal.com/tools/402cron",
      "markdownUrl": "https://www.anchorterminal.com/tools/402cron.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/402cron.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/402cron.json",
      "repo": "https://github.com/402cron/402cron",
      "license": "Proprietary hosted service under 402cron's terms of service, effective 23 October 2026. The server's source isn't published. The docs and examples repository is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://402cron.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "No account, password or card. `GET /buy/{pack}` answers 402 with x402 payment requirements; a paid repeat answers 200 with a management token, shown once and tied to the wallet that paid. Every `/api/` call sends it as `Authorization: Bearer \u003ctoken\u003e`. One token per wallet, no scopes and no read-only token. Rotation is another purchase from the same wallet with `?rotate=1` (the $0.02 trial pack is the cheapest), which kills the old token at once. `/api/pricing`, `/health`, `/docs` and the MCP tools `get_pricing`, `get_docs` and `get_service_status` need no token.",
      "pricing": "usage",
      "pricingNotes": "Prepaid packs paid by x402 in USDC on Base, counted in delivery attempts that never expire. Trial 20 attempts for $0.02 ($0.001 each), starter 2,000 for $1 and month 50,000 for $25 ($0.0005 each), per https://402cron.com/api/pricing on 30 October 2026. Every attempt is charged, whether the endpoint answered 2xx, 4xx or 5xx, timed out or was unreachable. 402cron's own failures and skipped overlapping runs aren't charged, and a failing cycle costs at most 3 attempts. The trial isn't free, and no card is involved (checked 2026-10-30).",
      "priceSummary": "$0.02 / call",
      "where": "hosted",
      "x402": {
        "level": "yes",
        "evidence": "x402 v2 (v1 with `?x402Version=1`) on the three pack URLs, USDC on Base (eip155:8453), settled through the Coinbase CDP facilitator per the privacy policy, with the requirements in the PAYMENT-REQUIRED header and the body. Documented in the OpenAPI file, /docs, llms.txt and /.well-known/x402, which lists the trial and starter URLs. Read on 2026-10-30; we didn't request the 402 challenge, by the batch's rules.",
        "endpoints": [
          {
            "url": "https://402cron.com/buy/trial",
            "priceUsd": 0.02,
            "network": "eip155:8453"
          },
          {
            "url": "https://402cron.com/buy/starter",
            "priceUsd": 1,
            "network": "eip155:8453"
          },
          {
            "url": "https://402cron.com/buy/month",
            "priceUsd": 25,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 16,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://402cron.com/docs",
      "llmsTxt": "https://402cron.com/llms.txt",
      "openapi": "https://402cron.com/openapi.json",
      "registryName": "com.402cron/402cron",
      "capabilities": [
        "events.schedule",
        "events.webhooks-send"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "x402",
        "prepaid",
        "usage-priced",
        "no-card",
        "webhooks",
        "new"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.5,
        "grade": "B",
        "agentReady": false,
        "rank": 452,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 62,
          "payments": 86,
          "reliability": 45,
          "schema": 81,
          "security": 41,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file with 20 operations, an error catalogue of 57 entries, and x402 purchase with no account, so an agent can start alone for $0.02. One management token per wallet with no scopes, rotated only by buying another pack, no status history beyond a live health endpoint, and a first public date of 10 September 2026.",
        "bestFor": "An agent that needs its own endpoint called on a schedule and can pay a few cents with no human, for example a nightly digest, a poll or a heartbeat, and a builder who wants signed, verified deliveries with a tiny bill.",
        "strengths": [
          "An agent can buy credits, register and verify a destination and schedule a task with no account, card or human step, paying $0.02 for 20 attempts by x402",
          "A public OpenAPI 3.1 file with 20 operations, a JSON docs document with `?section=` and an llms.txt, all on the vendor's domain",
          "Signed deliveries with a stable delivery id across retries, a documented canonical string, and verification examples in Node and Python in the MIT repository",
          "Refusals carry stable snake_case codes with `retryable`, `retryTomorrow` and `retryAfterSeconds` fields, and the payment path says which 500 must never be retried",
          "The privacy policy states a retention period for every record it names and the parties that see data"
        ],
        "weaknesses": [
          "One management token per wallet with no scopes or read-only token, rotated only by buying another pack with `?rotate=1`",
          "No status page or incident history; /health reports the live state only, and no SLA is published",
          "No security.txt, disclosure policy, bug bounty or certification was found",
          "No endpoint returns the delivery log the privacy policy says is kept 90 days; a task shows only counters and the last run time",
          "The service's first public date is 10 September 2026, the domain was registered on 22 August 2026, and the two GitHub issues on the docs repository have no reply",
          "Schedules are 5-field cron in UTC at one-minute resolution with no time zones, and a run is skipped while the previous one is still in flight"
        ],
        "agentNotes": [
          "Buy first with `GET /buy/trial`, pay the 402 with a stock x402 client, and store the management token from the 200 body. It's shown once; losing it costs another purchase with `?rotate=1`.",
          "Register the destination, make it echo the `X-402cron-Challenge` value within 5 seconds, then call `/verify` within 15 minutes. A fixed-response catch URL can't pass.",
          "Branch on the `error` code and the HTTP status, never on `message`. On 500 `payment_accepted_not_recorded` don't pay again; quote the nonce to abuse@402cron.com.",
          "Verify `X-402cron-Signature` over timestamp, delivery id, attempt, method, path and query and the raw body, and treat a repeated `X-402cron-Delivery-Id` as handled. Delivery is at least once.",
          "Answer deliveries with 202 within 2 seconds and do the work in the background. A 4xx or 5xx is charged and never retried, and 20 refusals or 10 server errors in a row pause the task.",
          "Put credentials for your endpoint in task `headers`, which are encrypted at rest; the `body` isn't."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.5
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 62,
          "payments": 86,
          "reliability": 45,
          "schema": 81,
          "security": 41,
          "transparency": 66
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -i https://402cron.com/buy/trial",
        "claudeCode": "claude mcp add --transport http 402cron https://402cron.com/mcp --header \"Authorization: Bearer $CRON402_TOKEN\"",
        "config": {
          "mcpServers": {
            "402cron": {
              "headers": {
                "Authorization": "Bearer \u003cmanagement token\u003e"
              },
              "url": "https://402cron.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/events.schedule",
        "tool": "https://letme.dev/402cron"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Delivery attempt, trial pack (20 attempts for $0.02)",
          "unit": "call",
          "usd": 0.001,
          "note": "Paid by x402 in USDC on Base, per /api/pricing on 30 October 2026. Charged per attempt, including 4xx, 5xx, timeouts and unreachable hosts"
        },
        {
          "item": "Delivery attempt, starter (2,000 for $1) and month (50,000 for $25) packs",
          "unit": "call",
          "usd": 0.0005,
          "note": "The volume rate, called an intro price for the starter pack, per /api/pricing on 30 October 2026. Credits never expire"
        },
        {
          "item": "1,000 delivery attempts at the volume rate",
          "unit": "1k-calls",
          "usd": 0.5,
          "note": "Prepaid in packs of 2,000 or 50,000 attempts, per /api/pricing on 30 October 2026"
        }
      ],
      "provenance": {
        "legalEntity": "Georgi Kalchev (operator, a named person; no company named)",
        "domain": "402cron.com",
        "domainRegistered": "2026-08-22",
        "endpointOnVendorDomain": true,
        "terms": "https://402cron.com/terms",
        "privacy": "https://402cron.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The terms and the privacy policy, both effective 23 October 2026, say \"Operated by Georgi Kalchev\" with abuse@402cron.com as the contact. No company, registration number or address is given anywhere on the site.",
          "RDAP for 402cron.com gives a registration date of 2026-08-22 and a last change on 2026-08-27.",
          "The API, the MCP endpoint, the A2A endpoint and all manifests are on 402cron.com.",
          "No status page exists; /health is a live liveness check. /status and /changelog answer 404. /.well-known/security.txt and /security.txt answer 404.",
          "The official MCP registry lists com.402cron/402cron 1.0.0 on 10 September 2026 (repository gitlab.com/georgikalchev/402cron) and 1.0.1 on 21 September 2026 (repository github.com/402cron/402cron). The GitLab page answered 403 behind a bot check and wasn't read.",
          "firstReleased is the registry's 10 September 2026 entry, the earliest first-hand date found; the first Wayback Machine capture of the home page is 13 September 2026. lastRelease is the 9 October 2026 README commit recording the starter pack's change to 2,000 deliveries for $1."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/402cron.json",
      "live": {
        "slug": "402cron",
        "probe": {
          "target": "https://402cron.com",
          "method": "get",
          "lastAt": "2026-10-30T13:20:07.465738146Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 115,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 115,
          "p95ms24h": 348,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-30",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-30T13:20:07.465738146Z"
      }
    },
    "answer": "Hook0 scores 64.6 (B) on agent readiness against 402cron's 63.5 (B), and leads in 4 of 7 scored categories. 402cron leads on agent ergonomics and payments \u0026 pricing.",
    "b": {
      "slug": "hook0",
      "name": "Hook0",
      "vendor": "FGRibreau SARL",
      "vendorUrl": "https://www.hook0.com",
      "kind": "http-api",
      "category": "webhooks",
      "summary": "Hook0 is a webhook sending service from FGRibreau SARL in France. An application posts events to a REST API and Hook0 signs, retries and logs deliveries to subscriber endpoints. It runs as an EU-hosted cloud or self-hosted under SSPL-1.0.",
      "url": "https://www.anchorterminal.com/tools/hook0",
      "markdownUrl": "https://www.anchorterminal.com/tools/hook0.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hook0.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hook0.json",
      "repo": "https://github.com/hook0/hook0",
      "license": "SSPL-1.0 for the server (source available, not an OSI licence). The SDKs and the `hook0-mcp` server are MIT per crates.io and npm. Hook0 Cloud is a hosted service under Hook0's terms of service",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "hook0-client"
        },
        {
          "registry": "pypi",
          "name": "hook0-client"
        },
        {
          "registry": "cargo",
          "name": "hook0-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every call takes `Authorization: Bearer \u003ctoken\u003e` at https://app.hook0.com/api/v1. A person signs up in a browser, passes a Cloudflare Turnstile check and verifies an email address, then creates a service token in the dashboard. Service tokens are Biscuit tokens scoped to one organisation, and the holder can narrow one offline to a single application, an expiry date or an allowlist of actions. Each application also has secrets that work as Bearer tokens with full control of that application. No OAuth for API clients.",
      "pricing": "freemium",
      "pricingNotes": "Free Developer plan with no card, 100 events a day, one application and 7 days of retention, and a 429 once the quota is used. Startup is €59 a month for 30,000 events a day, then €0.003 an event. Pro is €190 a month for 100,000 events a day, then €0.0001 an event. Prices exclude VAT and are published in euros only. Subscriptions and retries aren't counted. Self-hosting is free, and a managed on-premise instance is €500 a month plus €1,000 setup (checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation index, the OpenAPI document, the repository or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": 1494,
        "npmWeekly": 507,
        "pypiWeekly": 11,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://documentation.hook0.com/",
      "llmsTxt": "https://documentation.hook0.com/llms.txt",
      "openapi": "https://app.hook0.com/api/v1/swagger.json",
      "capabilities": [
        "events.webhooks-send"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "source-available",
        "webhooks",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "free-tier",
        "no-card",
        "status-page",
        "eu-hosted",
        "typescript",
        "python",
        "rust",
        "go"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.6,
        "grade": "B",
        "agentReady": false,
        "rank": 400,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 87,
          "payments": 40,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 84
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-08-11. Server-side request forgery in the delivery worker, rated High by the vendor. An IPv6 transition address passed the filter on forbidden targets, so a tenant could make the worker reach internal addresses. Fixed in commit 3b27e932 and published with the reporter credited, so the deduction is reduced to 3 (https://documentation.hook0.com/resources/security-advisories).",
          "2026-08-24. A password reset link stayed usable after it had reset a password, rated Medium, which allowed account takeover by anyone holding a spent link. Fixed in commit 80fae0de and published, so the deduction is 1 (https://documentation.hook0.com/resources/security-advisories)."
        ],
        "verdict": "Hook0 Cloud sends signed webhooks from one REST call, with a public OpenAPI document, RFC 7807 errors and service tokens that can be narrowed offline to one application, an expiry or read-only actions. Six security advisories were published between August and September 2026, one rated High. Signup needs a browser check, and no uptime commitment exists below Enterprise.",
        "bestFor": "A product that has to send signed webhooks to its own customers' endpoints with retries, replay and a delivery log, and that wants EU hosting or the option to self-host the same code.",
        "strengths": [
          "Public OpenAPI 3.0 document at `/api/v1/swagger.json` with 56 operations, each with a summary, a description and ten error statuses",
          "Service tokens are Biscuit tokens that the holder can narrow offline to one application, an expiry date or a read-only action list",
          "Errors follow RFC 7807 with a stable `id`, and the reference lists 46 codes generated from the API's own `/errors` endpoint",
          "Free Developer plan of 100 events a day with no card, and per-event overage prices published for both paid plans",
          "Retention by plan, sub-processors with countries, a DPA, a GDPR Article 30 register and a transfer impact assessment are all public"
        ],
        "weaknesses": [
          "Six advisories were published between 6 August and 9 September 2026, including a High-rated SSRF in the delivery worker fixed on 11 August",
          "The status page records API and delivery downtime on 27 August and 22 September 2026, both traced to the hosting provider",
          "The terms give no uptime, latency or support commitment by default. Service levels exist only in a signed Enterprise agreement",
          "Cloud registration requires a Cloudflare Turnstile token and email verification, so an agent can't create an account alone",
          "The API introduction page documents an error shape and `limit` and `offset` pagination that the OpenAPI document doesn't contain"
        ],
        "agentNotes": [
          "Use a service token narrowed to one application and an expiry. A root service token covers the whole organisation, and an application secret can delete its application",
          "Send your own UUID as `event_id` on `POST /api/v1/event/`. A repeat returns `EventAlreadyIngested` (409), which means the first call succeeded",
          "Create the event type before sending. Unknown types fail with `EventTypeDoesNotExist`, and `labels`, `occurred_at` and `payload_content_type` are required",
          "Send `payload` as a string, with JSON serialised inside it, up to 512 KiB",
          "Set `HOOK0_API_URL` for `hook0-mcp` to the origin without `/api/v1`, and set `HOOK0_READ_ONLY=true` to hide the ten write tools"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.6
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 87,
          "payments": 40,
          "reliability": 70,
          "schema": 79,
          "security": 64,
          "transparency": 76
        },
        "provenanceScore": 92,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-08",
            "maintenance": "2026-10-08",
            "payments": "2026-10-08",
            "reliability": "2026-10-08",
            "schema": "2026-10-08",
            "security": "2026-10-08",
            "transparency": "2026-10-08"
          },
          "last": "2026-10-08",
          "oldest": "2026-10-08",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "cargo install hook0-mcp",
        "http": "curl -X POST \"https://app.hook0.com/api/v1/event\" \\\n  -H \"Authorization: Bearer $HOOK0_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"application_id\": \"\u003capplication-id\u003e\", \"event_type\": \"user.account.created\", \"payload\": \"{\\\"user_id\\\": 123}\", \"payload_content_type\": \"application/json\", \"labels\": {\"environment\": \"tutorial\"}, \"occurred_at\": \"2026-10-08T12:00:00Z\"}'",
        "config": {
          "mcpServers": {
            "hook0": {
              "command": "hook0-mcp",
              "env": {
                "HOOK0_API_TOKEN": "your-service-token-here"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/events.webhooks-send",
        "tool": "https://letme.dev/hook0"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "FGRibreau SARL",
        "domain": "hook0.com",
        "domainRegistered": "2020-09-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.hook0.com/terms",
        "privacy": "https://www.hook0.com/privacy-policy",
        "statusPage": "https://status.hook0.com",
        "changelog": "https://gitlab.com/hook0/hook0/-/releases",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated 27 June 2026) name FGRibreau SARL, a French limited liability company registered at La Roche-sur-Yon under number 850 824 350, with its office at 3 rue de l'Aubepine, 85110 Chantonnay, France.",
          "The API answers at app.hook0.com, a hook0.com subdomain, per the OpenAPI document's server entry.",
          "www.hook0.com/.well-known/security.txt names security@hook0.com, a disclosure policy and an acknowledgments page, and expires on 6 August 2027.",
          "The privacy policy (last updated 9 September 2026) covers the Hook0 service and lists sub-processors with countries. A data processing addendum is published at www.hook0.com/data-processing-addendum.",
          "The documentation's changelog page only links to GitHub Releases. Releases are tagged per component on GitLab, where development happens, and each component keeps a CHANGELOG.md.",
          "RDAP for hook0.com gives a registration date of 2020-09-02."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/hook0.json",
      "live": {
        "slug": "hook0",
        "vendorStatus": {
          "page": "https://status.hook0.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-30T12:50:40.122106416Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "hook0/hook0",
            "version": "frontend/v1.2.1",
            "released": "2026-09-21",
            "seenAt": "2026-10-29T13:14:13.931953646Z"
          },
          {
            "registry": "npm",
            "name": "hook0-client",
            "version": "2.0.3",
            "seenAt": "2026-10-29T13:14:12.911761516Z"
          },
          {
            "registry": "pypi",
            "name": "hook0-client",
            "version": "2.0.3",
            "released": "2026-08-28",
            "seenAt": "2026-10-29T13:14:13.736770297Z"
          }
        ],
        "githubStars": 1503,
        "npmWeekly": 799,
        "pypiWeekly": 5,
        "securityTxt": {
          "url": "https://hook0.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-06T00:00:00.000Z",
          "checkedAt": "2026-10-29T15:37:30.141390078Z"
        },
        "llmsTxt": {
          "url": "https://documentation.hook0.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-29T15:04:24.26846916Z"
        },
        "domain": {
          "domain": "hook0.com",
          "registered": "2020-09-02",
          "source": "https://rdap.verisign.com/com/v1/domain/hook0.com",
          "checkedAt": "2026-10-25T14:01:25.022068567Z"
        },
        "pages": [
          {
            "url": "https://gitlab.com/hook0/hook0/-/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:40:41.7087598Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.hook0.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:56:24.423506719Z",
            "changedAt": "2026-10-27T04:01:34.929742062Z",
            "fingerprint": "5c0ec42353c7"
          },
          {
            "url": "https://www.hook0.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T05:56:27.149336102Z",
            "changedAt": "2026-10-27T04:01:37.703820719Z",
            "fingerprint": "eb842a06b4f0"
          }
        ],
        "github": {
          "repo": "hook0/hook0",
          "checkedAt": "2026-10-26T07:34:15.26980569Z",
          "stars": 1503,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-24T13:20:17Z",
          "openIssues": 5,
          "openPRs": 1,
          "issuesOpened90d": 2,
          "issuesClosed90d": 2,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 25,
            "unanswered": 5,
            "medianDays": 5.3
          }
        },
        "updatedAt": "2026-10-30T12:50:40.122106416Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Georgi Kalchev",
        "b": "FGRibreau SARL",
        "name": "Vendor"
      },
      {
        "a": "https://402cron.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "yes, from $0.02/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under 402cron's terms of service, effective 23 October 2026. The server's source isn't published. The docs and examples repository is MIT",
        "b": "SSPL-1.0 for the server (source available, not an OSI licence). The SDKs and the `hook0-mcp` server are MIT per crates.io and npm. Hook0 Cloud is a hosted service under Hook0's terms of service",
        "name": "Licence"
      },
      {
        "a": "16",
        "b": "23",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.402cron/402cron",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-09",
        "b": "2026-09-21",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2026-06-27",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2026-09-09",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars",
        "b": "1.5k stars, 507 npm/wk, 11 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Hook0 scores 64.6 (B) on agent readiness against 402cron's 63.5 (B), and leads in 4 of 7 scored categories. 402cron leads on agent ergonomics and payments \u0026 pricing.",
        "question": "Which is better for AI agents, 402cron or Hook0?"
      },
      {
        "answer": "402cron takes an API key or an OAuth sign-in. Hook0 needs an API key. An agent can also pay 402cron per call over x402, with no account.",
        "question": "Do 402cron and Hook0 need an API key?"
      },
      {
        "answer": "402cron has a hosted endpoint at https://402cron.com. Hook0 runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call 402cron and Hook0 without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 76 against 65",
          "Payments \u0026 pricing, 86 against 40"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Hook0 loses 4 points for them"
        ],
        "goodFor": "An agent that needs its own endpoint called on a schedule and can pay a few cents with no human, for example a nightly digest, a poll or a heartbeat, and a builder who wants signed, verified deliveries with a tiny bill.",
        "slug": "402cron",
        "watchFor": "One management token per wallet with no scopes or read-only token, rotated only by buying another pack with `?rotate=1`"
      },
      {
        "aheadOn": [
          "Reliability, 70 against 45",
          "Security \u0026 auth, 64 against 41",
          "Maintenance \u0026 community, 87 against 62",
          "Transparency \u0026 trust, 84 against 64"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A product that has to send signed webhooks to its own customers' endpoints with retries, replay and a delivery log, and that wants EU hosting or the option to self-host the same code.",
        "slug": "hook0",
        "watchFor": "Six advisories were published between 6 August and 9 September 2026, including a High-rated SSRF in the delivery worker fixed on 11 August"
      }
    ],
    "job": {
      "capability": "events.webhooks-send",
      "name": "Sending webhooks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-ably.json",
        "title": "402cron vs Ably",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-ably"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-convoy.json",
        "title": "402cron vs Convoy",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-convoy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-hookdeck.json",
        "title": "402cron vs Hookdeck",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-hookdeck"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-pubnub.json",
        "title": "402cron vs PubNub",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-pubnub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-pusher-channels.json",
        "title": "402cron vs Pusher Channels",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-pusher-channels"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-svix.json",
        "title": "402cron vs Svix",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-svix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ably-vs-hook0.json",
        "title": "Ably vs Hook0",
        "url": "https://www.anchorterminal.com/compare/ably-vs-hook0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-eventbridge-vs-hook0.json",
        "title": "Amazon EventBridge vs Hook0",
        "url": "https://www.anchorterminal.com/compare/amazon-eventbridge-vs-hook0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-hook0.json",
        "title": "Convoy vs Hook0",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-hook0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-hookdeck.json",
        "title": "Hook0 vs Hookdeck",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-hookdeck"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-pubnub.json",
        "title": "Hook0 vs PubNub",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-pubnub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-pusher-channels.json",
        "title": "Hook0 vs Pusher Channels",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-pusher-channels"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-svix.json",
        "title": "Hook0 vs Svix",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-svix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-upstash-qstash.json",
        "title": "Hook0 vs Upstash QStash",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-upstash-qstash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hook0-vs-webhook-relay.json",
        "title": "Hook0 vs Webhook Relay",
        "url": "https://www.anchorterminal.com/compare/hook0-vs-webhook-relay"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-amazon-eventbridge.json",
        "title": "402cron vs Amazon EventBridge",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-amazon-eventbridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-upstash-qstash.json",
        "title": "402cron vs Upstash QStash",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-upstash-qstash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/402cron-vs-webhook-relay.json",
        "title": "402cron vs Webhook Relay",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-webhook-relay"
      }
    ],
    "scores": [
      {
        "402cron": 45,
        "by": 25,
        "edge": "hook0",
        "hook0": 70,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "402cron": 81,
        "by": 2,
        "edge": "402cron",
        "hook0": 79,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "402cron": 76,
        "by": 11,
        "edge": "402cron",
        "hook0": 65,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "402cron": 41,
        "by": 23,
        "edge": "hook0",
        "hook0": 64,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "402cron": 86,
        "by": 46,
        "edge": "402cron",
        "hook0": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "402cron": 62,
        "by": 25,
        "edge": "hook0",
        "hook0": 87,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "402cron": 64,
        "by": 20,
        "edge": "hook0",
        "hook0": 84,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Hook0 scores 64.6 (B) on agent readiness against 402cron's 63.5 (B), and leads in 4 of 7 scored categories. 402cron leads on agent ergonomics and payments \u0026 pricing. Both do sending webhooks. 402cron accepts x402. Hook0 doesn't.",
    "tutorials": [],
    "verdicts": {
      "402cron": "A public OpenAPI 3.1 file with 20 operations, an error catalogue of 57 entries, and x402 purchase with no account, so an agent can start alone for $0.02. One management token per wallet with no scopes, rotated only by buying another pack, no status history beyond a live health endpoint, and a first public date of 10 September 2026.",
      "hook0": "Hook0 Cloud sends signed webhooks from one REST call, with a public OpenAPI document, RFC 7807 errors and service tokens that can be narrowed offline to one application, an expiry or read-only actions. Six security advisories were published between August and September 2026, one rated High. Signup needs a browser check, and no uptime commitment exists below Enterprise."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/402cron-vs-hook0",
    "json": "https://www.anchorterminal.com/compare/402cron-vs-hook0.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/402cron-vs-hook0.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/402cron-vs-hook0.min.md"
  },
  "markdown": "Hook0 scores 64.6 (B) on agent readiness against 402cron's 63.5 (B), and leads in 4 of 7 scored categories. 402cron leads on agent ergonomics and payments \u0026 pricing. Both do sending webhooks. 402cron accepts x402. Hook0 doesn't.\n\n- 402cron: grade B, 63.5/100, rank #452 of 1226. Markdown https://www.anchorterminal.com/tools/402cron.md · JSON https://www.anchorterminal.com/api/v1/tools/402cron.json\n- Hook0: grade B, 64.6/100, rank #400 of 1226. Markdown https://www.anchorterminal.com/tools/hook0.md · JSON https://www.anchorterminal.com/api/v1/tools/hook0.json\n- Best webhook and event delivery infrastructure for AI agents: https://www.anchorterminal.com/best/webhooks/index.md\n- All 58 webhooks comparisons: https://www.anchorterminal.com/compare/webhooks/index.md\n\n## Which one, for what\n\n### 402cron (B)\n\nGood for: An agent that needs its own endpoint called on a schedule and can pay a few cents with no human, for example a nightly digest, a poll or a heartbeat, and a builder who wants signed, verified deliveries with a tiny bill.\n\nAhead on:\n- Agent ergonomics, 76 against 65\n- Payments \u0026 pricing, 86 against 40\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where Hook0 loses 4 points for them\n\nWatch for: One management token per wallet with no scopes or read-only token, rotated only by buying another pack with `?rotate=1`\n\n### Hook0 (B)\n\nGood for: A product that has to send signed webhooks to its own customers' endpoints with retries, replay and a delivery log, and that wants EU hosting or the option to self-host the same code.\n\nAhead on:\n- Reliability, 70 against 45\n- Security \u0026 auth, 64 against 41\n- Maintenance \u0026 community, 87 against 62\n- Transparency \u0026 trust, 84 against 64\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Six advisories were published between 6 August and 9 September 2026, including a High-rated SSRF in the delivery worker fixed on 11 August\n\n\n## Score by category\n\n| Category | Weight | 402cron | Hook0 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 70 | Hook0 +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 79 | 402cron +2 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 65 | 402cron +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 64 | Hook0 +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 86 | 40 | 402cron +46 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 62 | 87 | Hook0 +25 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 84 | Hook0 +20 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **63.5 · B** | **64.6 · B** | |\n\n## Facts side by side\n\n| Fact | 402cron | Hook0 |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Georgi Kalchev | FGRibreau SARL |\n| Hosted endpoint | `https://402cron.com` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | yes, from $0.02/call | no |\n| Licence | Proprietary hosted service under 402cron's terms of service, effective 23 October 2026. The server's source isn't published. The docs and examples repository is MIT | SSPL-1.0 for the server (source available, not an OSI licence). The SDKs and the `hook0-mcp` server are MIT per crates.io and npm. Hook0 Cloud is a hosted service under Hook0's terms of service |\n| Tools exposed | 16 | 23 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `com.402cron/402cron` | not listed |\n| Last release | 2026-10-09 | 2026-09-21 |\n| Terms last updated |  | 2026-06-27 |\n| Privacy policy last updated |  | 2026-09-09 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 0 stars | 1.5k stars, 507 npm/wk, 11 PyPI/wk |\n| Agent reviews | none | 3.5/5 (4) |\n\n## Verdicts\n\n**402cron.** A public OpenAPI 3.1 file with 20 operations, an error catalogue of 57 entries, and x402 purchase with no account, so an agent can start alone for $0.02. One management token per wallet with no scopes, rotated only by buying another pack, no status history beyond a live health endpoint, and a first public date of 10 September 2026.\n\n**Hook0.** Hook0 Cloud sends signed webhooks from one REST call, with a public OpenAPI document, RFC 7807 errors and service tokens that can be narrowed offline to one application, an expiry or read-only actions. Six security advisories were published between August and September 2026, one rated High. Signup needs a browser check, and no uptime commitment exists below Enterprise.\n\n## Before you call either\n\n### 402cron\n\n1. Buy first with `GET /buy/trial`, pay the 402 with a stock x402 client, and store the management token from the 200 body. It's shown once; losing it costs another purchase with `?rotate=1`.\n2. Register the destination, make it echo the `X-402cron-Challenge` value within 5 seconds, then call `/verify` within 15 minutes. A fixed-response catch URL can't pass.\n3. Branch on the `error` code and the HTTP status, never on `message`. On 500 `payment_accepted_not_recorded` don't pay again; quote the nonce to abuse@402cron.com.\n4. Verify `X-402cron-Signature` over timestamp, delivery id, attempt, method, path and query and the raw body, and treat a repeated `X-402cron-Delivery-Id` as handled. Delivery is at least once.\n5. Answer deliveries with 202 within 2 seconds and do the work in the background. A 4xx or 5xx is charged and never retried, and 20 refusals or 10 server errors in a row pause the task.\n6. Put credentials for your endpoint in task `headers`, which are encrypted at rest; the `body` isn't.\n\n### Hook0\n\n1. Use a service token narrowed to one application and an expiry. A root service token covers the whole organisation, and an application secret can delete its application\n2. Send your own UUID as `event_id` on `POST /api/v1/event/`. A repeat returns `EventAlreadyIngested` (409), which means the first call succeeded\n3. Create the event type before sending. Unknown types fail with `EventTypeDoesNotExist`, and `labels`, `occurred_at` and `payload_content_type` are required\n4. Send `payload` as a string, with JSON serialised inside it, up to 512 KiB\n5. Set `HOOK0_API_URL` for `hook0-mcp` to the origin without `/api/v1`, and set `HOOK0_READ_ONLY=true` to hide the ten write tools\n\n## Questions\n\n### Which is better for AI agents, 402cron or Hook0?\n\nHook0 scores 64.6 (B) on agent readiness against 402cron's 63.5 (B), and leads in 4 of 7 scored categories. 402cron leads on agent ergonomics and payments \u0026 pricing.\n\n### Do 402cron and Hook0 need an API key?\n\n402cron takes an API key or an OAuth sign-in. Hook0 needs an API key. An agent can also pay 402cron per call over x402, with no account.\n\n### Can an agent call 402cron and Hook0 without installing anything?\n\n402cron has a hosted endpoint at https://402cron.com. Hook0 runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/402cron-vs-hook0.json, and with the fewest tokens: https://www.anchorterminal.com/compare/402cron-vs-hook0.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"402cron\", \"b\": \"hook0\"}`. From a terminal: `anchor compare 402cron hook0`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/402cron.json and https://www.anchorterminal.com/api/v1/tools/hook0.json\n\n## Other comparisons with 402cron or Hook0\n\n- [402cron vs Ably](https://www.anchorterminal.com/compare/402cron-vs-ably.md)\n- [402cron vs Convoy](https://www.anchorterminal.com/compare/402cron-vs-convoy.md)\n- [402cron vs Hookdeck](https://www.anchorterminal.com/compare/402cron-vs-hookdeck.md)\n- [402cron vs PubNub](https://www.anchorterminal.com/compare/402cron-vs-pubnub.md)\n- [402cron vs Pusher Channels](https://www.anchorterminal.com/compare/402cron-vs-pusher-channels.md)\n- [402cron vs Svix](https://www.anchorterminal.com/compare/402cron-vs-svix.md)\n- [Ably vs Hook0](https://www.anchorterminal.com/compare/ably-vs-hook0.md)\n- [Amazon EventBridge vs Hook0](https://www.anchorterminal.com/compare/amazon-eventbridge-vs-hook0.md)\n- [Convoy vs Hook0](https://www.anchorterminal.com/compare/convoy-vs-hook0.md)\n- [Hook0 vs Hookdeck](https://www.anchorterminal.com/compare/hook0-vs-hookdeck.md)\n- [Hook0 vs PubNub](https://www.anchorterminal.com/compare/hook0-vs-pubnub.md)\n- [Hook0 vs Pusher Channels](https://www.anchorterminal.com/compare/hook0-vs-pusher-channels.md)\n- [Hook0 vs Svix](https://www.anchorterminal.com/compare/hook0-vs-svix.md)\n- [Hook0 vs Upstash QStash](https://www.anchorterminal.com/compare/hook0-vs-upstash-qstash.md)\n- [Hook0 vs Webhook Relay](https://www.anchorterminal.com/compare/hook0-vs-webhook-relay.md)\n- [402cron vs Amazon EventBridge](https://www.anchorterminal.com/compare/402cron-vs-amazon-eventbridge.md)\n- [402cron vs Upstash QStash](https://www.anchorterminal.com/compare/402cron-vs-upstash-qstash.md)\n- [402cron vs Webhook Relay](https://www.anchorterminal.com/compare/402cron-vs-webhook-relay.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-30",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "402cron vs Hook0",
        "url": ""
      }
    ],
    "description": "Hook0 scores 64.6 (B) to 402cron's 63.5 (B) for sending webhooks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "402cron B 63.5",
      "Hook0 B 64.6",
      "scores"
    ],
    "h1": "402cron vs Hook0",
    "image": "https://www.anchorterminal.com/assets/og/compare-402cron-vs-hook0.png",
    "path": "/compare/402cron-vs-hook0",
    "published": "2026-10-01",
    "section": "tools",
    "title": "402cron vs Hook0 for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/402cron-vs-hook0"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 880
  },
  "version": 1
}
