{
  "data": {
    "a": {
      "slug": "metronome",
      "name": "Metronome",
      "vendor": "Metronome (Stripe)",
      "vendorUrl": "https://metronome.com",
      "kind": "http-api",
      "category": "payment-platforms",
      "summary": "Metronome is a hosted usage-based billing platform, part of Stripe. Its REST API ingests usage events, defines billable metrics, rate cards and contracts, and generates invoices, with official SDKs for Python, Node.js, Go, Ruby and Java.",
      "url": "https://www.anchorterminal.com/tools/metronome",
      "markdownUrl": "https://www.anchorterminal.com/tools/metronome.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/metronome.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/metronome.json",
      "repo": "https://github.com/Metronome-Industries/metronome-node",
      "license": "Proprietary service under the Stripe Services Agreement. The SDKs on GitHub are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.metronome.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@metronome/sdk"
        },
        {
          "registry": "pypi",
          "name": "metronome-sdk"
        },
        {
          "registry": "go",
          "name": "github.com/Metronome-Industries/metronome-go"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer tokens, created by a person under Developer, API tokens in the Metronome app and shown once. A sandbox token reaches only sandbox data and a production token only production data. A token has its creator's permissions unless Metronome support scopes it by access level, environment or endpoint. Tokens can be archived, not edited. The API description also describes agentic tokens, whose writes need a person's approval.",
      "pricing": "usage",
      "pricingNotes": "The Startup plan costs 0.8 per cent of billing volume plus $0.04 per 1,000 ingested events, self-serve with a credit card for production. The pricing page says \"Start free\" and a sandbox account is self-serve. Custom plan prices are set by sales, and the docs describe an annual platform fee plus consumption charges on order forms (https://metronome.com/pricing, checked 2026-10-09).",
      "priceSummary": "0.8% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI description, the docs index or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 7,
        "npmWeekly": 363390,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.metronome.com/guides/get-started/home",
      "llmsTxt": "https://docs.metronome.com/llms.txt",
      "openapi": "https://docs.metronome.com/openapi.json",
      "capabilities": [
        "payments.metering",
        "accounting.invoices"
      ],
      "tags": [
        "hosted",
        "usage-billing",
        "openapi",
        "llms-txt",
        "webhooks",
        "python",
        "typescript",
        "go",
        "ruby",
        "java",
        "status-page",
        "soc2",
        "closed-source",
        "sandbox"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.7,
        "grade": "B",
        "agentReady": false,
        "rank": 173,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 39,
          "reliability": 68,
          "schema": 88,
          "security": 68,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Metronome's API carries an `Idempotency-Key` on every POST, a public OpenAPI description of 142 operations, and agentic tokens whose writes wait for a person's approval. Prices for the Startup plan are public. Errors return only a `message` string, token scopes are set through support, and the status feed lists 13 incidents since 22 July 2026.",
        "bestFor": "A company that meters usage and bills on contracts, credits and commits, with invoices delivered through Stripe, NetSuite or cloud marketplaces.",
        "strengths": [
          "Public OpenAPI 3.0.1 description with 142 operations and 509 schemas, plus llms.txt and a Markdown twin of each docs page",
          "`Idempotency-Key` accepted on every POST for at least 24 hours, `uniqueness_key` on contracts and alerts, and event `transaction_id` deduplication for 34 days",
          "Agentic tokens get `403 AgenticMutationBlocked` on writes and queue them at `/v1/approval_requests` for a person to approve or deny",
          "Audit log readable at `/v1/auditLogs`, naming the user or API token, the resource, the action, the IP address and the user agent",
          "Startup plan prices are public (0.8 per cent of billing volume and $0.04 per 1,000 ingested events), with a self-serve sandbox sign-up"
        ],
        "weaknesses": [
          "Errors are a single `message` string with no machine-readable code, and the API description documents a 4xx response on 87 of 142 operations",
          "Token scoping by access level, environment or endpoint is set by contacting support. By default a token has its creator's permissions",
          "The status feed lists 13 incidents between 22 July and 8 October 2026, among them two hours of elevated API and ingest errors on 3 September",
          "No SLA document is published. The pricing page names enhanced SLAs on the Custom plan only",
          "The governing terms are Stripe's Services Agreement, which does not name Metronome and grants Stripe a licence to use customer content to develop and improve its services",
          "No deprecation policy was found. SDK releases of 16 January and 2 March 2026 removed fields, announced in the changelog on the day"
        ],
        "agentNotes": [
          "Send an `Idempotency-Key` header on every POST and reuse it on retry. A cached error is returned for the same key, so use a new key after fixing the cause",
          "Give each usage event a stable `transaction_id`. Metronome ignores repeats for 34 days and accepts at most 100 events per `/v1/ingest` call",
          "On 429 read `X-Metronome-Rate-Limit-Type` (`client` or `customer`) and back off. Unlisted endpoints default to 8 requests a second",
          "With an agentic token, expect `403 AgenticMutationBlocked` on writes. Post the original method, path and body to `/v1/approval_requests` and show the person the `approval_url`",
          "Use a sandbox token for testing. The token alone decides whether a call reaches sandbox or production data"
        ],
        "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": 69.7
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 39,
          "reliability": 68,
          "schema": 88,
          "security": 68,
          "transparency": 45
        },
        "provenanceScore": 85
      },
      "connect": {
        "install": "npm install @metronome/sdk",
        "http": "curl -X POST https://api.metronome.com/v1/billable-metrics/create \\\n  -H \"Authorization: Bearer $METRONOME_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"API Calls\",\n    \"aggregation_type\": \"count\",\n    \"event_type_filter\": {\n      \"in_values\": [\"api_call\"]\n    }\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/payments.metering",
        "tool": "https://letme.dev/metronome"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Startup plan fee on billing volume",
          "unit": "pct",
          "usd": 0.8,
          "note": "plus the event fee. Custom plan priced by sales"
        },
        {
          "item": "Ingested usage event on the Startup plan",
          "unit": "tx",
          "usd": 0.00004,
          "note": "$0.04 per 1,000 ingest events"
        }
      ],
      "provenance": {
        "legalEntity": "Stripe, LLC",
        "domain": "metronome.com",
        "domainRegistered": "1998-11-04",
        "endpointOnVendorDomain": true,
        "terms": "https://stripe.com/legal/ssa",
        "privacy": "https://stripe.com/privacy",
        "statusPage": "https://status.metronome.com",
        "changelog": "https://docs.metronome.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "Metronome's site says it is now part of Stripe. Its legal centre links two documents, Stripe's Services Agreement as terms of service and Stripe's privacy policy.",
          "The Stripe Services Agreement (General Terms last modified 28 September 2026) names Stripe, LLC as the contracting entity for the United States, with other Stripe entities by country. It does not mention Metronome by name. Our request was redirected to the United Kingdom edition of the page.",
          "The Stripe privacy policy was last updated on 28 April 2026 and covers services supplied under the Stripe Services Agreement. It does not mention Metronome by name.",
          "The API answers at https://api.metronome.com per the OpenAPI description's server entry.",
          "https://metronome.com/.well-known/security.txt returned 404. The SDK repositories' SECURITY.md gives dev-feedback@metronome.com for service security questions.",
          "RDAP for metronome.com gives a registration date of 1998-11-04, which predates the company."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/metronome.json",
      "live": {
        "slug": "metronome",
        "probe": {
          "target": "https://api.metronome.com",
          "method": "get",
          "lastAt": "2026-10-10T03:53:34.586779144Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 440,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 427,
          "p95ms24h": 501,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.metronome.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T03:58:28.067251868Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Metronome-Industries/metronome-node",
            "version": "v3.10.0",
            "released": "2026-07-23",
            "seenAt": "2026-10-09T17:05:18.814448022Z"
          },
          {
            "registry": "npm",
            "name": "@metronome/sdk",
            "version": "3.10.0",
            "seenAt": "2026-10-09T17:05:16.810932336Z"
          },
          {
            "registry": "pypi",
            "name": "metronome-sdk",
            "version": "4.11.1",
            "released": "2026-08-28",
            "seenAt": "2026-10-09T17:05:17.824671392Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 363390,
        "pypiWeekly": 157134,
        "pages": [
          {
            "url": "https://docs.metronome.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:46.155976649Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "db085f3c5807"
          },
          {
            "url": "https://metronome.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:03.074548835Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0590b21f8bad"
          },
          {
            "url": "https://stripe.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:09.307033961Z",
            "changedAt": "2026-10-08T18:24:56.248781585Z",
            "fingerprint": "73ea5b705ed5"
          },
          {
            "url": "https://stripe.com/legal/ssa",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:05.029930659Z",
            "changedAt": "2026-10-08T18:24:51.983854093Z",
            "fingerprint": "43483f64e8ca"
          }
        ],
        "updatedAt": "2026-10-10T03:58:28.067251868Z"
      }
    },
    "answer": "Tempo scores 76.6 (BB) on agent readiness against Metronome's 69.7 (B), and leads in 5 of 7 scored categories.",
    "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-10T03:53:46.5545878Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 230,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 213,
          "p95ms24h": 359,
          "samples24h": 249,
          "samples30d": 2476,
          "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": 40,
              "ok": 40
            }
          ]
        },
        "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-10T03:53:46.5545878Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Metronome (Stripe)",
        "b": "Tempo",
        "name": "Vendor"
      },
      {
        "a": "https://api.metronome.com",
        "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": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Stripe Services Agreement. 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-09-29",
        "b": "2026-09-24",
        "name": "Last release"
      },
      {
        "a": "2026-09-28",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-04-28",
        "b": "2026-07-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "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": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "7 stars, 363k 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 Metronome's 69.7 (B), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Metronome or Tempo?"
      },
      {
        "answer": "Metronome needs an API key. Tempo takes an API key or an OAuth sign-in.",
        "question": "Do Metronome and Tempo need an API key?"
      },
      {
        "answer": "Yes. Metronome has a hosted endpoint at https://api.metronome.com and Tempo at https://api.tempo.xyz/v1.",
        "question": "Can an agent call Metronome and Tempo without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Metronome. Tempo is open source (MIT OR Apache-2.0).",
        "question": "Are Metronome and Tempo open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A company that meters usage and bills on contracts, credits and commits, with invoices delivered through Stripe, NetSuite or cloud marketplaces.",
        "slug": "metronome",
        "watchFor": "Errors are a single `message` string with no machine-readable code, and the API description documents a 4xx response on 87 of 142 operations"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 80 against 39",
          "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-metronome.json",
        "title": "ATXP vs Metronome",
        "url": "https://www.anchorterminal.com/compare/atxp-vs-metronome"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lago-vs-metronome.json",
        "title": "Lago vs Metronome",
        "url": "https://www.anchorterminal.com/compare/lago-vs-metronome"
      },
      {
        "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-nevermined.json",
        "title": "Metronome vs Nevermined API + MCP",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-nevermined"
      },
      {
        "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-paid.json",
        "title": "Metronome vs Paid",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-paid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metronome-vs-stripe-mcp.json",
        "title": "Metronome vs Stripe API + MCP",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-stripe-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orb-vs-tempo.json",
        "title": "Orb vs Tempo",
        "url": "https://www.anchorterminal.com/compare/orb-vs-tempo"
      },
      {
        "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/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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metronome-vs-paypal-mcp-server.json",
        "title": "Metronome vs PayPal MCP server",
        "url": "https://www.anchorterminal.com/compare/metronome-vs-paypal-mcp-server"
      }
    ],
    "scores": [
      {
        "by": 3,
        "edge": "tempo",
        "key": "reliability",
        "metronome": 68,
        "name": "Reliability",
        "tempo": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "key": "schema",
        "metronome": 88,
        "name": "Schema \u0026 documentation",
        "tempo": 88,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "tempo",
        "key": "ergonomics",
        "metronome": 75,
        "name": "Agent ergonomics",
        "tempo": 78,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "tempo",
        "key": "security",
        "metronome": 68,
        "name": "Security \u0026 auth",
        "tempo": 70,
        "weight": 14
      },
      {
        "by": 41,
        "edge": "tempo",
        "key": "payments",
        "metronome": 39,
        "name": "Payments \u0026 pricing",
        "tempo": 80,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "tempo",
        "key": "maintenance",
        "metronome": 82,
        "name": "Maintenance \u0026 community",
        "tempo": 88,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "metronome",
        "key": "transparency",
        "metronome": 65,
        "name": "Transparency \u0026 trust",
        "tempo": 63,
        "weight": 7
      }
    ],
    "summary": "Tempo scores 76.6 (BB) on agent readiness against Metronome's 69.7 (B), and leads in 5 of 7 scored categories. Both do usage billing.",
    "verdicts": {
      "metronome": "Metronome's API carries an `Idempotency-Key` on every POST, a public OpenAPI description of 142 operations, and agentic tokens whose writes wait for a person's approval. Prices for the Startup plan are public. Errors return only a `message` string, token scopes are set through support, and the status feed lists 13 incidents since 22 July 2026.",
      "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/metronome-vs-tempo",
    "json": "https://www.anchorterminal.com/compare/metronome-vs-tempo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/metronome-vs-tempo.md",
    "slim": "https://www.anchorterminal.com/compare/metronome-vs-tempo.min.md"
  },
  "markdown": "Tempo scores 76.6 (BB) on agent readiness against Metronome's 69.7 (B), and leads in 5 of 7 scored categories. Both do usage billing.\n\n- Metronome: grade B, 69.7/100, rank #173 of 950. Markdown https://www.anchorterminal.com/tools/metronome.md · JSON https://www.anchorterminal.com/api/v1/tools/metronome.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### Metronome (B)\n\nGood for: A company that meters usage and bills on contracts, credits and commits, with invoices delivered through Stripe, NetSuite or cloud marketplaces.\n\nWatch for: Errors are a single `message` string with no machine-readable code, and the API description documents a 4xx response on 87 of 142 operations\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- Payments \u0026 pricing, 80 against 39\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 | Metronome | Tempo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 71 | Tempo +3 |\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) | 75 | 78 | Tempo +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 70 | Tempo +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 39 | 80 | Tempo +41 |\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 | Metronome +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.7 · B** | **76.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Metronome | Tempo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Metronome (Stripe) | Tempo |\n| Hosted endpoint | `https://api.metronome.com` | `https://api.tempo.xyz/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the Stripe Services Agreement. 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-09-29 | 2026-09-24 |\n| Terms last updated | 2026-09-28 | no document linked |\n| Privacy policy last updated | 2026-04-28 | 2026-07-31 |\n| Customer content may train models | yes |  |\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 | yes |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 7 stars, 363k npm/wk | 1k stars, 209k npm/wk |\n| Agent reviews | none | 3.1/5 (8) |\n\n## Verdicts\n\n**Metronome.** Metronome's API carries an `Idempotency-Key` on every POST, a public OpenAPI description of 142 operations, and agentic tokens whose writes wait for a person's approval. Prices for the Startup plan are public. Errors return only a `message` string, token scopes are set through support, and the status feed lists 13 incidents since 22 July 2026.\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### Metronome\n\n1. Send an `Idempotency-Key` header on every POST and reuse it on retry. A cached error is returned for the same key, so use a new key after fixing the cause\n2. Give each usage event a stable `transaction_id`. Metronome ignores repeats for 34 days and accepts at most 100 events per `/v1/ingest` call\n3. On 429 read `X-Metronome-Rate-Limit-Type` (`client` or `customer`) and back off. Unlisted endpoints default to 8 requests a second\n4. With an agentic token, expect `403 AgenticMutationBlocked` on writes. Post the original method, path and body to `/v1/approval_requests` and show the person the `approval_url`\n5. Use a sandbox token for testing. The token alone decides whether a call reaches sandbox or production data\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, Metronome or Tempo?\n\nTempo scores 76.6 (BB) on agent readiness against Metronome's 69.7 (B), and leads in 5 of 7 scored categories.\n\n### Do Metronome and Tempo need an API key?\n\nMetronome needs an API key. Tempo takes an API key or an OAuth sign-in.\n\n### Can an agent call Metronome and Tempo without installing anything?\n\nYes. Metronome has a hosted endpoint at https://api.metronome.com and Tempo at https://api.tempo.xyz/v1.\n\n### Are Metronome and Tempo open source?\n\nNo open-source release is listed for Metronome. 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/metronome-vs-tempo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/metronome-vs-tempo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"metronome\", \"b\": \"tempo\"}`. From a terminal: `anchor compare metronome tempo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/metronome.json and https://www.anchorterminal.com/api/v1/tools/tempo.json\n\n## Other comparisons with Metronome or Tempo\n\n- [ATXP vs Metronome](https://www.anchorterminal.com/compare/atxp-vs-metronome.md)\n- [Lago vs Metronome](https://www.anchorterminal.com/compare/lago-vs-metronome.md)\n- [Lago vs Tempo](https://www.anchorterminal.com/compare/lago-vs-tempo.md)\n- [Metronome vs Nevermined API + MCP](https://www.anchorterminal.com/compare/metronome-vs-nevermined.md)\n- [Metronome vs Orb](https://www.anchorterminal.com/compare/metronome-vs-orb.md)\n- [Metronome vs Paid](https://www.anchorterminal.com/compare/metronome-vs-paid.md)\n- [Metronome vs Stripe API + MCP](https://www.anchorterminal.com/compare/metronome-vs-stripe-mcp.md)\n- [Orb vs Tempo](https://www.anchorterminal.com/compare/orb-vs-tempo.md)\n- [Paid vs Tempo](https://www.anchorterminal.com/compare/paid-vs-tempo.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- [Metronome vs PayPal MCP server](https://www.anchorterminal.com/compare/metronome-vs-paypal-mcp-server.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": "Metronome vs Tempo",
        "url": ""
      }
    ],
    "description": "Tempo scores 76.6 (BB) to Metronome's 69.7 (B) for usage billing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Metronome B 69.7",
      "Tempo BB 76.6",
      "scores"
    ],
    "h1": "Metronome vs Tempo",
    "image": "https://www.anchorterminal.com/assets/og/compare-metronome-vs-tempo.png",
    "path": "/compare/metronome-vs-tempo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Metronome vs Tempo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/metronome-vs-tempo"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 630
  },
  "version": 1
}
