TECHNICAL CASE STUDY / BITCOIN PAYMENTS · OPEN SOURCE

BTCPay Server ecosystem
Early hands-on work in non-custodial payment infrastructure.

Approximately three years of contracted freelance development with the BTCPay Server team during 2017–2023, combining hands-on engineering and open-source contributions with workshops, conference speaking and participation in the Bitcoin and Lightning communities.

ROLEContracted freelance developer · Open-source contributor · Workshop facilitator · Conference speaker
STATUSHistorical contract and contribution record
Architecture sequence diagram
DELIVERY EVIDENCE / ENGINEERING MATURITY

What reached the real world.

Delivered outcomes come first. The remaining categories show what is implemented, what has test evidence, what is deployed and what is still staged or planned.

DELIVERED

What reached users, operators or an upstream project — the outcome, not just the code.

  • Approximately three years of contracted freelance engineering and accepted upstream contributions within the BTCPay Server ecosystem
IMPLEMENTED

Capabilities evidenced in source code or project documentation.

  • BTCPayServer.Vault repository contains a local web service and browser-to-hardware-wallet bridge
  • Merged upstream contributions include dependency, documentation and macOS repository improvements
TEST EVIDENCE

Automated test coverage or documented test evidence; not a blanket passing-build guarantee.

  • Merged upstream pull requests provide maintainer-accepted change evidence; no independent claim about historical CI results is made here
DEPLOYED

Live product surfaces or historically operated deployments, with scope stated.

  • Contributions were made within the established BTCPay Server open-source ecosystem; this is not presented as a product or deployment owned by the studio
PLANNED / STAGED

Known release boundaries, future work or areas not claimed as complete.

  • Closed or unmerged proposals are identified separately and are not counted as delivered upstream features
THE PROBLEM

Why this needed
to be engineered.

Self-hosted payment infrastructure has to make complex systems approachable without compromising user control. That spans installation, developer setup, payment handling, browser compatibility, wallet permissions and documentation.

Contribute practical fixes and improvements across the product and supporting repositories, while also helping explain Bitcoin and Lightning payment technology through workshops and conference speaking. This work combined engineering inside a complex open-source payment system with direct engagement across its developer and user communities.

SYSTEM ARCHITECTURE

How the pieces fit together.

01

BTCPay Server web application and payment handlers

02

Bitcoin node and NBXplorer payment tracking components

03

Docker-based deployment and supporting Azure deployment tooling

04

BTCPayServer.Vault local web service wrapping HWI

05

Browser-to-local-wallet bridge with explicit origin permission

TECHNOLOGY CHOICES

Tools chosen for the job.

C# / .NETASP.NET CoreJavaScriptDockerAzure deploymentBitcoinLightning NetworkHardware Wallet Interface (HWI)
DECISION 01

Permissioned hardware-wallet access

BTCPayServer.Vault exposes a local service on loopback and prompts users to grant access to a requesting web origin before forwarding HWI commands.

DECISION 02

Developer environment fixes

Historical contributions addressed project setup and macOS Visual Studio development issues.

DECISION 03

Payment clarity

A proposed Lightning payment display change formatted satoshi values with readable grouping; it is listed as a proposal, not claimed as merged.

DECISION 04

Technical knowledge shared with the community

Alongside engineering work, the engagement included workshops, conference speaking and participation at BitBrum and Bitcoin Conference events. Esky also attended the Lightning Conference with the BTCPay team, bringing practical implementation experience into community and industry settings.

DECISION 05

Small upstream improvements

Merged pull requests include a dependency update, documentation-link fixes and macOS repository hygiene.

ENGINEERING CHALLENGES

Problems solved along the way.

CHALLENGE 01

Hardware wallet browser compatibility

A Safari compatibility issue in the Vault bridge was investigated through a proposed localhost-to-127.0.0.1 change; that pull request was closed and is not claimed as merged.

CHALLENGE 02

Developer experience on macOS

Changes addressed Visual Studio project configuration and generated .DS_Store noise in repositories.

CHALLENGE 03

Explaining complex payment technology

Workshops and conference speaking required translating Bitcoin and Lightning payment concepts and practical BTCPay workflows for technical and community audiences.

CHALLENGE 04

Keeping documentation usable

A merged contribution corrected broken links in the upstream README.

SOURCE & VERIFICATION

Inspect the work.

The freelance engagement was approximately three years within the 2017–2023 period. The user also reports delivering workshops, taking conference speaker slots and attending BitBrum, Bitcoin Conference and the Lightning Conference with the BTCPay team. Specific talk titles, session dates and event-year details have not yet been added. Pull requests are labelled by outcome: merged changes are distinguished from closed or unmerged proposals.

NEXT / START A PROJECT

Have a similar challenge?

Tell me what you are trying to build. We can scope the right next step.