AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 35 Bitcoin

Refactor: Move Bitpay stuff in its own plugin

Public commit record

What the developer wrote

Authored by Nicolas Dorier

57/100 · Thin
Refactor: Move Bitpay stuff in its own plugin
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
The short version

What changed, and why it matters

This commit is a large code refactor that moves BTCPay Server's Bitpay-compatible API from the core application into a separate plugin. It relocates controllers, authentication, models, views, and middleware into a new Plugins/Bitpay folder, updates tests and dependency injection, and replaces the old middleware-based Bitpay API detection with a new endpoint selector policy. The change itself is structural rather than a targeted security fix, but any large refactor of authentication and routing code carries a risk of accidentally changing access-control behavior.

Recommended action

Treat this as a high-touch refactor requiring careful regression testing of Bitpay API authentication, authorization, CORS behavior, and invoice/rates/tokens endpoints. Verify that the new endpoint selector policy enforces the same route visibility as the old BitpayAPIConstraintAttribute and that anonymous/public endpoints (e.g., /rates, anyone-can-create-invoice) still behave identically. Review plugin load order and ensure the Bitpay plugin is enabled by default in production deployments to avoid breaking existing integrations.

Security signals we found

01

Authentication and authorization handlers moved into a plugin

02

Routing/endpoint selection logic for Bitpay API rewritten

03

CORS handling for Bitpay endpoints relocated from middleware to controller/plugin layer

04

Core DI no longer registers Bitpay-specific services by default

05

Large file move with many namespace and using changes

Risk score

Why this scored 35/100

Our methodology →
Potential impact 5/30
Exploitability 5/25
Stealth signal 5/15
Affected reach 10/15
Confidence 7/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.