Skip to content

How Stripe Terminal’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score32/100

Agent-ready 59.2 × 0.30 = 17.76

API quality 32.9 × 0.20 = 6.58

Openness 17.1 × 0.20 = 3.42

Built-in AI 9.3 × 0.15 = 1.40

Automation 18.0 × 0.15 = 2.70

(17.76 + 6.58 + 3.42 + 1.40 + 2.70) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 31.86 ÷ 1.00 = 31.9

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready59.2/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [probe] https://docs.stripe.com/llms.txtPROBE llms.txt: HTTP 200 at https://docs.stripe.com/llms.txt # Stripe Documentation When installing Stripe packages, always check the npm registry for the latest version rather tha
  • [probe] https://docs.stripe.com/terminal.mdPROBE docs-md: HTTP 200 at https://docs.stripe.com/terminal.md # Terminal Use Stripe Terminal to accept in-person payments. Stripe Terminal allows businesses to accept in-person pay
  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.

Run the product headlessly / in CI for automationweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://docs.stripe.com/terminal/references/testing.mdStripe Terminal SDKs and server-driven integration come with a built-in simulated card reader, so you can develop and test your app without connecting to physical hardware.
  • [claimed-docs] https://docs.stripe.com/cli.mdThe Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Connect an agent via an official MCP serverweight 3

3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max

  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [probe] https://docs.stripe.com/mcpofficial MCP server documented at https://docs.stripe.com/mcp
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.

Use an official CLIweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.stripe.com/cli.mdThe Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.
  • [probe] https://docs.stripe.com/stripe-cliofficial CLI documented at https://docs.stripe.com/stripe-cli

Drive the product through a documented public APIweight 3

3 (weight) × 9 (quality) × 1.0 (full) = 27.0 of 30 max

  • [claimed-docs] https://docs.stripe.com/terminal.mdBuild a custom POS integration tailored to your business. Terminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.
  • [claimed-docs] https://docs.stripe.com/terminal.mdTerminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.
  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.
  • [claimed-docs] https://docs.stripe.com/cli.mdThe Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.
  • [claimed-docs] https://docs.stripe.com/webhooks.mdListen for events from Stripe on your webhook endpoint so your integration can automatically trigger reactions. You can create an HTTPS webhook endpoint to receive events. After you register a webhook endpoint, Stripe pushes real-time data to it when events occur.
  • [community] https://news.ycombinator.com/item?id=18007255We spent a lot of time building a terminal at Sidestep on top of Stripe (and a few other processors). The hardest part wasn't managing devices, but hardware integration for accepting cards... the ability to fully integrate with the API on a terminal level is the most powerful thing here, especially combined with Stripe Connect.
  • [probe] https://docs.stripe.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.stripe.com/openapi.json, https://docs.stripe.com/swagger.json, https://docs.stripe.com/api/openapi.json, https://docs.stripe.com/.well-known/openapi.json)

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.stripe.com/terminal.mdBuild a custom POS integration tailored to your business. Terminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.
  • [claimed-docs] https://docs.stripe.com/terminal.mdTerminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.
  • [github] https://github.com/stripe/terminal-jsUse the Terminal JS SDK as an ES module.
  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.
  • [claimed-docs] https://docs.stripe.com/cli.mdThe Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.
  • [community] https://news.ycombinator.com/item?id=18007255We spent a lot of time building a terminal at Sidestep on top of Stripe (and a few other processors). The hardest part wasn't managing devices, but hardware integration for accepting cards... the ability to fully integrate with the API on a terminal level is the most powerful thing here, especially combined with Stripe Connect.
  • [probe] https://docs.stripe.com/terminal.mdPROBE docs-md: HTTP 200 at https://docs.stripe.com/terminal.md # Terminal Use Stripe Terminal to accept in-person payments. Stripe Terminal allows businesses to accept in-person pay

Subscribe to events via webhooksweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://docs.stripe.com/webhooks.mdListen for events from Stripe on your webhook endpoint so your integration can automatically trigger reactions. You can create an HTTPS webhook endpoint to receive events. After you register a webhook endpoint, Stripe pushes real-time data to it when events occur.

Agent-ready = 106.6 ÷ 180 × 100 = 59.2

API quality32.9/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://docs.stripe.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.stripe.com/openapi.json, https://docs.stripe.com/swagger.json, https://docs.stripe.com/api/openapi.json, https://docs.stripe.com/.well-known/openapi.json)
  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.
  • [probe] https://docs.stripe.com/terminal.mdPROBE docs-md: HTTP 200 at https://docs.stripe.com/terminal.md # Terminal Use Stripe Terminal to accept in-person payments. Stripe Terminal allows businesses to accept in-person pay

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.
  • [probe] https://docs.stripe.com/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.stripe.com/openapi.json, https://docs.stripe.com/swagger.json, https://docs.stripe.com/api/openapi.json, https://docs.stripe.com/.well-known/openapi.json)

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 7 (quality) × 1.0 (full) = 7.0 of 10 max

  • [claimed-docs] https://docs.stripe.com/terminal/references/testing.mdStripe Terminal SDKs and server-driven integration come with a built-in simulated card reader, so you can develop and test your app without connecting to physical hardware.

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.

API quality = 23.0 ÷ 70 × 100 = 32.9

Openness17.1/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 7 (quality) × 0.6 (partial) = 8.4 of 20 max

  • [claimed-docs] https://docs.stripe.com/terminal.mdBuild a custom POS integration tailored to your business. Terminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.
  • [claimed-docs] https://docs.stripe.com/terminal/fleet/locations-and-zones.md?dashboard-or-api=apiYou can streamline the management of multiple readers across different physical sites by using locations and zones.
  • [claimed-docs] https://docs.stripe.com/terminal/fleet/register-readers.mdYou can register readers using their serial number. This method doesn’t require someone to physically have the reader to register it, so you can use it immediately after you unbox it.
  • [claimed-docs] https://docs.stripe.com/terminal/features/receipts.mdYou can use Stripe’s prebuilt email receipts, or use receipt data from the Stripe API and your Terminal integration to generate on-brand custom receipts.
  • [claimed-docs] https://docs.stripe.com/terminal/fleet/register-readers.mdYou can register smart readers in one of three ways: - Registration code - Serial number - Order number
  • [claimed-docs] https://docs.stripe.com/refunds.mdYou can issue refunds by using the Refunds API or the Dashboard.
  • [claimed-docs] https://docs.stripe.com/terminal/overview.mdReader management: Order, register, configure, and monitor readers from the Dashboard.
  • [community] https://news.ycombinator.com/item?id=18007255We spent a lot of time building a terminal at Sidestep on top of Stripe (and a few other processors). The hardest part wasn't managing devices, but hardware integration for accepting cards... the ability to fully integrate with the API on a terminal level is the most powerful thing here, especially combined with Stripe Connect.

Export all of my data in open formats and leaveweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [github] https://github.com/stripe/terminal-jsUse the Terminal JS SDK as an ES module.
  • [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.mdStripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.

Self-host the core productweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Openness = 12.0 ÷ 70 × 100 = 17.1

Built-in AI9.3/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://docs.stripe.com/webhooks.mdListen for events from Stripe on your webhook endpoint so your integration can automatically trigger reactions. You can create an HTTPS webhook endpoint to receive events. After you register a webhook endpoint, Stripe pushes real-time data to it when events occur.
  • [claimed-docs] https://docs.stripe.com/disputes.mdTo help you submit the best possible response for each dispute, Stripe guides you through the process in the Dashboard. Use Smart Disputes to automate evidence collection and submission for eligible disputes.
  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.
  • [probe] https://docs.stripe.com/mcpofficial MCP server documented at https://docs.stripe.com/mcp

Operate the product with natural-language commandsweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://docs.stripe.com/mcp.mdThe Stripe Model Context Protocol (MCP) server provides tools that AI agents can use to interact with the Stripe API and search Stripe’s knowledge base, including documentation and support articles.
  • [probe] https://docs.stripe.com/mcpofficial MCP server documented at https://docs.stripe.com/mcp
  • [claimed-docs] https://docs.stripe.com/agents.mdAgents and AI on Stripe: Build with agent-first developer tools, and sell agent-enabled products and services. Build your integration with agent-first developer tools, charge your users for AI features with usage-based billing, and let agents transact on your behalf through agentic commerce.

Built-in AI = 8.4 ÷ 90 × 100 = 9.3

Automation18.0/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.stripe.com/terminal/fleet/locations-and-zones.md?dashboard-or-api=apiYou can streamline the management of multiple readers across different physical sites by using locations and zones.
  • [claimed-docs] https://docs.stripe.com/terminal/fleet/register-readers.mdYou can register readers using their serial number. This method doesn’t require someone to physically have the reader to register it, so you can use it immediately after you unbox it.
  • [claimed-docs] https://docs.stripe.com/terminal/fleet/register-readers.mdYou can register smart readers in one of three ways: - Registration code - Serial number - Order number

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max

  • [claimed-docs] https://docs.stripe.com/webhooks.mdListen for events from Stripe on your webhook endpoint so your integration can automatically trigger reactions. You can create an HTTPS webhook endpoint to receive events. After you register a webhook endpoint, Stripe pushes real-time data to it when events occur.
  • [claimed-docs] https://docs.stripe.com/disputes.mdTo help you submit the best possible response for each dispute, Stripe guides you through the process in the Dashboard. Use Smart Disputes to automate evidence collection and submission for eligible disputes.

Schedule recurring jobs or workflowsweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 9.0 ÷ 50 × 100 = 18.0