Skip to content
Core Banking Infrastructure

Banking and Qard al-Hasan fund infrastructureon one Financial Core

In Dara, deposits, financing, cards and wallets keep no separate balances. Every rial is posted to one Financial Core, and processes run on an engine where changing them does not require a new software release.

  • Fifteen Islamic contracts with dedicated calculators
  • Installment schedules on the Solar Hijri calendar
  • Auditable, from vouchers to AI assistant answers
In Numbers

A platform built from a single blueprint

All Dara services share the same layered structure, response format and method for posting vouchers. That is why adding a new module is a repeatable task.

0

Runtime services

All with the same layered structure

0

Domain modules

Each owns its own data

0

Callable operations

Exposed by the modules

0

Domain events

Published for other modules

One Financial Core

No module keeps its own balance

Deposits, wallets, cards, financing and the investment portfolio read balances from the Financial Core and post their financial impact there as vouchers. As a result, reconciliation between subsystems drops out of the end-of-day routine.

  1. 01

    Posting with an idempotency key

    If a posting request arrives a second time, for whatever reason, no duplicate voucher is created.

  2. 02

    Three-stage vouchers

    Draft, provisional and final, with a voucher sequence number that runs consecutively within each fiscal period and never runs backward.

  3. 03

    Up to six detail levels

    Every deposit account, wallet and financing contract has a dedicated detail account in the same chart of accounts.

Financial Core architecture
Deposit
Financing
Cards
Wallet
Treasury
Financial CoreNext sequence no.: 58214
VoucherDescriptionDebitCredit
Total (IRR)00
Solutions

Dara solutions

Every solution is built on the same Financial Core and the same Process Engine. You can start with one and add the rest later.

Architecture

Layers with clear boundaries

Each layer has a specific job and talks to its neighbors only through defined contracts.

  1. 01

    Experience layer

    The customer app, organization portal, merchant portal and back office. All of them work directly on the data recorded in the Financial Core, and none keeps a separately synced copy.

    • Customer app
    • Organization portal
    • Merchant portal
    • Back office
  2. 02

    Domain modules

    Deposits, financing, cards, wallets and collateral each have their own database. No module writes to another module's tables; they interact through callable operations and published events.

    • Deposit
    • Financing
    • Card
    • Wallet
    • Collateral
    • Merchant
  3. 03

    Process Engine

    Each process graph is versioned data. Staff work queues, timers and coordination between modules all run in this layer.

    • Process Designer
    • Work queue
    • Durable timer
    • Event outbox
  4. 04

    Financial Core

    The single source of truth for balances: a multi-level chart of accounts with floating detail accounts, three-stage vouchers and fiscal periods with non-resettable numbering.

    • Chart of accounts
    • Voucher
    • Fiscal period
    • Floating detail account
  5. 05

    Infrastructure

    A single ingress gateway, identity kept separate from authorization, service registry and discovery, encrypted document management and centralized logging.

    • API Gateway
    • Identity & authorization
    • Service discovery
    • Document Management
    • Centralized logging
Process Engine

Change processes in the designer

In Dara's engine, every process graph is versioned data. A new version is published with a single call, and in-flight cases continue on their own version.

ApplicationCustomer appDocument reviewBranch officerCredit scoringScoring & EligibilityCollateral valuationCollateral moduleCredit committeeWork queueVoucher postingFinancial Core
“Financing disbursement” process · version 3 publishedHuman step in the work queue
  1. 01

    Processes as versioned data

    Each process moves through draft, published and archived states. Publishing a new version takes a single call and does not require redeploying any service. In-flight cases stay on their own version.

  2. 02

    Atomic advance behind a case lock

    Each step advances inside a transaction that first acquires the lock on that case. If several modules respond at the same time, their responses queue behind that lock, so the case never ends up in two conflicting states.

  3. 03

    Event and state in one transaction

    A state change and the event announcing it are committed together, or neither is. Events are delivered separately, HMAC-signed and retried with increasing back-off.

  4. 04

    Human work queues and deadlines

    Human tasks are created with a target role and a geographic scope, and can be claimed, completed, returned or reassigned. Timers are durable and survive a service restart.

Process Engine details
AI Decision Support

An assistant that sees what you see

Dara's AI assistant works with the same permissions and the same data the user has in the portal. Its answers cite their sources, and it commits no action without human approval.

Dara Assistant

With the signed-in user's own permissions

  • No new access level is created

    The assistant sees only the data the user would see after signing in to the portal.

  • No change without human approval

    Posting vouchers, deactivating accounts, publishing processes and sending correspondence all wait for the user's explicit approval.

  • Calculations come from the system

    Totals, trial balances, account balances and days overdue are computed by the system. No figure comes from model-generated text.

  • Credit and identity decisions stay with people

    Final identity verification is never automated, and neither is any credit or pricing decision.

  • Sourced answers, recorded actions

    Each answer states which voucher it came from and under what condition, and every action is recorded in the audit trail.

  • Bounded execution

    If running a request exceeds the allowed number of steps, execution stops and a manager decides what happens next.

Why DARA

The difference in day-to-day work

A few familiar situations in financial systems, and how Dara handles them.

Balances
Each subsystem keeps its own balance, which has to be reconciled with accounting at the end of the day.
Balances live only in the Financial Core, and every module reads them from there.
Process changes
Adding an approval step means changing code, testing and shipping a new software release.
The step is added in the Process Designer and goes live once the new process version is published.
In-flight cases
A process change sometimes leaves half-finished cases in an undefined state.
Each case runs to completion on the version it started with.
Islamic contracts
Some contracts are calculated in a separate spreadsheet, and only the final figure is entered into the system.
Fifteen contracts with dedicated calculators and Solar Hijri installment schedules, inside the system itself.
Duplicate requests
A connection dropped mid-operation can create a duplicate voucher or transaction.
Every posting carries an idempotency key, so a repeated request does not create a second voucher.
Audit
Change history is scattered across different logs and is sometimes incomplete.
Three-stage vouchers, non-resettable voucher sequence numbers and a transition history for every case.
Security & Audit

Security and audit built into the design

Every request, voucher and action follows a predefined path. These principles are applied the same way in every Dara module.

A single entry point

No request reaches the modules without passing through the API Gateway. Tokens are validated there, and inbound headers are sanitized.

Identity separate from authorization

Tokens are issued by the Identity module, while roles and the permission catalog are defined in the Users & Companies module.

Irreversible vouchers

A final voucher cannot be edited, and voucher sequence numbers run consecutively within each fiscal period, with no gaps.

An idempotency key on every posting

Voucher postings, funds transfers and purchases each carry an idempotency key, so a repeated request never takes effect twice.

Encrypted documents

Files and documents are stored with layered encryption in the Document Management module. Other modules hold only the file ID.

Operations history

Case transitions, user actions and AI assistant answers are recorded along with their sources and remain available for audit.

Get in Touch

See the platform run your organization's own scenarios

In an introductory session we walk through the demo environment together, from opening a deposit account to disbursing a loan and closing a period, and answer questions from your technical and finance teams.