{
  "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": "402cron scores 63.5 (B) on agent readiness against Convoy's 62.4 (B), and leads in 3 of 7 scored categories. Convoy leads on reliability, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "convoy",
      "name": "Convoy",
      "vendor": "Frain Technologies Inc.",
      "vendorUrl": "https://www.getconvoy.io",
      "kind": "http-api",
      "category": "webhooks",
      "summary": "Convoy is a webhooks gateway from Frain Technologies. It sends outgoing webhooks with retries and signatures and receives incoming ones, through an HTTP API on Convoy Cloud or a self-hosted, source-available server.",
      "url": "https://www.anchorterminal.com/tools/convoy",
      "markdownUrl": "https://www.anchorterminal.com/tools/convoy.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/convoy.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/convoy.json",
      "repo": "https://github.com/frain-dev/convoy",
      "license": "Elastic Licence 2.0 for the gateway (source available, not an OSI licence). The convoy.js SDK is MIT per npm. Convoy Cloud is a proprietary hosted service under Convoy's terms of use",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "convoy.js"
        },
        {
          "registry": "pypi",
          "name": "convoy-python"
        },
        {
          "registry": "go",
          "name": "github.com/frain-dev/convoy-go/v2"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API keys sent as a Bearer token. A project API key is scoped to one project and is returned once when the project is created, or regenerated in project settings. A personal API key, created in the dashboard's security settings, follows its user's organisation membership and creates projects. No OAuth for API clients and no partner or sales approval. On self-hosted instances `convoy bootstrap --with-api-key` prints a personal key.",
      "pricing": "paid",
      "pricingNotes": "Convoy Cloud has a 14-day trial without a card (one project, one user, 100 events a day), then Pro at $99 a month for 25 events a second or Premium at $499 a month. Plans are flat with a throughput limit and no per-message charge. The self-hosted Community edition is free with one user and two projects, and self-hosted Premium is $999 a month (https://www.getconvoy.io/pricing, checked 2026-10-08).",
      "priceSummary": "$99 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 2877,
        "npmWeekly": 2257,
        "pypiWeekly": 679,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.getconvoy.io/docs",
      "llmsTxt": "https://www.getconvoy.io/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/frain-dev/convoy/main/docs/v3/openapi3.json",
      "capabilities": [
        "events.webhooks-send",
        "events.webhooks-receive"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "source-available",
        "webhooks",
        "api-key",
        "openapi",
        "llms-txt",
        "no-card",
        "status-page",
        "go",
        "python",
        "typescript",
        "ruby"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.4,
        "grade": "B",
        "agentReady": false,
        "rank": 501,
        "ranked": true,
        "rankOf": 1226,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 80,
          "payments": 30,
          "reliability": 92,
          "schema": 78,
          "security": 53,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-07-24. Advisory GHSA-p5vg-v7mj-f6q4, rated High. Before v26.6.8 any caller authorised on one project could read another project's source record by id, including message broker credentials in plaintext. Patched in 26.6.8 and published by the maintainers, so the deduction is reduced to 4 (https://github.com/frain-dev/convoy/security/advisories/GHSA-p5vg-v7mj-f6q4).",
          "2026-08-04. Until v26.7.0 the events list returned `metadata` on dynamic events, which carried the endpoint secret and custom auth headers in plaintext. The field was removed across every API version and the change is documented, so the deduction is 2 (https://www.getconvoy.io/docs/api-reference/versioning)."
        ],
        "verdict": "Convoy Cloud runs the same HTTP API as the self-hosted gateway, with a public OpenAPI spec of 68 operations, project-scoped keys, idempotency keys on events and replay endpoints. Two credential exposures were fixed in July and August 2026, one published as a high-severity advisory. Cloud access needs a browser signup, and the trial allows 100 events a day.",
        "bestFor": "A product that has to send signed webhooks to its customers' endpoints with retries, replay and a delivery log, or receive third-party webhooks and route them inward.",
        "strengths": [
          "Public OpenAPI 3.0 spec with 68 operations, plus llms.txt and Markdown copies of every documentation page",
          "Event creation accepts an `idempotency_key`, and the API has single and batch replay and retry endpoints for events and deliveries",
          "Dated API versions (current default 2025-11-24) pinned per request with the `X-Convoy-Version` header",
          "22 tagged releases between 27 June and 27 September 2026, with breaking changes listed per release in CHANGELOG.md",
          "Convoy Cloud's upgrade policy promises at least 180 days' notice of major upgrades and deprecations"
        ],
        "weaknesses": [
          "Advisory GHSA-p5vg-v7mj-f6q4 (24 July 2026, High) let a caller on one project read another project's source and broker credentials before v26.6.8",
          "Until v26.7.0 (4 August 2026) the events list returned endpoint secrets and custom auth headers in plaintext for dynamic events",
          "No security.txt and no SECURITY.md. The trust centre at trust.getconvoy.io renders only with JavaScript, so we couldn't read it",
          "The errors page documents four HTTP codes and one sample body. 429 and Retry-After aren't in the API reference",
          "Cloud needs a browser signup, and the 14-day trial allows 100 events a day, one project and one user"
        ],
        "agentNotes": [
          "Use the regional base URL, https://us.getconvoy.cloud/api/v1 or https://eu.getconvoy.cloud/api/v1. A project key works only under /projects/{projectID}/",
          "Create an endpoint, then a subscription, then the event. An event sent to an endpoint with no subscription isn't dispatched",
          "Send `idempotency_key` on every event. A repeated key creates the event but no delivery, and the key stays reserved until retention deletes the event",
          "Create projects with a personal API key and the `orgID` query parameter. The project key in that response is shown once",
          "Before retrying an endpoint or subscription create, list endpoints by `ownerId`. Idempotency keys cover event ingestion only"
        ],
        "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": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 80,
          "payments": 30,
          "reliability": 92,
          "schema": 78,
          "security": 53,
          "transparency": 65
        },
        "provenanceScore": 73,
        "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",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-08",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://getconvoy.io/install | bash",
        "http": "curl --request POST \\\n  --url https://{region}.getconvoy.cloud/api/v1/projects/\u003cproject-id\u003e/events \\\n  --header 'Authorization: Bearer \u003capi-key\u003e' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"endpoint_id\": \"\u003cendpoint-id\u003e\", \"event_type\": \"payment.success\", \"data\": {\"status\": \"Completed\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/events.webhooks-send",
        "tool": "https://letme.dev/convoy"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Cloud Pro",
          "unit": "month",
          "usd": 99,
          "note": "25 events a second, 7-day retention"
        },
        {
          "item": "Cloud Premium",
          "unit": "month",
          "usd": 499,
          "note": "custom rate limits and retention"
        },
        {
          "item": "Self-hosted Premium licence",
          "unit": "month",
          "usd": 999,
          "note": "Community edition is free"
        }
      ],
      "provenance": {
        "legalEntity": "Frain Technologies Inc.",
        "domain": "getconvoy.io",
        "domainRegistered": "2021-09-06",
        "endpointOnVendorDomain": false,
        "terms": "https://www.getconvoy.io/legal/Terms-of-Use-Convoy.pdf",
        "privacy": "https://www.getconvoy.io/legal/privacy-policy",
        "statusPage": "https://status.getconvoy.io",
        "changelog": "https://github.com/frain-dev/convoy/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The repository's LICENSE file names Frain Technologies Inc. as licensor, and the home page footer names Frain Technologies at 2261 Market Street, San Francisco, CA 94114. The terms and privacy notice say only Convoy and its affiliates, with info@frain.dev as contact.",
          "The Cloud API answers at us.getconvoy.cloud and eu.getconvoy.cloud, a different registered domain from getconvoy.io. The vendor's own docs and OpenAPI spec name both hosts.",
          "www.getconvoy.io/.well-known/security.txt returns 404. us.getconvoy.cloud returns the dashboard's HTML at that path. The GitHub repository has no SECURITY.md but accepts private vulnerability reports.",
          "The privacy notice is dated 1 June 2023. The DPA at getconvoy.io/legal/dpa points to a sub-processor list at trust.getconvoy.io/subprocessors, which renders only with JavaScript and which we couldn't read.",
          "RDAP for getconvoy.io gives a registration date of 2021-09-06."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/convoy.json",
      "live": {
        "slug": "convoy",
        "vendorStatus": {
          "page": "https://status.getconvoy.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-30T13:23:58.914747174Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "frain-dev/convoy",
            "version": "v26.9.2",
            "released": "2026-10-20",
            "seenAt": "2026-10-29T13:01:05.534606357Z"
          },
          {
            "registry": "npm",
            "name": "convoy.js",
            "version": "1.1.0",
            "seenAt": "2026-10-29T13:01:04.236569939Z"
          },
          {
            "registry": "pypi",
            "name": "convoy-python",
            "version": "0.2.0",
            "released": "2023-05-16",
            "seenAt": "2026-10-29T13:01:05.274870239Z"
          }
        ],
        "githubStars": 2885,
        "npmWeekly": 3513,
        "pypiWeekly": 161,
        "securityTxt": {
          "url": "https://getconvoy.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-29T15:36:29.461750489Z"
        },
        "llmsTxt": {
          "url": "https://www.getconvoy.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-29T15:03:53.729670385Z"
        },
        "domain": {
          "domain": "getconvoy.io",
          "checkedAt": "2026-10-25T14:05:31.321447679Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/frain-dev/convoy/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-30T05:48:45.468784354Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "91084795c305"
          },
          {
            "url": "https://www.getconvoy.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-30T05:55:46.44523146Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63dc1731ded0"
          },
          {
            "url": "https://www.getconvoy.io/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:55:44.113828757Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2ffdcb5dca1d"
          }
        ],
        "github": {
          "repo": "frain-dev/convoy",
          "checkedAt": "2026-10-26T07:28:32.84394045Z",
          "stars": 2883,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-22T06:54:26Z",
          "openIssues": 34,
          "openPRs": 11,
          "issuesOpened90d": 6,
          "issuesClosed90d": 5,
          "prsMerged90d": 120,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-22T06:54:41Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-p5vg-v7mj-f6q4",
              "cve": "CVE-2026-81505",
              "severity": "high",
              "published": "2026-07-24T14:45:29Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 4,
            "medianDays": 10.1
          }
        },
        "updatedAt": "2026-10-30T13:23:58.914747174Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Georgi Kalchev",
        "b": "Frain Technologies Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://402cron.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Paid",
        "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": "Elastic Licence 2.0 for the gateway (source available, not an OSI licence). The convoy.js SDK is MIT per npm. Convoy Cloud is a proprietary hosted service under Convoy's terms of use",
        "name": "Licence"
      },
      {
        "a": "16",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "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-27",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2023-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars",
        "b": "2.9k stars, 2.3k npm/wk, 679 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "402cron scores 63.5 (B) on agent readiness against Convoy's 62.4 (B), and leads in 3 of 7 scored categories. Convoy leads on reliability, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, 402cron or Convoy?"
      },
      {
        "answer": "402cron takes an API key or an OAuth sign-in. Convoy needs an API key. An agent can also pay 402cron per call over x402, with no account.",
        "question": "Do 402cron and Convoy need an API key?"
      },
      {
        "answer": "402cron has a hosted endpoint at https://402cron.com. No hosted endpoint is listed for Convoy.",
        "question": "Can an agent call 402cron and Convoy without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 76 against 69",
          "Payments \u0026 pricing, 86 against 30"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Convoy loses 6 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, 92 against 45",
          "Security \u0026 auth, 53 against 41",
          "Maintenance \u0026 community, 80 against 62",
          "Transparency \u0026 trust, 69 against 64"
        ],
        "also": null,
        "goodFor": "A product that has to send signed webhooks to its customers' endpoints with retries, replay and a delivery log, or receive third-party webhooks and route them inward.",
        "slug": "convoy",
        "watchFor": "Advisory GHSA-p5vg-v7mj-f6q4 (24 July 2026, High) let a caller on one project read another project's source and broker credentials before v26.6.8"
      }
    ],
    "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-hook0.json",
        "title": "402cron vs Hook0",
        "url": "https://www.anchorterminal.com/compare/402cron-vs-hook0"
      },
      {
        "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-convoy.json",
        "title": "Ably vs Convoy",
        "url": "https://www.anchorterminal.com/compare/ably-vs-convoy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-eventbridge-vs-convoy.json",
        "title": "Amazon EventBridge vs Convoy",
        "url": "https://www.anchorterminal.com/compare/amazon-eventbridge-vs-convoy"
      },
      {
        "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/convoy-vs-hookdeck.json",
        "title": "Convoy vs Hookdeck",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-hookdeck"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-pubnub.json",
        "title": "Convoy vs PubNub",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-pubnub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-pusher-channels.json",
        "title": "Convoy vs Pusher Channels",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-pusher-channels"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-svix.json",
        "title": "Convoy vs Svix",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-svix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-upstash-qstash.json",
        "title": "Convoy vs Upstash QStash",
        "url": "https://www.anchorterminal.com/compare/convoy-vs-upstash-qstash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convoy-vs-webhook-relay.json",
        "title": "Convoy vs Webhook Relay",
        "url": "https://www.anchorterminal.com/compare/convoy-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": 47,
        "convoy": 92,
        "edge": "convoy",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "402cron": 81,
        "by": 3,
        "convoy": 78,
        "edge": "402cron",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "402cron": 76,
        "by": 7,
        "convoy": 69,
        "edge": "402cron",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "402cron": 41,
        "by": 12,
        "convoy": 53,
        "edge": "convoy",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "402cron": 86,
        "by": 56,
        "convoy": 30,
        "edge": "402cron",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "402cron": 62,
        "by": 18,
        "convoy": 80,
        "edge": "convoy",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "402cron": 64,
        "by": 5,
        "convoy": 69,
        "edge": "convoy",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "402cron scores 63.5 (B) on agent readiness against Convoy's 62.4 (B), and leads in 3 of 7 scored categories. Convoy leads on reliability, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do sending webhooks. 402cron accepts x402. Convoy 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.",
      "convoy": "Convoy Cloud runs the same HTTP API as the self-hosted gateway, with a public OpenAPI spec of 68 operations, project-scoped keys, idempotency keys on events and replay endpoints. Two credential exposures were fixed in July and August 2026, one published as a high-severity advisory. Cloud access needs a browser signup, and the trial allows 100 events a day."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/402cron-vs-convoy",
    "json": "https://www.anchorterminal.com/compare/402cron-vs-convoy.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/402cron-vs-convoy.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/402cron-vs-convoy.min.md"
  },
  "markdown": "402cron scores 63.5 (B) on agent readiness against Convoy's 62.4 (B), and leads in 3 of 7 scored categories. Convoy leads on reliability, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do sending webhooks. 402cron accepts x402. Convoy 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- Convoy: grade B, 62.4/100, rank #501 of 1226. Markdown https://www.anchorterminal.com/tools/convoy.md · JSON https://www.anchorterminal.com/api/v1/tools/convoy.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 69\n- Payments \u0026 pricing, 86 against 30\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 Convoy loses 6 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### Convoy (B)\n\nGood for: A product that has to send signed webhooks to its customers' endpoints with retries, replay and a delivery log, or receive third-party webhooks and route them inward.\n\nAhead on:\n- Reliability, 92 against 45\n- Security \u0026 auth, 53 against 41\n- Maintenance \u0026 community, 80 against 62\n- Transparency \u0026 trust, 69 against 64\n\nWatch for: Advisory GHSA-p5vg-v7mj-f6q4 (24 July 2026, High) let a caller on one project read another project's source and broker credentials before v26.6.8\n\n\n## Score by category\n\n| Category | Weight | 402cron | Convoy | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 92 | Convoy +47 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 78 | 402cron +3 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 69 | 402cron +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 53 | Convoy +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 86 | 30 | 402cron +56 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 62 | 80 | Convoy +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 69 | Convoy +5 |\n| Negative events | ≤15 | 0 | -6 | |\n| **Total** | | **63.5 · B** | **62.4 · B** | |\n\n## Facts side by side\n\n| Fact | 402cron | Convoy |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Georgi Kalchev | Frain Technologies Inc. |\n| Hosted endpoint | `https://402cron.com` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Paid |\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 | Elastic Licence 2.0 for the gateway (source available, not an OSI licence). The convoy.js SDK is MIT per npm. Convoy Cloud is a proprietary hosted service under Convoy's terms of use |\n| Tools exposed | 16 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.402cron/402cron` | not listed |\n| Last release | 2026-10-09 | 2026-09-27 |\n| Terms last updated |  |  |\n| Privacy policy last updated |  | 2023-06-01 |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 0 stars | 2.9k stars, 2.3k npm/wk, 679 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**Convoy.** Convoy Cloud runs the same HTTP API as the self-hosted gateway, with a public OpenAPI spec of 68 operations, project-scoped keys, idempotency keys on events and replay endpoints. Two credential exposures were fixed in July and August 2026, one published as a high-severity advisory. Cloud access needs a browser signup, and the trial allows 100 events a day.\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### Convoy\n\n1. Use the regional base URL, https://us.getconvoy.cloud/api/v1 or https://eu.getconvoy.cloud/api/v1. A project key works only under /projects/{projectID}/\n2. Create an endpoint, then a subscription, then the event. An event sent to an endpoint with no subscription isn't dispatched\n3. Send `idempotency_key` on every event. A repeated key creates the event but no delivery, and the key stays reserved until retention deletes the event\n4. Create projects with a personal API key and the `orgID` query parameter. The project key in that response is shown once\n5. Before retrying an endpoint or subscription create, list endpoints by `ownerId`. Idempotency keys cover event ingestion only\n\n## Questions\n\n### Which is better for AI agents, 402cron or Convoy?\n\n402cron scores 63.5 (B) on agent readiness against Convoy's 62.4 (B), and leads in 3 of 7 scored categories. Convoy leads on reliability, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do 402cron and Convoy need an API key?\n\n402cron takes an API key or an OAuth sign-in. Convoy 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 Convoy without installing anything?\n\n402cron has a hosted endpoint at https://402cron.com. No hosted endpoint is listed for Convoy.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/402cron-vs-convoy.json, and with the fewest tokens: https://www.anchorterminal.com/compare/402cron-vs-convoy.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"402cron\", \"b\": \"convoy\"}`. From a terminal: `anchor compare 402cron convoy`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/402cron.json and https://www.anchorterminal.com/api/v1/tools/convoy.json\n\n## Other comparisons with 402cron or Convoy\n\n- [402cron vs Ably](https://www.anchorterminal.com/compare/402cron-vs-ably.md)\n- [402cron vs Hook0](https://www.anchorterminal.com/compare/402cron-vs-hook0.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 Convoy](https://www.anchorterminal.com/compare/ably-vs-convoy.md)\n- [Amazon EventBridge vs Convoy](https://www.anchorterminal.com/compare/amazon-eventbridge-vs-convoy.md)\n- [Convoy vs Hook0](https://www.anchorterminal.com/compare/convoy-vs-hook0.md)\n- [Convoy vs Hookdeck](https://www.anchorterminal.com/compare/convoy-vs-hookdeck.md)\n- [Convoy vs PubNub](https://www.anchorterminal.com/compare/convoy-vs-pubnub.md)\n- [Convoy vs Pusher Channels](https://www.anchorterminal.com/compare/convoy-vs-pusher-channels.md)\n- [Convoy vs Svix](https://www.anchorterminal.com/compare/convoy-vs-svix.md)\n- [Convoy vs Upstash QStash](https://www.anchorterminal.com/compare/convoy-vs-upstash-qstash.md)\n- [Convoy vs Webhook Relay](https://www.anchorterminal.com/compare/convoy-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 Convoy",
        "url": ""
      }
    ],
    "description": "402cron scores 63.5 (B) to Convoy's 62.4 (B) for sending webhooks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "402cron B 63.5",
      "Convoy B 62.4",
      "scores"
    ],
    "h1": "402cron vs Convoy",
    "image": "https://www.anchorterminal.com/assets/og/compare-402cron-vs-convoy.png",
    "path": "/compare/402cron-vs-convoy",
    "published": "2026-10-01",
    "section": "tools",
    "title": "402cron vs Convoy for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/402cron-vs-convoy"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 780
  },
  "version": 1
}
