How We Run an Engagement: From First Call to Production
Most blockchain projects fail on process, not technology. Here is the engagement model we use to take an institutional client from a problem statement to a system running in production — with the controls that demands.
Adrian Vance
Founder & Managing Partner
The hard part of building production blockchain and trading systems for institutional clients is rarely a single algorithm. It is the process: scoping ambiguous requirements, making architectural decisions that will hold up under audit and load, and delivering without a window large enough to lose a trading session. Over many engagements we have settled into a model that consistently gets clients from a problem statement to a system in production. It is not glamorous, and that is the point.
Discovery before estimates
We do not quote a number off a one-paragraph brief. The first phase is a focused discovery: we map the assets at stake, the regulatory and operational constraints, the existing systems we have to interoperate with, and the failure modes the client most fears. The output is a written architecture and threat model that the client signs off on. This is where we find the requirement that was implied but never stated — the one that, discovered three months later, blows up the timeline.
Architecture is a deliverable, not a whiteboard photo
For systems where correctness is non-negotiable — matching engines, settlement contracts, custody flows — the architecture document is itself a deliverable. It states the trust boundaries, the invariants that must always hold, the privileged roles and how they are governed, and the recovery story for every component. This document drives the test plan and the audit scope. When an auditor or a regulator asks why a decision was made, the answer already exists in writing.
Build behind the safety of shadow mode
Wherever we are replacing a live system, we run the new one in shadow first. A new matching engine processes real order flow alongside the incumbent and reconciles every fill to byte-for-byte equality before it routes a single live order. A new execution agent runs in shadow for weeks, its decisions recorded and compared, before it touches real risk. Cut-over is then a gradual, reversible, feature-flagged migration, pair by pair and venue by venue, with a fast path back to the old system. The goal is for go-live to be a non-event.
Security is continuous, not a gate at the end
We threat-model during design, write invariants as we build, fuzz and property-test throughout, and commission an independent audit before anything holding value reaches mainnet. Security that is bolted on at the end finds the cheap bugs and misses the expensive ones, which are architectural. By the time external auditors see the code, the design has already been built to make whole classes of attack impossible.
Hand over a system the client can run
An engagement is not finished when the code works on our machines. It is finished when the client's team can operate, observe, and recover the system themselves: runbooks, dashboards with the latency and reconciliation metrics that matter, alerting, and a documented incident response. We would rather over-invest in observability and handover than leave a client dependent on us to keep the lights on.
There is no proprietary magic here. It is the consistent application of discovery, written architecture, shadow validation, continuous security, and real handover. The technology varies from engagement to engagement; the process is what makes the technology land.
Adrian Vance
Founder & Managing Partner
Founder of Web3Software. Twelve years building distributed systems and capital-markets infrastructure, the last six dedicated to blockchain, on-chain settlement, and quantitative trading platforms for institutional clients.
Get the next deep-dive in your inbox.
Occasional, substantive engineering write-ups from the team. No spam, unsubscribe anytime.