How Stripe Issuing’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 Score33/100
Agent-ready 64.7 × 0.30 = 19.41
API quality 10.3 × 0.20 = 2.06
Openness 16.8 × 0.20 = 3.36
Built-in AI 41.3 × 0.15 = 6.19
Automation 15.4 × 0.15 = 2.31
(19.41 + 2.06 + 3.36 + 6.19 + 2.31) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 33.34 ÷ 1.00 = 33.3
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-ready64.7/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) × 8 (quality) × 1.0 (full) = 16.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/issuing.md“PROBE docs-md: HTTP 200 at https://docs.stripe.com/issuing.md # Issuing Use the Stripe Issuing API to create, manage, and distribute payment cards for your business. Commercial iss”
- [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”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.stripe.com/api/issuing/cards/create.md“Creates an Issuing `Card` object.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing.md“Test the integration: Simulate test purchases before going live.”
- [probe] https://docs.stripe.com/stripe-cli“official CLI documented at https://docs.stripe.com/stripe-cli”
- [community] https://hn.algolia.com/api/v1/items/17619352“We would be entirely API used for QA automation. Looked through the docs and meets the same needs that Emburse meets.”
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
- [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”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
Connect an agent via an official MCP serverweight 3
3 (weight) × 7 (quality) × 1.0 (full) = 21.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”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
Use an official CLIweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [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/api/issuing/cards/create.md“Creates an Issuing `Card` object.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing/purchases/disputes.md“Stripe offers a guided Dashboard process and an API to submit disputes and monitor them through to resolution.”
- [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/issuing.md“PROBE docs-md: HTTP 200 at https://docs.stripe.com/issuing.md # Issuing Use the Stripe Issuing API to create, manage, and distribute payment cards for your business. Commercial iss”
- [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)”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
- [probe] https://docs.stripe.com/stripe-cli“official CLI documented at https://docs.stripe.com/stripe-cli”
- [community] https://hn.algolia.com/api/v1/items/17619352“We would be entirely API used for QA automation. Looked through the docs and meets the same needs that Emburse meets.”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Issue virtual cards scoped to a single task or session. Cards are automatically invalidated after use.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Get machine learning-generated risk scores on every authorization, including fraud risk, merchant dispute risk, and card testing detections.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/spending-controls.md“You can use spending controls to block merchant categories (for example, bakeries), countries, merchant IDs, or card presence, and to set spending limits per authorization or per month.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
Build against official SDKsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.stripe.com/api/issuing/cards/create.md“Creates an Issuing `Card` object.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
- [probe] https://docs.stripe.com/issuing.md“PROBE docs-md: HTTP 200 at https://docs.stripe.com/issuing.md # Issuing Use the Stripe Issuing API to create, manage, and distribute payment cards for your business. Commercial iss”
- [probe] https://docs.stripe.com/stripe-cli“official CLI documented at https://docs.stripe.com/stripe-cli”
- [community] https://hn.algolia.com/api/v1/items/17619352“We would be entirely API used for QA automation. Looked through the docs and meets the same needs that Emburse meets.”
Subscribe to events via webhooksweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/spending-controls.md“You can use spending controls to block merchant categories (for example, bakeries), countries, merchant IDs, or card presence, and to set spending limits per authorization or per month.”
Agent-ready = 116.4 ÷ 180 × 100 = 64.7
API quality10.3/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) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://docs.stripe.com/api/issuing/cards/create.md“Creates an Issuing `Card` object.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
- [probe] https://docs.stripe.com/issuing.md“PROBE docs-md: HTTP 200 at https://docs.stripe.com/issuing.md # Issuing Use the Stripe Issuing API to create, manage, and distribute payment cards for your business. Commercial iss”
- [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)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 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)”
- [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/issuing.md“PROBE docs-md: HTTP 200 at https://docs.stripe.com/issuing.md # Issuing Use the Stripe Issuing API to create, manage, and distribute payment cards for your business. Commercial iss”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 6 (quality) × 0.6 (partial) = 3.6 of 10 max
- [claimed-docs] https://docs.stripe.com/issuing.md“Test the integration: Simulate test purchases before going live.”
- [community] https://hn.algolia.com/api/v1/items/17619352“We would be entirely API used for QA automation. Looked through the docs and meets the same needs that Emburse meets.”
Rely on versioned APIs with a documented deprecation policyweight 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
API quality = 7.2 ÷ 70 × 100 = 10.3
Openness16.8/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/api/issuing/cards/create.md“Creates an Issuing `Card` object.”
- [claimed-docs] https://docs.stripe.com/api/issuing/cardholders/create.md“Creates a new Issuing `Cardholder` object that can be issued cards.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/spending-controls.md“You can use spending controls to block merchant categories (for example, bakeries), countries, merchant IDs, or card presence, and to set spending limits per authorization or per month.”
- [claimed-docs] https://docs.stripe.com/issuing/funding/balance.md“Using the Stripe Dashboard or API, you can access the bank account and routing information you need to push funds from your external bank account.”
- [claimed-docs] https://docs.stripe.com/issuing/purchases/disputes.md“Stripe offers a guided Dashboard process and an API to submit disputes and monitor them through to resolution.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Issue virtual cards scoped to a single task or session. Cards are automatically invalidated after use.”
- [claimed-docs] https://docs.stripe.com/issuing.md“Issue cards to connected accounts: Learn how to issue cards as a Connect platform to third parties represented as connected accounts.”
- [community] https://hn.algolia.com/api/v1/items/17619352“We would be entirely API used for QA automation. Looked through the docs and meets the same needs that Emburse meets.”
- [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)”
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
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
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 = 8.4 ÷ 50 × 100 = 16.8
Built-in AI41.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) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Get machine learning-generated risk scores on every authorization, including fraud risk, merchant dispute risk, and card testing detections.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/spending-controls.md“You can use spending controls to block merchant categories (for example, bakeries), countries, merchant IDs, or card presence, and to set spending limits per authorization or per month.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Issue virtual cards scoped to a single task or session. Cards are automatically invalidated after use.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Get machine learning-generated risk scores on every authorization, including fraud risk, merchant dispute risk, and card testing detections.”
- [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”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
Delegate tasks to a built-in AI assistant inside the 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
Operate the product with natural-language commandsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 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”
- [probe] https://docs.stripe.com/mcp“official MCP server documented at https://docs.stripe.com/mcp”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Issue virtual cards scoped to a single task or session. Cards are automatically invalidated after use.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Get machine learning-generated risk scores on every authorization, including fraud risk, merchant dispute risk, and card testing detections.”
Built-in AI = 24.8 ÷ 60 × 100 = 41.3
Automation15.4/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
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max
- [claimed-docs] https://docs.stripe.com/issuing/controls/real-time-authorizations.md“Using the synchronous webhook, you can approve or decline authorization requests in real time.”
- [claimed-docs] https://docs.stripe.com/issuing/controls/spending-controls.md“You can use spending controls to block merchant categories (for example, bakeries), countries, merchant IDs, or card presence, and to set spending limits per authorization or per month.”
- [claimed-docs] https://docs.stripe.com/issuing/agents.md“Get machine learning-generated risk scores on every authorization, including fraud risk, merchant dispute risk, and card testing detections.”
Schedule recurring jobs or workflowsweight 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
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 = 10.8 ÷ 70 × 100 = 15.4