Marketplace · Escrow · Own product · Beta

Provaux.Luxury, traded safely.

Selling luxury with the money held in escrow. Watches, handbags and jewellery — every listing reviewed, every payment held until the buyer is satisfied.

Status
Beta — platform running in a test environment, launch after legal review
Type
Web platform with auctions, chat, payments, shipping and invoicing
For whom
Private sellers and buyers of pieces above €100, and professional dealers
Our role
Own product: concept, design, development, payment and shipping integration
Provaux
100%
In escrow
Not a euro to the seller before the buyer confirms
€5.000
Shipped insured
Label, tracking and insurance via Sendcloud
7–12%
Commission
Lower as the piece gets more expensive
48u+
Inspection window
Up to 5 days for the most valuable pieces

Who pays
first?

Selling a €3,000 watch to a stranger — or buying one — is a trust problem, not a technical one.

The buyer doesn't want to pay upfront to someone they don't know. The seller doesn't want to ship without seeing money. On the usual second-hand platforms you solve that with a meeting in a car park and a knot in your stomach.

Then come the other worries: is it genuine? What if the parcel disappears? Who pays for insurance? And what about the invoice if you trade professionally?

Provaux puts a trusted intermediary between both parties — not a company with a phone number, but a platform with every step built in: review, pay into escrow, ship insured, inspect, pay out.

From listing to payout,
without the knot in your stomach.

Create a listing

Fixed price or auction, with the attributes that belong to the category. Commission and estimated shipping cost are shown right in the form — no surprises afterwards.

Reviewed before publication

A moderator reviews every listing before it goes live. Messages that try to take the deal off-platform are filtered automatically.

Buy, bid or negotiate

Buy now, join an auction with automatic bidding and anti-sniping, or make an offer in the chat with a payment deadline.

Money in escrow, parcel on its way

The buyer pays the platform, not the seller. The seller buys an insured shipping label; the cost is deducted from their payout.

Inspection

After delivery the buyer gets 48 hours to 5 days, depending on the value. Happy? Confirm. Not happy? Open a dispute — an administrator decides.

Payout & invoice

The money goes to the seller, the commission invoice is created and queued for the accounts.

Value of the pieceCommissionInspection windowExtra protection
Up to €50012%48 hoursTracking
€500 – €2.0009%72 hoursTracking + insurance
Above €2,0007%5 daysInsurance + signature on delivery required

One set of value thresholds drives commission, inspection window, insurance and signature requirements. Easy to explain, easy to adjust.

Everything a
marketplace needs.

Not glued together from plugins, but built as one coherent whole.

Moderation before publication

Every listing passes through a queue. No fakes, spam or wrong prices make it onto the site.

Auctions with all the trimmings

Automatic bidding up to your maximum, reserve price, anti-sniping (the clock extends on a late bid), second chance and relisting.

Negotiate in the chat

Make an offer in the conversation, with a payment deadline. Real time, with an inbox and email notifications.

Escrow via Stripe

The payment stays on the platform until the buyer confirms. Release happens automatically after the inspection window, and never twice.

Shipping & insurance

Real rates before publication, one-click labels, carrier tracking, insurance up to €5,000 and handling of lost parcels.

Disputes with an audit trail

If something goes wrong, an administrator decides based on an immutable log of everything that happened.

Invoicing for the accounts

Numbered PDF invoices, ready to be booked automatically via Yuki and Peppol. Built, not yet active

Findable in Google

Every page is rendered on the server with structured data and shareable previews for social media.

Privacy built in

Mandatory email verification, export or erase your data on request — while respecting legal retention periods.

Moving money
without mistakes.

Buyer

Pays

Via Stripe, onto the platform balance. The seller sees nothing yet.

Seller

Ships

Label via Sendcloud; tracking comes in automatically.

Platform

Waits

The inspection clock starts at delivery. A dispute pauses everything.

Buyer

Confirms

Or the window passes without a complaint.

Platform

Pays out

To the seller's account, minus commission and shipping. Invoice follows.

Every movement of money happens inside a database transaction: either everything happens, or nothing. Four background processes watch auctions ending, payments being released, parcels in transit and offers expiring. Chat and statuses update live, no refreshing.

Security was tested the way an attacker would: two attack scenarios against the running app, with findings fixed straight away. Every design decision is numbered in the documentation — so a year from now we still know why something works the way it does.

Built with
  • Next.js & ReactFast, findable pages
  • TypeScript & TailwindReliable code, consistent design
  • Node.js & ExpressAPI and background processes
  • MongoDB AtlasTransactions for every movement of money
Connected to
  • Stripe ConnectEscrow and payouts
  • SendcloudRates, labels, tracking, insurance
  • Yuki & PeppolAccounting and e-invoicing
  • CloudinaryProduct photos
  • Vercel & RenderHosting

Trust is
a design decision.

  1. Escrow that really holds

    The first design could, in theory, pay the seller twice. Completely rebuilt and proven against the real payment API — not against a simulation.

  2. One rule for all protection

    The value of the piece determines commission, inspection window, insurance and signature requirement. One table, no exceptions — explainable in one sentence.

  3. Shipping costs are bought, not estimated

    Real rates when creating the listing and when buying the label. What you see is what it costs.

  4. Security tested as an attack

    Not just checklists: real attack scenarios against the running app. That is how we found, for instance, that the platform could block itself — and fixed it before there was a single user.

  5. Documented down to the decision

    Every choice has a number and a reason. For a platform that manages other people's money, that is no luxury.

Only a running
browser counts.

Challenge

A new version of the web framework quietly changed how pages read their parameters. Everything built, but three pages showed nothing.

Solution

A fixed check in a real browser after every change. “It compiles” is no proof that it works.

Challenge

During the rename to Provaux one import was missing. Eight test suites green — and still the production server fell over.

Solution

A smoke test that sends every route through the real server before anything goes live. Never again a green test with a red server.

Challenge

The shipping partner mixes two API generations, and a pickup at a service point counts as delivery.

Solution

Revised three times against the real API until every scenario was right, and everything written down in the documentation.

Challenge

Because pages are rendered on the server, all visitors seemed to come from the same address — and the security layer blocked everyone at once.

Solution

The visitor's real address is passed on securely, so limits apply per person again.

From beta
to launch.

PreviousSmart Vending
NextCustom websites

A platform with payments, shipping or auctions?

We build it
watertight.

Send a message