{
  "data": {
    "a": {
      "slug": "orb",
      "name": "Orb",
      "vendor": "Orb, Inc.",
      "vendorUrl": "https://www.withorb.com",
      "kind": "http-api",
      "category": "payment-platforms",
      "summary": "Orb is a hosted billing platform for usage-based, seat-based and hybrid pricing. It ingests usage events, computes metrics, and runs plans, subscriptions, prepaid credits and invoices through a REST API with SDKs in six languages.",
      "url": "https://www.anchorterminal.com/tools/orb",
      "markdownUrl": "https://www.anchorterminal.com/tools/orb.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/orb.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/orb.json",
      "repo": "https://github.com/orbcorp/orb-python",
      "license": "Proprietary service under Orb's Platform Terms and Conditions. The SDKs on GitHub are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.withorb.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "orb-billing"
        },
        {
          "registry": "npm",
          "name": "orb-billing"
        },
        {
          "registry": "go",
          "name": "github.com/orbcorp/orb-go"
        }
      ],
      "auth": "api-key",
      "authNotes": "The API takes an API key as a Bearer token. A person creates it in the Orb web app under organisation settings, in test mode or live mode, after Orb's sales team has opened the account. No self-serve sign-up, OAuth flow or programmatic key API was found. Keys can be revoked, which is irreversible, and no scope list was found in the docs.",
      "pricing": "paid",
      "pricingNotes": "No public prices. Core, Advanced and Enterprise all show custom pricing, based on billings and ingested events, with a platform fee on the upper two tiers, and each starts with a sales contact. The terms describe a 30-day free trial that Orb may grant, and test mode works as a sandbox once an account exists. No free tier was found (https://www.withorb.com/pricing, checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI description, the docs index or the pricing page. Orb can charge a Stripe Shared Payment Token granted by a buyer's agent, through the merchant's Stripe account and on request (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 5,
        "npmWeekly": 184768,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.withorb.com",
      "llmsTxt": "https://docs.withorb.com/llms.txt",
      "openapi": "https://docs.withorb.com/api-reference/orb-openapi.json",
      "capabilities": [
        "payments.metering",
        "payments.card"
      ],
      "tags": [
        "hosted",
        "sales-led",
        "enterprise",
        "openapi",
        "llms-txt",
        "webhooks",
        "python",
        "typescript",
        "go",
        "java",
        "kotlin",
        "ruby",
        "status-page",
        "soc2",
        "closed-source"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.5,
        "grade": "B",
        "agentReady": false,
        "rank": 289,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 5,
          "reliability": 77,
          "schema": 88,
          "security": 55,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Orb suits a company that bills on usage and wants one API for events, plans, credits and invoices. It publishes an OpenAPI 3.1 file, numeric rate limits, idempotency keys and a dry-run header. Every plan is priced on request and access starts with sales. No scope list for API keys or public sub-processor list was found.",
        "bestFor": "A software or AI company that bills on usage and needs event metering, plan versioning, prepaid credits, invoicing and revenue reporting behind one API, with Stripe or Adyen collecting the money.",
        "strengths": [
          "Public OpenAPI 3.1 description with 147 operations and 79 webhook events, plus llms.txt and a Markdown twin of every docs page",
          "`Idempotency-Key` on every POST and PATCH for 48 hours, with `Idempotent-Replayed` and `Transient-Error` response headers",
          "A `Dry-Run: True` header validates most write requests and returns the would-be result without saving it",
          "Rate limits are published per category for live, test and trial accounts, from 10 analytics queries a second to 100 reads a second in live mode",
          "SDKs for Python, TypeScript and Go were each released on 9 October 2026, with 30 Python releases since 11 July"
        ],
        "weaknesses": [
          "All three plans (Core, Advanced, Enterprise) show custom pricing only, and the pricing page sends new customers to sales",
          "No list of API key scopes or a read-only key was found. Keys are created in the web app and revocation is irreversible",
          "Audit logs are in private preview and limited to the Enterprise plan",
          "The DPA and SOC reports sit behind an access request, and no public sub-processor list or hosting region was found",
          "The SDK changelog shows the ingestion `debug` parameter removed on 12 September 2026 while the reliability page still refers to it, and the product changelog has no entry"
        ],
        "agentNotes": [
          "Call `https://api.withorb.com/v1` with `Authorization: Bearer \u003ckey\u003e`. A person creates the key in the Orb web app under organisation settings, in test mode or live mode",
          "Send an `Idempotency-Key` of at most 64 characters on every POST and PATCH. A 409 means the first request is still running or the body changed",
          "Add `Dry-Run: True` to check a write first, and confirm `Orb-Dry-Run: true` in the response. Ingest, amend and deprecate event calls ignore it and run for real",
          "Do not send `Idempotency-Key` with `Dry-Run`. Orb returns a validation error",
          "Page with `limit` (default 20, maximum 100) and pass `next_cursor` back as `cursor` while `has_more` is true",
          "Back off exponentially on 429. Test mode allows 5 writes a second and 2,000 ingested events a minute"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.5
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 5,
          "reliability": 77,
          "schema": 88,
          "security": 55,
          "transparency": 45
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "pip install orb-billing",
        "http": "curl --request POST \\\n     --url https://api.withorb.com/v1/subscriptions \\\n     --header 'Dry-Run: True' \\\n     --header 'Accept: application/json' \\\n     --header 'Authorization: Bearer \u003cTOKEN\u003e' \\\n     --header 'Content-Type: application/json'"
      },
      "letme": {
        "capability": "https://letme.dev/payments.metering",
        "tool": "https://letme.dev/orb"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Orb, Inc.",
        "domain": "withorb.com",
        "domainRegistered": "2019-10-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.withorb.com/terms",
        "privacy": "https://www.withorb.com/privacy-policy",
        "statusPage": "https://status.withorb.com",
        "changelog": "https://changelog.withorb.com",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The website terms of use (effective 21 April 2025) give Orb, Inc., 2261 Market Street #5171, San Francisco, CA 94114. The trust centre and the API description's contact block also name Orb, Inc.",
          "The Platform Terms and Conditions at /terms govern the Orb Platform and Orb API to the extent an Order Form refers to them, under California law. No version date was read on the page.",
          "The privacy policy was last updated on 7 May 2025 and covers data collected through the website and the product, including end customers' names and billing addresses.",
          "The API answers at api.withorb.com and the web app at app.withorb.com, both on the vendor's domain.",
          "www.withorb.com/.well-known/security.txt returned 404. The security page gives security@withorb.com and a written disclosure scope.",
          "RDAP for withorb.com gives a registration date of 2019-10-12 and Squarespace Domains II LLC as registrar.",
          "The DPA is available on request by email or through the trust centre at security.withorb.com, and was not read."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/orb.json",
      "live": {
        "slug": "orb",
        "probe": {
          "target": "https://api.withorb.com/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:07:19.26710225Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 279,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 369,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.withorb.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:21.191359015Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "orbcorp/orb-python",
            "version": "v4.83.0",
            "released": "2026-10-09",
            "seenAt": "2026-10-09T17:11:19.948988838Z"
          },
          {
            "registry": "npm",
            "name": "orb-billing",
            "version": "6.27.0",
            "seenAt": "2026-10-09T17:11:19.103890585Z"
          },
          {
            "registry": "pypi",
            "name": "orb-billing",
            "version": "4.83.0",
            "released": "2026-10-09",
            "seenAt": "2026-10-09T17:11:18.985061165Z"
          }
        ],
        "githubStars": 5,
        "npmWeekly": 184768,
        "pypiWeekly": 334816,
        "pages": [
          {
            "url": "https://changelog.withorb.com",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:43.924244658Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2f5e7d2a385a"
          },
          {
            "url": "https://www.withorb.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:42.770953537Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a352af138f81"
          },
          {
            "url": "https://www.withorb.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:45.239973302Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1516bbe57809"
          },
          {
            "url": "https://www.withorb.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:47.191671669Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4e15ade75c2a"
          }
        ],
        "updatedAt": "2026-10-10T02:07:19.26710225Z"
      }
    },
    "answer": "Tempo scores 76.6 (BB) on agent readiness against Orb's 66.5 (B), and leads in 3 of 7 scored categories. Orb leads on reliability and agent ergonomics.",
    "b": {
      "slug": "tempo",
      "name": "Tempo",
      "vendor": "Tempo",
      "vendorUrl": "https://tempo.xyz",
      "kind": "http-api",
      "category": "payment-platforms",
      "summary": "A payments-first Layer 1 chain incubated by Stripe and Paradigm, live on mainnet since 2026-03-18.",
      "url": "https://www.anchorterminal.com/tools/tempo",
      "markdownUrl": "https://www.anchorterminal.com/tools/tempo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tempo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tempo.json",
      "repo": "https://github.com/tempoxyz/tempo",
      "license": "MIT OR Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.tempo.xyz/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "viem"
        },
        {
          "registry": "npm",
          "name": "mppx"
        },
        {
          "registry": "pypi",
          "name": "pympp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Public RPC (rpc.tempo.xyz) and most read endpoints of api.tempo.xyz answer without a key, within a per-IP limit. Those same endpoints accept MPP payment credentials (`Authorization: Payment`) instead of a key. Project-scoped API keys (`tempo:sk:` for production, `tempo_sandbox:sk:` for non-mainnet) carry scopes such as `data:read`, optional IP allowlists, and are required for endpoints such as webhook management. Payments are signed by the paying wallet.",
      "pricing": "usage",
      "pricingNotes": "No platform fee for using the chain. Transaction fees are paid in any supported USD stablecoin, with a dynamic base fee capped at about $0.0006 for a 50,000-gas transfer and a floor around $0.00003. Fees can be sponsored by a fee payer, billed through the Tempo API Console. API calls are free within quota; over quota, anonymous endpoints answer 402 and can be paid per request over MPP, and keyed usage is billed in the console, with no published price for either. Stripe charges its own fees when it settles MPP payments on Tempo (https://tempo.xyz/developers/docs/protocol/fees).",
      "priceSummary": "$0.0006 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Tempo's own API takes MPP, not x402, on its anonymous endpoints (https://tempo.xyz/developers/docs/api/rate-limits). MPP itself added acceptance of x402 exact payments on EVM chains in June 2026 (https://mpp.dev/blog/evm-x402-support).",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 1029,
        "npmWeekly": 209447,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://tempo.xyz/developers/docs",
      "llmsTxt": "https://tempo.xyz/developers/llms.txt",
      "openapi": "https://api.tempo.xyz/openapi.json",
      "capabilities": [
        "payments.stablecoin",
        "payments.metering"
      ],
      "tags": [
        "hosted",
        "open-source",
        "mcp",
        "llms-txt",
        "openapi",
        "stablecoin",
        "typescript",
        "free-tier"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 76.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 27,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 88,
          "payments": 80,
          "reliability": 71,
          "schema": 88,
          "security": 70,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice.",
        "bestFor": "Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.",
        "strengths": [
          "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account",
          "Transaction fees capped around $0.0006 for a transfer and payable in any supported USD stablecoin, with sponsorship",
          "Scoped API keys with rotation, revocation, IP allowlists and hashed storage",
          "Published rate limits with `RateLimit-*` and `Retry-After` headers, one error envelope and cursor pagination",
          "Open-source node under MIT or Apache-2.0 with seven releases since 22 July and a dated changelog"
        ],
        "weaknesses": [
          "The API versioning page says endpoints are not yet stable and may change without notice",
          "No terms of service found for the API, console, CLI or MCP server",
          "No active bug bounty while audits continue",
          "Breaking network upgrades every two to four weeks, with mainnet activation as soon as three days after release",
          "No published price for API usage or per-request MPP payments"
        ],
        "agentNotes": [
          "Send `Authorization: Payment` up front to pay per request; a 402 after quota carries the challenge in `WWW-Authenticate`",
          "Read `RateLimit-Remaining` and `RateLimit-Reset` rather than hardcoding the 20 or 100 a minute defaults",
          "Pass `chainId=testnet` with a sandbox key; a sandbox key sent to mainnet is ignored and the call drops to the anonymous limit",
          "Use `tempo request --dry-run` before paying an MPP endpoint to see the cost",
          "Branch on `error.code`, never on `error.message`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 76.6
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 88,
          "payments": 80,
          "reliability": 71,
          "schema": 88,
          "security": 70,
          "transparency": 50
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl https://api.tempo.xyz/v1/blocks",
        "claudeCode": "claude mcp add --transport http tempo https://mcp.tempo.xyz",
        "config": {
          "mcpServers": {
            "tempo": {
              "url": "https://mcp.tempo.xyz"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/payments.stablecoin",
        "tool": "https://letme.dev/tempo"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Transfer fee cap",
          "unit": "tx",
          "usd": 0.0006,
          "note": "base-fee cap for a 50,000-gas transfer; floor around $0.00003"
        }
      ],
      "provenance": {
        "legalEntity": "Tempo Labs Inc.",
        "domain": "tempo.xyz",
        "domainRegistered": "2017-11-09",
        "domainNote": "tempo.xyz was registered in 2017, before Tempo was founded in 2025, and transferred in September 2025. The privacy policy names Tempo Labs Inc. dba Tempo; no terms of service page was found.",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://tempo.xyz/privacy-policy/",
        "statusPage": "https://status.tempo.xyz",
        "changelog": "https://tempo.xyz/developers/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tempo.json",
      "live": {
        "slug": "tempo",
        "probe": {
          "target": "https://api.tempo.xyz/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:07:27.465731182Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 242,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 213,
          "p95ms24h": 364,
          "samples24h": 250,
          "samples30d": 2458,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tempo.xyz",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:19.580977221Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tempoxyz/tempo",
            "version": "tempo-primitives@1.16.0",
            "released": "2026-10-06",
            "seenAt": "2026-10-09T17:23:58.10804858Z"
          },
          {
            "registry": "npm",
            "name": "mppx",
            "version": "0.13.4",
            "seenAt": "2026-10-09T17:23:56.599451125Z"
          },
          {
            "registry": "npm",
            "name": "viem",
            "version": "2.57.4",
            "seenAt": "2026-10-09T17:23:55.790295075Z"
          },
          {
            "registry": "pypi",
            "name": "pympp",
            "version": "0.11.0",
            "released": "2026-08-28",
            "seenAt": "2026-10-09T17:23:57.984335557Z"
          }
        ],
        "githubStars": 1030,
        "npmWeekly": 6495477,
        "pypiWeekly": 420380,
        "securityTxt": {
          "url": "https://tempo.xyz/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:17.658003872Z"
        },
        "llmsTxt": {
          "url": "https://tempo.xyz/developers/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:53.270049124Z"
        },
        "domain": {
          "domain": "tempo.xyz",
          "registered": "2017-11-09",
          "source": "https://rdap.centralnic.com/xyz/domain/tempo.xyz",
          "checkedAt": "2026-10-04T13:08:55.633115434Z"
        },
        "pages": [
          {
            "url": "https://tempo.xyz/developers/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:37.684534437Z",
            "changedAt": "2026-10-09T18:46:37.684534437Z",
            "fingerprint": "c9d51740aad3"
          },
          {
            "url": "https://tempo.xyz/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:40.193474976Z",
            "changedAt": "2026-10-07T18:10:02.234680476Z",
            "fingerprint": "ab4f2727a67b"
          }
        ],
        "updatedAt": "2026-10-10T02:07:27.465731182Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Orb, Inc.",
        "b": "Tempo",
        "name": "Vendor"
      },
      {
        "a": "https://api.withorb.com/v1",
        "b": "https://api.tempo.xyz/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Orb's Platform Terms and Conditions. The SDKs on GitHub are Apache-2.0",
        "b": "MIT OR Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "4",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-09",
        "b": "2026-09-24",
        "name": "Last release"
      },
      {
        "a": "2024-11-13",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2025-05-07",
        "b": "2026-07-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "5 stars, 185k npm/wk",
        "b": "1k stars, 209k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.1/5 (8)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Tempo scores 76.6 (BB) on agent readiness against Orb's 66.5 (B), and leads in 3 of 7 scored categories. Orb leads on reliability and agent ergonomics.",
        "question": "Which is better for AI agents, Orb or Tempo?"
      },
      {
        "answer": "Orb needs an API key. Tempo takes an API key or an OAuth sign-in.",
        "question": "Do Orb and Tempo need an API key?"
      },
      {
        "answer": "Yes. Orb has a hosted endpoint at https://api.withorb.com/v1 and Tempo at https://api.tempo.xyz/v1.",
        "question": "Can an agent call Orb and Tempo without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Orb. Tempo is open source (MIT OR Apache-2.0).",
        "question": "Are Orb and Tempo open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 77 against 71",
          "Agent ergonomics, 84 against 78"
        ],
        "also": null,
        "goodFor": "A software or AI company that bills on usage and needs event metering, plan versioning, prepaid credits, invoicing and revenue reporting behind one API, with Stripe or Adyen collecting the money.",
        "slug": "orb",
        "watchFor": "All three plans (Core, Advanced, Enterprise) show custom pricing only, and the pricing page sends new customers to sales"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 70 against 55",
          "Payments \u0026 pricing, 80 against 5",
          "Maintenance \u0026 community, 88 against 82"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "goodFor": "Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.",
        "slug": "tempo",
        "watchFor": "The API versioning page says endpoints are not yet stable and may change without notice"
      }
    ],
    "job": {
      "capability": "payments.metering",
      "name": "Usage billing"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/atxp-vs-orb.json",
        "title": "ATXP vs Orb",
        "url": "https://www.anchorterminal.com/compare/atxp-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lago-vs-orb.json",
        "title": "Lago vs Orb",
        "url": "https://www.anchorterminal.com/compare/lago-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lago-vs-tempo.json",
        "title": "Lago vs Tempo",
        "url": "https://www.anchorterminal.com/compare/lago-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metronome-vs-orb.json",
        "title": "Metronome vs Orb",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metronome-vs-tempo.json",
        "title": "Metronome vs Tempo",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nevermined-vs-orb.json",
        "title": "Nevermined API + MCP vs Orb",
        "url": "https://www.anchorterminal.com/compare/nevermined-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-paid.json",
        "title": "Orb vs Paid",
        "url": "https://www.anchorterminal.com/compare/orb-vs-paid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-stripe-mcp.json",
        "title": "Orb vs Stripe API + MCP",
        "url": "https://www.anchorterminal.com/compare/orb-vs-stripe-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paid-vs-tempo.json",
        "title": "Paid vs Tempo",
        "url": "https://www.anchorterminal.com/compare/paid-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adyen-mcp-server-vs-orb.json",
        "title": "Adyen MCP server vs Orb",
        "url": "https://www.anchorterminal.com/compare/adyen-mcp-server-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crossmint-vs-orb.json",
        "title": "Crossmint API + Docs MCP vs Orb",
        "url": "https://www.anchorterminal.com/compare/crossmint-vs-orb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-payman.json",
        "title": "Orb vs Payman Genie MCP",
        "url": "https://www.anchorterminal.com/compare/orb-vs-payman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-skyfire.json",
        "title": "Orb vs Skyfire API + MCP",
        "url": "https://www.anchorterminal.com/compare/orb-vs-skyfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atxp-vs-tempo.json",
        "title": "ATXP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/atxp-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo.json",
        "title": "Circle Gateway Nanopayments vs Tempo",
        "url": "https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crossmint-vs-tempo.json",
        "title": "Crossmint API + Docs MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/crossmint-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nevermined-vs-tempo.json",
        "title": "Nevermined API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/nevermined-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyfire-vs-tempo.json",
        "title": "Skyfire API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/skyfire-vs-tempo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo.json",
        "title": "Stripe API + MCP vs Tempo",
        "url": "https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo"
      }
    ],
    "scores": [
      {
        "by": 6,
        "edge": "orb",
        "key": "reliability",
        "name": "Reliability",
        "orb": 77,
        "tempo": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "orb": 88,
        "tempo": 88,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "orb",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "orb": 84,
        "tempo": 78,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "tempo",
        "key": "security",
        "name": "Security \u0026 auth",
        "orb": 55,
        "tempo": 70,
        "weight": 14
      },
      {
        "by": 75,
        "edge": "tempo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "orb": 5,
        "tempo": 80,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "tempo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "orb": 82,
        "tempo": 88,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "orb",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "orb": 65,
        "tempo": 63,
        "weight": 7
      }
    ],
    "summary": "Tempo scores 76.6 (BB) on agent readiness against Orb's 66.5 (B), and leads in 3 of 7 scored categories. Orb leads on reliability and agent ergonomics. Both do usage billing.",
    "verdicts": {
      "orb": "Orb suits a company that bills on usage and wants one API for events, plans, credits and invoices. It publishes an OpenAPI 3.1 file, numeric rate limits, idempotency keys and a dry-run header. Every plan is priced on request and access starts with sales. No scope list for API keys or public sub-processor list was found.",
      "tempo": "api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/orb-vs-tempo",
    "json": "https://www.anchorterminal.com/compare/orb-vs-tempo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/orb-vs-tempo.md",
    "slim": "https://www.anchorterminal.com/compare/orb-vs-tempo.min.md"
  },
  "markdown": "Tempo scores 76.6 (BB) on agent readiness against Orb's 66.5 (B), and leads in 3 of 7 scored categories. Orb leads on reliability and agent ergonomics. Both do usage billing.\n\n- Orb: grade B, 66.5/100, rank #289 of 950. Markdown https://www.anchorterminal.com/tools/orb.md · JSON https://www.anchorterminal.com/api/v1/tools/orb.json\n- Tempo: grade BB, 76.6/100, rank #27 of 950. Markdown https://www.anchorterminal.com/tools/tempo.md · JSON https://www.anchorterminal.com/api/v1/tools/tempo.json\n- Best payment and monetisation platforms for AI agents: https://www.anchorterminal.com/best/payment-platforms/index.md\n- All 76 platforms comparisons: https://www.anchorterminal.com/compare/payment-platforms/index.md\n\n## Which one, for what\n\n### Orb (B)\n\nGood for: A software or AI company that bills on usage and needs event metering, plan versioning, prepaid credits, invoicing and revenue reporting behind one API, with Stripe or Adyen collecting the money.\n\nAhead on:\n- Reliability, 77 against 71\n- Agent ergonomics, 84 against 78\n\nWatch for: All three plans (Core, Advanced, Enterprise) show custom pricing only, and the pricing page sends new customers to sales\n\n### Tempo (BB)\n\nGood for: Builders who want to settle MPP payments in stablecoins at fractions of a cent, or agents that need chain data and can pay per request without an account.\n\nAhead on:\n- Security \u0026 auth, 70 against 55\n- Payments \u0026 pricing, 80 against 5\n- Maintenance \u0026 community, 88 against 82\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n\nWatch for: The API versioning page says endpoints are not yet stable and may change without notice\n\n\n## Score by category\n\n| Category | Weight | Orb | Tempo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 71 | Orb +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 88 | even |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 78 | Orb +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 70 | Tempo +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 80 | Tempo +75 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 88 | Tempo +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 63 | Orb +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.5 · B** | **76.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Orb | Tempo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Orb, Inc. | Tempo |\n| Hosted endpoint | `https://api.withorb.com/v1` | `https://api.tempo.xyz/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under Orb's Platform Terms and Conditions. The SDKs on GitHub are Apache-2.0 | MIT OR Apache-2.0 |\n| Tools exposed | none | 4 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-09 | 2026-09-24 |\n| Terms last updated | 2024-11-13 | no document linked |\n| Privacy policy last updated | 2025-05-07 | 2026-07-31 |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 5 stars, 185k npm/wk | 1k stars, 209k npm/wk |\n| Agent reviews | none | 3.1/5 (8) |\n\n## Verdicts\n\n**Orb.** Orb suits a company that bills on usage and wants one API for events, plans, credits and invoices. It publishes an OpenAPI 3.1 file, numeric rate limits, idempotency keys and a dry-run header. Every plan is priced on request and access starts with sales. No scope list for API keys or public sub-processor list was found.\n\n**Tempo.** api.tempo.xyz accepts MPP on its anonymous endpoints, so an agent can pay per request without an account. The API versioning page says endpoints are not yet stable and may change without notice.\n\n## Before you call either\n\n### Orb\n\n1. Call `https://api.withorb.com/v1` with `Authorization: Bearer \u003ckey\u003e`. A person creates the key in the Orb web app under organisation settings, in test mode or live mode\n2. Send an `Idempotency-Key` of at most 64 characters on every POST and PATCH. A 409 means the first request is still running or the body changed\n3. Add `Dry-Run: True` to check a write first, and confirm `Orb-Dry-Run: true` in the response. Ingest, amend and deprecate event calls ignore it and run for real\n4. Do not send `Idempotency-Key` with `Dry-Run`. Orb returns a validation error\n5. Page with `limit` (default 20, maximum 100) and pass `next_cursor` back as `cursor` while `has_more` is true\n6. Back off exponentially on 429. Test mode allows 5 writes a second and 2,000 ingested events a minute\n\n### Tempo\n\n1. Send `Authorization: Payment` up front to pay per request; a 402 after quota carries the challenge in `WWW-Authenticate`\n2. Read `RateLimit-Remaining` and `RateLimit-Reset` rather than hardcoding the 20 or 100 a minute defaults\n3. Pass `chainId=testnet` with a sandbox key; a sandbox key sent to mainnet is ignored and the call drops to the anonymous limit\n4. Use `tempo request --dry-run` before paying an MPP endpoint to see the cost\n5. Branch on `error.code`, never on `error.message`\n\n## Questions\n\n### Which is better for AI agents, Orb or Tempo?\n\nTempo scores 76.6 (BB) on agent readiness against Orb's 66.5 (B), and leads in 3 of 7 scored categories. Orb leads on reliability and agent ergonomics.\n\n### Do Orb and Tempo need an API key?\n\nOrb needs an API key. Tempo takes an API key or an OAuth sign-in.\n\n### Can an agent call Orb and Tempo without installing anything?\n\nYes. Orb has a hosted endpoint at https://api.withorb.com/v1 and Tempo at https://api.tempo.xyz/v1.\n\n### Are Orb and Tempo open source?\n\nNo open-source release is listed for Orb. Tempo is open source (MIT OR Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/orb-vs-tempo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/orb-vs-tempo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"orb\", \"b\": \"tempo\"}`. From a terminal: `anchor compare orb tempo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/orb.json and https://www.anchorterminal.com/api/v1/tools/tempo.json\n\n## Other comparisons with Orb or Tempo\n\n- [ATXP vs Orb](https://www.anchorterminal.com/compare/atxp-vs-orb.md)\n- [Lago vs Orb](https://www.anchorterminal.com/compare/lago-vs-orb.md)\n- [Lago vs Tempo](https://www.anchorterminal.com/compare/lago-vs-tempo.md)\n- [Metronome vs Orb](https://www.anchorterminal.com/compare/metronome-vs-orb.md)\n- [Metronome vs Tempo](https://www.anchorterminal.com/compare/metronome-vs-tempo.md)\n- [Nevermined API + MCP vs Orb](https://www.anchorterminal.com/compare/nevermined-vs-orb.md)\n- [Orb vs Paid](https://www.anchorterminal.com/compare/orb-vs-paid.md)\n- [Orb vs Stripe API + MCP](https://www.anchorterminal.com/compare/orb-vs-stripe-mcp.md)\n- [Paid vs Tempo](https://www.anchorterminal.com/compare/paid-vs-tempo.md)\n- [Adyen MCP server vs Orb](https://www.anchorterminal.com/compare/adyen-mcp-server-vs-orb.md)\n- [Crossmint API + Docs MCP vs Orb](https://www.anchorterminal.com/compare/crossmint-vs-orb.md)\n- [Orb vs Payman Genie MCP](https://www.anchorterminal.com/compare/orb-vs-payman.md)\n- [Orb vs Skyfire API + MCP](https://www.anchorterminal.com/compare/orb-vs-skyfire.md)\n- [ATXP vs Tempo](https://www.anchorterminal.com/compare/atxp-vs-tempo.md)\n- [Circle Gateway Nanopayments vs Tempo](https://www.anchorterminal.com/compare/circle-gateway-nanopayments-vs-tempo.md)\n- [Crossmint API + Docs MCP vs Tempo](https://www.anchorterminal.com/compare/crossmint-vs-tempo.md)\n- [Nevermined API + MCP vs Tempo](https://www.anchorterminal.com/compare/nevermined-vs-tempo.md)\n- [Skyfire API + MCP vs Tempo](https://www.anchorterminal.com/compare/skyfire-vs-tempo.md)\n- [Stripe API + MCP vs Tempo](https://www.anchorterminal.com/compare/stripe-mcp-vs-tempo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Orb vs Tempo",
        "url": ""
      }
    ],
    "description": "Tempo scores 76.6 (BB) to Orb's 66.5 (B) for usage billing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Orb B 66.5",
      "Tempo BB 76.6",
      "scores"
    ],
    "h1": "Orb vs Tempo",
    "image": "https://www.anchorterminal.com/assets/og/compare-orb-vs-tempo.png",
    "path": "/compare/orb-vs-tempo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Orb vs Tempo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/orb-vs-tempo"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
