How VenduSys
actually runs.
VenduSys is not a monolith and not a swarm of microservices. It is a small set of named services with explicit contracts, sitting behind one consistent API, deployed in the EU. This page is the honest map.
From the network
to the ledger.
Each layer is a small, named service with an explicit contract. You can adopt the whole stack, or replace any single layer with your own and keep the rest.
Four entities.
Everything else derives.
We described the model in a separate post. The short version is below.
Party
People, organizations, agents. Buyers, sellers, operators, partners — all projections of the same record. Identity is a graph, not a type.
Thing
Anything offered or owned. Products, licenses, services, subscriptions, assets, time. Variants and bundles ride on top.
Move
Events that shift value or rights between parties. Orders, returns, renewals, transfers and disputes are all moves with state machines.
Entry
Lines in the ledger. The model is designed so every Move emits Entries, with reports and balances derived from them.
Every flow
is observable.
Listings, approvals, payouts, returns, renewals — modeled as code or visual graphs. Branch, retry, replay, audit. State is persisted; nothing is fire-and-forget.
- EVT Domain event
- CRON Scheduled
- API Direct invoke
- WHK External webhook
- CDC Database change
- Compile graphPARSE
- Persist stateSTATE
- Dispatch stepsRUN
- Handle retriesRETRY
- Emit audit logAUDIT
- DB Ledger entries
- PAY Payment / payout
- MSG Notification
- EXT Connector call
- EVT Downstream event
What it takes to run.
The boring details — hosting, residency, RPO/RTO, observability. The things that matter when something goes wrong at 2 a.m. on a Sunday.
- Hosting
- Vercel for the API edge · dedicated EU clusters for stateful services (Paris)
- Storage
- Postgres (Supabase) with logical replication · S3-compatible object storage · pgvector for embeddings
- Replication
- Multi-AZ within region · cross-region read replicas · CDC stream to warehouse
- Failover
- RPO 0 · RTO 5 minutes for ledger & identity · 15 minutes for catalog
- Observability
- OpenTelemetry by default · per-tenant traces · structured audit log · workflow replay
- Encryption
- TLS 1.3 in transit · AES-256 at rest · BYOK on Enterprise · per-tenant key isolation
- Residency
- EU by default · region pinning on Scale/Enterprise · audit-friendly data exits