We Completed the First Live Bitcoin-to-Pro Activation on MyZubster

Leader 1 11
calendar_today agoschedule3 min read

We Completed the First Live Bitcoin-to-Pro Activation on MyZubster

Today we reached a major milestone: Zorgax successfully processed a real Bitcoin payment and activated Pro access in production.

This was a complete end-to-end test, not a simulated checkout.

The production flow was:

MyZubster login
      ↓
Zorgax payment intent
      ↓
External Bitcoin wallet
      ↓
On-chain transaction
      ↓
Blockchain confirmation
      ↓
Independent verification
      ↓
Pro access activated

What is Zorgax?

Zorgax is the AI assistant inside the MyZubster ecosystem.

It combines:

  • General AI assistance
  • Web research
  • Source collection
  • Structured-data preparation
  • Workspace features
  • Developer APIs
  • Bitcoin-based access activation

The available plans are:

Free       €0
Pro        €9.90
Developer  €29.90

Free users receive limited research, Pro users gain workspace features and additional sources, while Developer accounts can access automation and direct APIs.

A non-custodial payment architecture

MyZubster does not request, store or manage users’ private keys.

Users send Bitcoin through their own external wallet. Zorgax only creates a payment intent and records:

  • The selected plan
  • The expected BTC amount
  • The destination address
  • The expiration time
  • The submitted transaction ID
  • The verification status

The backend then verifies the public transaction independently.

A simplified version of the process looks like this:

const payment = await verifyTransaction(txid);

if (payment.destination !== intent.destination) {
  throw new Error("Unexpected payment destination");
}

if (payment.amount < intent.expectedAmount) {
  throw new Error("Insufficient payment amount");
}

if (payment.confirmations < minimumConfirmations) {
  throw new Error("Insufficient blockchain confirmations");
}

await activateEntitlement({
  ownerId: intent.ownerId,
  plan: intent.plan,
  status: "ACTIVE"
});

The application never signs or broadcasts a transaction.

Waiting for blockchain confirmation

During the live test, Zorgax detected the transaction but initially returned:

Payment not activated:
Insufficient blockchain confirmations

This was the expected behavior.

The system did not activate Pro access simply because a valid-looking TXID had been submitted. It waited until the transaction had the required blockchain confirmation.

After confirmation, we submitted the same TXID again:

Payment verified
Access ACTIVE
Plan Pro

Backend access enforcement

We also implemented server-side feature enforcement.

Guest
- Basic chat
- No live web research

Free
- Limited research
- Maximum 2 sources

Pro
- Advanced research
- Maximum 5 sources
- Zorgax workspace

Developer
- Higher limits
- Automation
- Direct research API

These restrictions are enforced by the backend, not only hidden in the user interface.

Protected endpoints return authentication or payment-required responses when the account does not have the necessary plan.

Fixing a production routing problem

During implementation, we discovered that the generic Zorgax gateway could intercept monetization requests.

The Vercel routing order was corrected so that:

/api/zorgax/monetization/*

is processed by the authenticated MyZubster backend before the generic AI proxy route.

This ensures that purchases, subscriptions and entitlements use the correct database and authentication middleware.

Unifying subscriptions and entitlements

The project contained both legacy subscription records and newer entitlement records.

We introduced a unified access service that:

  1. Checks both stores.
  2. Selects active records.
  3. Chooses the highest available plan.
  4. Fails safely when access cannot be verified.
  5. Returns a single policy to every Zorgax endpoint.

This keeps older subscriptions compatible with the new payment system.

What the live test proves

The successful transaction proves that the following components work together in production:

  • Authentication
  • Payment-intent generation
  • BTC amount calculation
  • External wallet payment
  • TXID submission
  • Destination validation
  • Amount validation
  • Confirmation validation
  • Database persistence
  • Pro entitlement activation
  • Feature-access enforcement

It transforms Zorgax monetization from a pricing interface into a functioning production system.

Current boundaries

The first release intentionally remains conservative:

  • Bitcoin is currently the operational settlement asset.
  • Payments are non-custodial.
  • Private keys are never accepted.
  • Access activation requires independent verification.
  • Automatic recurring billing is not currently enabled.

Future work can add renewal notifications, payment dashboards, downloadable receipts and more independent blockchain providers.

Explore the project

Zorgax:

https://www.myzubster.com/zorgax

MyZubster repository:

https://github.com/MyZubster-Ecosystem/myzubster

Production monetization update:

https://github.com/MyZubster-Ecosystem/myzubster/commit/d7a579cd89801d29ac094a19af42fb17350691ef

The next goal is to make the complete payment and entitlement lifecycle easier to monitor while preserving the non-custodial design.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

The Zero-Net-Loss Fleet & The Mercenary Squad: A Live AI Economy

DEVPlank - Aug 4

Local-First: The Browser as the Vault

Pocket Portfolio - Apr 20

Just completed another large-scale WordPress migration — and the client left this

saqib_devmorph - Apr 7

Why Email-Only Contact Forms Are Failing in 2026 (And What Developers Should Do Instead)

JayCode - Mar 2

Engineering a Non-Custodial Bitcoin Paywall for an AI Assistant

Myzubster - Aug 31
chevron_left
1.2k Points12 Badges
Rimini
18Posts
1Comments
1Connections

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!