Bitcoin · Ordinals marketplace · senior frontend · Oct 2024 – Feb 2025
Trio — the Bitcoin-native marketplace, shipped with the OrdinalsBot team.
Senior frontend on Trio — the Bitcoin-native marketplace built on top of OrdinalsBot's inscription rails. PSBT signing flows across every major wallet, buy/list/offer primitives for Ordinals and Runes, and the front-end for multiple inscription drops that went through the same stack during the tenure (Oct 2024 – Feb 2025).
The building blocks
Live
Trio marketplace shipped
Multi
Ordinals drops front-ended
PSBT
Every-wallet signing protocol
Oct 24 — Feb 25
Tenure with OrdinalsBot
The problem
A Bitcoin-native marketplace can't pretend to be an Ethereum marketplace with a UTXO coat of paint. PSBTs replace transactions, inscriptions replace tokens, mempool dynamics replace block-time certainty, and the wallet landscape is a dozen signing protocols instead of one standard.
Trio needed a front-end that treated Bitcoin-native as the default, not an afterthought. Every list, offer, buy, and cancel had to survive live fee conditions, broadcast failures, and the wallet-specific quirks of Unisat, Xverse, Leather, OKX, and whatever shipped next.
Doing it alongside the OrdinalsBot team meant building on rails that already power the largest inscription platform on Bitcoin — but the front-end had to earn the trust those rails already had.
What I did
Four layers the product sits on.
PSBT-first signing, every wallet, same UX
Unsigned PSBTs constructed server-side, signed in whichever wallet the user has, broadcast through protocol-owned infrastructure. Unisat, Xverse, Leather, OKX and Phantom all land in the same flow — no wallet-specific branches leaking into the product surface.
Listing + offer primitives built for the mempool
List, offer, cancel, and buy flows designed around the realities of Bitcoin settlement — mempool churn, fee re-pricing mid-confirmation, and the asymmetry between a PSBT the seller signed and the moment a buyer funds it. State UI that tells the truth at every stage instead of pretending it's Ethereum.
Drop front-ends on the shared stack
Multiple Ordinals drops — PFP collections, recursive inscriptions, Runes launches — shipped through the same codebase during the tenure. Because the protocol layer was OrdinalsBot's, the front-end could focus on drop-specific UX instead of reinventing signing flows per collection.
Operational UX for the long tail
Stuck inscriptions, orphaned children, signed-but-unbroadcast PSBTs — the things that actually break a user's day on Bitcoin. Interfaces for detecting and resolving them, not hiding them. The product surface took the platform's operator tooling seriously.
What transferred
Patterns that carry through every drop since.
- Wallet abstraction is the whole job on Bitcoin. PSBT in, PSBT out — never leak wallet-specific branching into product code.
- Treat the mempool as a first-class surface, not an implementation detail. UI that tells users what their transaction is actually doing beats UI that pretends it already finalized.
- Shared protocol rails + product on top = leverage. Building Trio on OrdinalsBot's infrastructure meant we shipped the front-end in weeks, not months.
- Drop tooling ages faster than marketplace tooling — but a stack that does both keeps the patterns warm for the next inscription season.
Stack
- Next.js + React + TypeScript
- PSBT construction + multi-wallet signing (Unisat, Xverse, Leather, OKX, Phantom)
- OrdinalsBot inscription + indexing rails
- Tailwind CSS · component system
- CI/CD from day one
Free download · 6 pages · PDF
What I learned shipping 1,500 Ordinals on Bitcoin.
Pre-launch, launch-day, and the 90 days after — with the mistakes that cost real BTC. Ordinals, Runes, and beyond.
No spam. You also get the Sunday note — unsubscribe in one click.
Keep reading