Skip to content

Stripe

PaymentsREST · stripe-rest-v1

Payment infrastructure for the internet.

Overall score

77.2/100

stripe-rest-v1

Measured Oct 5, 2026

Status

Ranked

Complete benchmark. `overall` is a weighted average of the applicable criteria, comparable to other surfaces in the same category and the same rubric version.

Coverage

98% of the rubric

Surfaces
evaluated.

We score a surface, not a product. One product often exposes several, and they are not worth the same.

stripe-rest-v1restprimary

98% coverage

77.2/100

Criterion
by criterion.

Measured on stripe-rest-v1, rubric v0.2.0. A criterion with no score is not counted as zero: it is excluded and the weights are renormalised.

Offload Valuejudged · weight 15 · Oct 5, 2026

97/100

Stripe performs real-world irreversible side effects an agent cannot simulate: moving funds, charging cards, payouts, transfers, refunds, subscriptions, tax rates, fraud/radar, identity and compliance. It also interacts with banking networks and card issuers, returning decline codes and network advice codes no amount of inference could produce. This is far beyond storage.

  • https://docs.stripe.com/api
    You can use the Stripe API in sandboxes without affecting your live data or interacting with banking networks.
  • https://docs.stripe.com/api
    You can use the Stripe API in sandboxes without affecting your live data or interacting with banking networks.
  • https://docs.stripe.com/api
    You can use the Stripe API in sandboxes without affecting your live data or interacting with banking networks.

Interaction Costmeasured · weight 15 · Oct 5, 2026

67/100

Median over 2 successful run(s): 17720 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Error Recoverabilityprobed · weight 15 · Oct 5, 2026

80/100

unknown_endpoint → HTTP 404, clarity 85/100 (field named: yes, allowed values: yes, RFC 9457: no) · wrong_type → HTTP 400, clarity 85/100 (field named: yes, allowed values: yes, RFC 9457: no) · hallucinated_enum → HTTP 400, clarity 85/100 (field named: yes, allowed values: yes, RFC 9457: no) · unknown_field → HTTP 400, clarity 85/100 (field named: yes, allowed values: yes, RFC 9457: no) · missing_required_param → HTTP 400, clarity 60/100 (field named: no, allowed values: yes, RFC 9457: no) · idempotency_replay → HTTP 200, clarity 30/100 (field named: no, allowed values: no, RFC 9457: no)

Doc Legibilitymeasured · weight 12 · Oct 5, 2026

24/100

text/markup ratio 0.7% (weight 30) · rendering without JavaScript undetermined (excluded from the calculation) (weight 25) · machine-readable spec: none found (weight 25) · llms.txt: https://docs.stripe.com/llms.txt (weight 10) · 2 runnable example(s) (weight 10). Weighted average over 75 points of available sub-criteria.

Auth Frictionmeasured · weight 10 · Oct 5, 2026

95/100

Authorization: Bearer <key>, verified by a successful call. One header, no ceremony.

Safety & Reversibilityprobed · weight 10 · Oct 5, 2026

100/100

Two identical POSTs with the same Idempotency-Key header return the same resource (cus_VNwfjOMrDryZg6). An agent can retry without risking a duplicate. (weight 35) · Isolated test environment available. (weight 25). Weighted average over 60 points of measured sub-criteria.

Payload Efficiencyprobed · weight 8 · Oct 5, 2026

46/100

No discoverable field selection (tested fields, select, _fields, expand, properties): the agent swallows the whole resource. (weight 35) · 527 bytes per returned object (7 object(s) in the control response). (weight 25) · Cursor pagination detected ("has_more"). (weight 20) · One list envelope, standard. (weight 10) · No ETag. (Compression is not measurable: the runtime decompresses it and strips the header.) (weight 10). Weighted average over 100 points of measured sub-criteria.

Task Atomicitymeasured · weight 6 · Oct 5, 2026

100/100

Median over 2 successful run(s): 17720 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Prior Knowledge Coveragemeasured · weight 5 · Oct 5, 2026

100/100

Median over 2 successful run(s): 17720 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Async Compatibilityprobed · weight 2 · Oct 5, 2026

100/100

POST /customers returns an identifier, and GET /customers/{id} reads it back (HTTP 200): the result can be retrieved by polling, with no server to host. Long-polling / SSE not probed, excluded from the weighting.

Tool-Native (MCP)binary · weight 2

—/100

Does the vendor publish an official, maintained MCP server?

Runs, verified
never on the agent’s word.

Every row is a real attempt at the category’s canonical task. Success is verified by reading the created resource back.

TaskTokensCallsErrorsDocsResult
charge-a-customer13,29930withoutverified
charge-a-customer21,08240withverified
charge-a-customer14,35830withverified