Skip to content

Paddle

PaymentsREST · paddle-rest-v1

Merchant of record and billing for software companies.

Overall score

58.7/100

paddle-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

77% of the rubric

Surfaces
evaluated.

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

paddle-rest-v1restprimary

77% coverage

58.7/100

Criterion
by criterion.

Measured on paddle-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

92/100

Paddle is a merchant-of-record payments/billing API: it performs real side effects (charging customers, creating transactions, subscriptions, refunds/adjustments, credit notes, PDF invoices) and handles proprietary/compliance work an agent cannot simulate — tax-inclusive pricing previews, country/currency data, subscription proration previews, MRR and revenue metrics. None of this is reproducible via inference; it moves money and produces legally binding documents.

Interaction Costmeasured · weight 15

—/100

How many tokens does it cost me just to TALK to this API to complete its category's canonical task?

Error Recoverabilityprobed · weight 15 · Oct 5, 2026

63/100

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

Doc Legibilitymeasured · weight 12 · Oct 5, 2026

17/100

text/markup ratio 3.3% (weight 30) · rendering without JavaScript undetermined (excluded from the calculation) (weight 25) · machine-readable spec: none found (weight 25) · llms.txt: https://developer.paddle.com/llms.txt (weight 10) · 0 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

42/100

Two identical POSTs with the same Idempotency-Key header created TWO distinct resources (pro_01m45zrckjdjs4w0c66n58x0j1 then pro_01m45zrdj9vf5s2wd83xkr89pj). Every network timeout becomes 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

53/100

No discoverable field selection (tested fields, select, _fields, expand, properties): the agent swallows the whole resource. (weight 35) · 284 bytes per returned object (2 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

—/100

How many calls for a single business intent?

Prior Knowledge Coveragemeasured · weight 5 · Oct 5, 2026

0/100

No successful run (0/2): interaction cost not measurable. Cold, without documentation: 0/1 succeeded.

Async Compatibilityprobed · weight 2 · Oct 5, 2026

100/100

POST /products returns an identifier, and GET /products/{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-customer15,95752withoutfailed
charge-a-customer21,61141withfailed
charge-a-customer72,070103withfailed