A marketplace treasury that could run at 2am.
Vellum needed stablecoin settlement they could operate themselves — not another hosted processor with a black-box ledger.
Vellum's marketplace was growing faster than its finance stack.
Vellum's marketplace was growing faster than its finance stack. Settlement lived across a hosted processor, three wallets, and a nightly export that nobody trusted after a missed webhook. Treasury could not answer a simple question on a Sunday: what is owed, what is confirmed, and what is still in flight. They needed payment infrastructure they owned, with a record they could reconcile without calling a vendor.
Problem, approach, and what shipped.
A case study is a named week with a handover — not a mood board. The record below is what the operator still runs.
- 01
The problem
Vellum's marketplace was growing faster than its finance stack. Settlement lived across a hosted processor, three wallets, and a nightly export that nobody trusted after a missed webhook. Treasury could not answer a simple question on a Sunday: what is owed, what is confirmed, and what is still in flight. They needed payment infrastructure they owned, with a record they could reconcile without calling a vendor.
- 02
The approach
We treated treasury as the product, not checkout. The first week was spent mapping how Vellum already created invoices, how traders paid, and who was allowed to mark something settled. We wrote the non-goals in the same document: no custody, no new bank relationship, no rewrite of their trading engine. StablePay would sit beside the marketplace as software they deploy, not as a service they rent.
- 03
The build
We deployed StablePay into Vellum's existing VPC, wired payment intents to their order service, and designed an operator dashboard for the two people who actually run settlement. Signed webhooks replaced the nightly export. Confirmation policy was made explicit per network. The host application stayed in control of customer accounts; the gateway recorded payment state, retries, and exceptions. Handover included runbooks for the 2am case: a payment that looks confirmed on-chain and silent in the app.
Outcomes the team can still point at.
- 01
Settlement moved from a nightly export to a live operator queue.
- 02
Treasury could answer in-flight vs confirmed without opening three tools.
- 03
Engineering stopped maintaining a one-off processor adapter.
Numbers from the operating week.
- Time to first live payment
- 17 days
- Manual reconciliation
- −64%
- Missed webhook incidents
- 0 in 90 days
Role
Product architecture, gateway deployment, operator UI, and handover.
Stack
The product this engagement shaped.
Other operator records.
Have a similar operating problem?
Tell us what the team still runs at 2am. We will say whether it is a product, a build, or a no.