Skip to main content

Architecture

Ark is a banking-platform middleware. It sits between consumer back-ends (partner and application servers that integrate machine-to-machine) and the systems that actually hold the money or perform the regulated checks — core banking, identity verification, payments rails, address validation, communications providers. Ark normalises those underlying systems behind a single, versioned, OpenAPI-described surface, runs the multi-step workflows (onboarding, KYX, provisioning), and keeps the audit trail.

This page is the high-level map. It describes the moving parts and how a request travels through them — not the internals of any one service.

System context

What Ark provides

CapabilityWhat it means
Unified API surfaceOne versioned, OpenAPI-described contract in front of many heterogeneous back-ends, so consumers integrate once instead of per vendor.
OrchestrationMulti-step business processes (onboarding, KYX, provisioning) run as explicit, auditable flows rather than ad-hoc client-side choreography.
Multi-tenant, multi-brandA single deployment serves many clients and brands, scoped by the clientid / brandid carried on every request.
Connector abstractionEach external system is wrapped by a connector that maps Ark's domain model onto that vendor's API, isolating vendor quirks behind a stable interface.
Business rulesRouting and tenant/brand behaviour are driven by externally managed rule definitions, evaluated at runtime.
Observability & auditDistributed tracing, structured logging, and an audit trail across the whole request path.

Building blocks

Ark is a set of independently deployable services. The three that matter at this altitude:

ServiceResponsibility
Ark PlatformThe front door. Owns the public API surface, authentication and authorisation, multi-tenant routing, connector dispatch, and the audit trail. Most consumer requests land here.
Ark FlowsA peer service that runs stateful, long-running workflows (the onboarding journeys). It exposes typed, per-flow API contracts and is backed by a workflow engine that keeps execution state durable across steps and retries.
ConnectorsA family of small services, one per external system. Each presents a uniform interface to the Platform and translates to/from the underlying vendor.

Connectors at a glance

ConnectorExternal systemRole
UDAUltraData UltraCSCore banking — accounts, customers, cards, transactions
GreenIDGreenIDIdentity verification (KYX)
SimpleKYCSimpleKYCIdentity verification (KYX)
KleberKleber / PAFAustralian address validation
TwilioTwilioSMS / voice communications
MessageMediaMessageMediaSMS communications
BREZen Engine (embedded)Business-rule evaluation over JDM rule definitions

KYX is Ark's unified contract for identity verification — it covers both KYC (individuals) and KYB (businesses) behind one surface.

How a request flows

A consumer call is either a single-step Platform operation or a multi-step journey started on Ark Flows:

  1. Authenticate — the receiving service (the Platform, or Ark Flows for a journey) validates the bearer token against the identity provider and resolves which tenant and brand the request belongs to.
  2. Route — business rules decide how the request should be handled for that tenant/brand.
  3. Dispatch or orchestrate — a single-step call goes straight from the Platform to a connector; a multi-step journey is started on Ark Flows, which drives each step by calling back into the Platform (which dispatches to the connectors) and survives failures and retries.
  4. Integrate — the connector talks to the external system in its native protocol and maps the result back into Ark's domain model.
  5. Respond — a single-step call gets one consistent, versioned Platform response; for a journey the consumer polls Ark Flows for status. The audit trail is recorded along the way.

Architectural principles

  • API-first — every surface is defined as an OpenAPI contract before implementation, so clients and type-safe client code are generated from a single source of truth.
  • Adapter pattern for connectors — external systems never leak into Ark's domain. A connector is the only place that knows a given vendor's quirks.
  • Replaceable workflow engine — Ark Flows talks to its workflow engine through an abstraction, so the engine can be swapped without changing the public flow contracts.
  • Independent services — Platform, Flows, and connectors deploy and scale independently, each owning its own data.
  • Multi-tenant by design — tenancy and branding are built into the core request path rather than achieved by running a separate stack per customer.

Tech stack

NestJS · TypeScript · Prisma · SQL Server · Azure (Key Vault / Entra ID) · Temporal · OpenTelemetry · OpenAPI / Redocly.