Case study · Live

Aeroblox

A multi-tenant marketplace for encoded digital assets, with seller payouts, metered subscription billing, and on-chain minting in a single system.

Project facts
StatusLive, actively developed
RoleArchitecture, backend, frontend, payments, infrastructure
StackNext.js · Prisma · Supabase Postgres · Stripe Connect · Stripe Billing · Hedera HTS · IPFS (Pinata) · Tailwind

01 · The problem

Aeroblox lets creators encode images, comics, and event assets with a steganographic signature, sell them, and prove ownership on-chain. That sounds like a storefront. It is actually four businesses sharing one database:

  • 01A marketplace where independent sellers list and get paid
  • 02A SaaS platform where organizations subscribe to encoding, pinning, minting, and other services on metered usage
  • 03A minting pipeline that touches Hedera and IPFS only when a sale completes
  • 04A multi-tenant host where each organization runs its own branded marketplace under its own path

Every one of those has a payment path, a failure mode, and a state that must reconcile with the others.

02 · The system

Two Stripe integrations, deliberately separate.

Marketplace sales run through Stripe Checkout with Connect Express, so sellers onboard once and funds settle to their own accounts. Organization subscriptions run through Stripe Billing with metered prices for nine services, tier allocations, and usage gating. Separate webhooks, separate reconciliation, no cross-contamination.

Organization billing page showing the current Pro plan, billing cycle dates, and metered usage per service
Aeroblox · Org billing · Stripe Billing, nine metered services

Mint on sale, not on upload.

Assets are uploaded, encoded server-side, and pinned to IPFS at import. The Hedera token is minted inside the sale webhook, only after payment is confirmed. No orphaned tokens, no gas spent on assets that never sell.

Multi-tenant from the row up.

Every entity carries an organization ID. Tenant context resolves from a header on the API and a path segment on the portal. Organizations self-serve creation, branding, membership, invites, and their own Stripe Connect configuration.

Background work stays off the request path.

Multi-page assets go through a ten-stage pipeline: resize to three resolutions, encode every page, pin everything, build page manifests, hash them into a Merkle tree, and encode the manifest into the cover image itself. A worker service runs it; a validator service verifies it.

03 · What it handles today

  • 01Seller onboarding and payout via Stripe Connect Express
  • 02Cart, checkout, order, and asset transfer with stale-listing reconciliation
  • 03Nine metered services billed monthly through Stripe Billing, with Customer Portal and upgrade flows
  • 04Organization creation, path-based tenant routing, invites, branding
  • 05Single-image, multi-page (flipbook), and event asset types with hotspot annotations
  • 06Hedera NFT minting and IPFS pinning triggered by confirmed sales
Marketplace grid with three events on sale above a row of limited-edition listings showing prices and edition counts
Aeroblox · Marketplace · Events on sale and limited editions

04 · Why it matters for your project

If your product has more than one kind of money flowing through it, Aeroblox is the proof that they can share a schema, a deploy pipeline, and one engineer without stepping on each other.

Request a proposal