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.txt“PROBE 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.md“PROBE 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.md“The 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.md“Agents 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.md“Stripe 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.md“The 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.md“The 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/mcp“official MCP server documented at https://docs.stripe.com/mcp”
- [claimed-docs] https://docs.stripe.com/agents.md“Agents 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.md“The Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.”
- [probe] https://docs.stripe.com/stripe-cli“official 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.md“Build 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.md“Terminal 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.md“Stripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.”
- [claimed-docs] https://docs.stripe.com/cli.md“The Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.”
- [claimed-docs] https://docs.stripe.com/webhooks.md“Listen 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=18007255“We 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.json“PROBE 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.md“The 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.md“Agents 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.md“Build 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.md“Terminal supports an API-based integration in addition to SDKs for Android, iOS, JavaScript, and React Native.”
- [github] https://github.com/stripe/terminal-js“Use the Terminal JS SDK as an ES module.”
- [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.md“Stripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.”
- [claimed-docs] https://docs.stripe.com/cli.md“The Stripe CLI helps you build, test, and manage your Stripe integration right from the terminal.”
- [community] https://news.ycombinator.com/item?id=18007255“We 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.md“PROBE 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.md“Listen 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.json“PROBE 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.md“Stripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.”
- [probe] https://docs.stripe.com/terminal.md“PROBE 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.md“Stripe's OpenAPI Specification: This repository contains OpenAPI specifications for Stripe's API.”
- [probe] https://docs.stripe.com/openapi.json“PROBE 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.md“Stripe 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.md“Stripe'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.md“Build 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=api“You 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.md“You 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.md“You 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.md“You can register smart readers in one of three ways: - Registration code - Serial number - Order number”
- [claimed-docs] https://docs.stripe.com/refunds.md“You can issue refunds by using the Refunds API or the Dashboard.”
- [claimed-docs] https://docs.stripe.com/terminal/overview.md“Reader management: Order, register, configure, and monitor readers from the Dashboard.”
- [community] https://news.ycombinator.com/item?id=18007255“We 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-js“Use the Terminal JS SDK as an ES module.”
- [claimed-docs] https://raw.githubusercontent.com/stripe/openapi/HEAD/README.md“Stripe'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.md“Listen 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.md“To 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.md“The 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.md“Agents 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.md“The 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.md“Agents 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/mcp“official 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.md“The 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/mcp“official MCP server documented at https://docs.stripe.com/mcp”
- [claimed-docs] https://docs.stripe.com/agents.md“Agents 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=api“You 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.md“You 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.md“You 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.md“Listen 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.md“To 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