Router Integration Architecture

This guide helps you design your integration deployment: where components run, who operates the Router, and how you connect to the network.

Prerequisite: Read Developer Q&A: Getting Started with Ownera first to understand Business Applications and Utilities/Connectors.


Architecture Options

Every integration deployment involves these choices:

QuestionOptions
Who runs the Router?Your organization, your client's organization, or managed by Ownera
Where does your application run?Your infrastructure, client infrastructure, or SaaS/cloud
How do you connect?Single Router, multiple Routers, or hub topology

Each financial organization deploys its own Ownera Router. The Router:

  • Connects peer-to-peer with other institutions on the FinP2P application network
  • Connects to network-layer components (blockchains, custody, payment rails) through adapters
  • Connects to your legacy platforms
  • Enables Router-connected applications (Business Applications and Utilities/Connectors) to interact with the ecosystem

This architecture keeps all proprietary data and compute fully under your control. Only essential communications, approved data, signed on-chain actions and cryptographic proofs leave your environment.


Business Application Deployment Patterns

Pattern 1: Single Institution

You are: A team inside a financial institution, or a trading venue / market operator running your own platform.

┌─────────────────────────────────────────────────────────────────┐
│                     Your Institution / Venue                    │
│                                                                 │
│   ┌─────────────────┐         ┌─────────────────┐               │
│   │ Your Application│◄───────►│   Your Router   │               │
│   │                 │  REST/  │                 │               │
│   │  • Trading UI   │ GraphQL │                 │               │
│   │  • Investor App │  Events │                 │               │
│   │  • Ops Tools    │         └────────┬────────┘               │
│   │                 │                  │                        │
│   │  Can also act   │    ┌─────────────┼─────────────┐          │
│   │  as an adapter  │    │             │             │          │
│   └─────────────────┘    ▼             ▼             ▼          │
│                   ┌──────────┐  ┌──────────┐  ┌──────────┐      │
│                   │ Custody  │  │  Ledger  │  │ Payment  │      │
│                   │ Utility  │  │ Utility  │  │ Utility  │      │
│                   └────┬─────┘  └────┬─────┘  └────┬─────┘      │
│                        │             │             │            │
│                        ▼             ▼             ▼            │
│                   ┌──────────┐  ┌──────────┐  ┌──────────┐      │
│                   │   HSM    │  │  Ledger  │  │ Payment  │      │
│                   │          │  │          │  │   Rail   │      │
│                   └──────────┘  └──────────┘  └──────────┘      │
│                                                                 │
└──────────────────────────────────┬──────────────────────────────┘
                                   │ FinP2P Network
                     ┌─────────────┴─────────────┐
                     ▼                           ▼
              ┌────────────┐              ┌────────────┐
              │ Partner /  │              │ Partner /  │
              │Participant │              │Participant │
              │ Router A   │              │ Router B   │
              └────────────┘              └────────────┘
AspectDetails
Router operatorYour institution
Application locationYour infrastructure (on-prem or private cloud)
TenancySingle-tenant
Network connectivityYour Router ↔ Partner/Participant Routers
Utilities/ConnectorsUse from SuperApp Store or build custom

You build:

  • Your Business Application (UI + backend)
  • Router integration module (REST/GraphQL client + event listener)

You configure:

  • Router connection (URL, credentials)
  • Investor/asset mappings
  • Partner organization connections
  • Integration with Utilities/Connectors (from the SuperApp Store or custom-built)

Utilities/Connectors from the SuperApp Store

You don't need to build every adapter yourself. The SuperApp Store at superapps.ownera.io offers pre-built Utilities/Connectors that connect your Router to specific technologies - custody platforms, ledgers, payment rails, and more. Deploy them alongside your Router and configure for your environment.

Your Business Application as an Adapter

Your Business Application can also listen to Router events and act as an adapter - for example, to integrate with internal systems, trigger workflows, or bridge to proprietary infrastructure. Business Applications may build adapters when those adapters are specific to their own legacy platforms, proprietary blockchains, or institution-owned smart contracts.

Market Infrastructure Considerations

If you're operating a trading venue or market infrastructure:

ConsiderationDetails
ParticipantsYour participants (banks, brokers) may run their own Routers and connect to yours
OnboardingYou may offer a hosted Router option for smaller participants

Pattern 2: Multi-Client SaaS Platform

You are: An ISV or fintech offering a platform to multiple financial institutions.

┌─────────────────────────────────────────────────────────────────┐
│                    Your SaaS Platform                           │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              Your Application                           │   │
│   │                   (Multi-Tenant)                        │   │
│   │                                                         │   │
│   │   ┌─────────┐   ┌─────────┐   ┌─────────┐               │   │
│   │   │Tenant A │   │Tenant B │   │Tenant C │               │   │
│   │   │ Config  │   │ Config  │   │ Config  │               │   │
│   │   └────┬────┘   └────┬────┘   └────┬────┘               │   │
│   │        │             │             │                    │   │
│   └────────┼─────────────┼─────────────┼────────────────────┘   │
│            │             │             │                        │
└────────────┼─────────────┼─────────────┼────────────────────────┘
             │             │             │
             ▼             ▼             ▼
      ┌────────────┐ ┌────────────┐ ┌────────────┐
      │  Client A  │ │  Client B  │ │  Client C  │
      │   Router   │ │   Router   │ │   Router   │
      │            │ │            │ │            │
      │ (at FI A)  │ │ (at FI B)  │ │ (at FI C)  │
      └────────────┘ └────────────┘ └────────────┘
AspectDetails
Router operatorEach client (FI) runs their own Router
Application locationYour SaaS infrastructure
TenancyMulti-tenant (logical) or multi-instance
Network connectivityYour app → Multiple client Routers

You build:

  • Multi-tenant Business Application
  • Per-tenant Router configuration management
  • Tenant isolation layer

You configure (per client):

  • Client's Router URL and credentials
  • Client-specific asset/investor mappings
  • Enabled features and protocols

Tenancy options:

ModelDescriptionWhen to use
Logical multi-tenantSingle deployment, tenant isolation in codeMost SaaS scenarios
Multi-instanceSeparate deployment per clientHigh isolation requirements

Utility / Connector Deployment Patterns

Utilities/Connectors typically run alongside a Router - either yours or another party's. They provide reusable infrastructure services that Business Applications can consume.

┌─────────────────────────────────────────────────────────────────┐
│                     Your Institution                            │
│                                                                 │
│   ┌─────────────────┐         ┌─────────────────┐               │
│   │ Your Application│         │   Your Router   │               │
│   │                 │────────►│                 │               │
│   │  • Trading UI   │         │                 │               │
│   │  • Investor App │         └────────┬────────┘               │
│   └─────────────────┘                  │                        │
│                                        │                        │
│                    ┌───────────────────┼───────────────────┐    │
│                    │                   │                   │    │
│                    ▼                   ▼                   ▼    │
│           ┌──────────────┐    ┌──────────────┐    ┌───────────┐ │
│           │ Your Custody │    │ Your Ledger  │    │Your Payment │
│           │   Utility    │    │   Utility    │    │  Utility    │
│           └──────┬───────┘    └──────┬───────┘    └─────┬─────┘ │
│                  │                   │                  │       │
│                  ▼                   ▼                  ▼       │
│           ┌──────────────┐    ┌──────────────┐    ┌───────────┐ │
│           │     HSM      │    │    Ledger    │    │ Payment   │ │
│           │              │    │              │    │   Rail    │ │
│           └──────────────┘    └──────────────┘    └───────────┘ │
│                                                                 │
└──────────────────────────────────┬──────────────────────────────┘
                                   │ FinP2P Network
                                   ▼
                         ┌─────────────────┐
                         │ Partner Routers │
                         └─────────────────┘
AspectDetails
OperatorYour institution
LocationYour infrastructure, alongside your Router
ServesYour Router only
Use caseInternal custody, proprietary ledger connection, internal payment rails

Integration Models

Utilities/Connectors can be invoked in two ways:

ModelHow it worksExample
Router-mediatedRouter calls Utility/Connector as part of orchestration planCustody signing during settlement
Direct integrationYour Business Application calls the Utility/Connector directlyAnalytics, document retrieval, pricing lookups
┌─────────────────────────────────────────────────────────────────┐
│                     Your Institution                            │
│                                                                 │
│   ┌─────────────────┐         ┌─────────────────┐               │
│   │ Your Application│────────►│   Your Router   │               │
│   │                 │         └────────┬────────┘               │
│   │                 │                  │                        │
│   │                 │                  │ Router-mediated        │
│   │                 │                  ▼                        │
│   │                 │         ┌─────────────────┐               │
│   │                 │         │Custody Utility  │ (signing)     │
│   │                 │         └─────────────────┘               │
│   │                 │                                           │
│   │                 │──────────────────────────────────────┐    │
│   │                 │           Direct integration         │    │
│   └─────────────────┘                                      ▼    │
│                                                 ┌──────────────┐│
│                                                 │Pricing Utility│
│                                                 └──────────────┘│
└─────────────────────────────────────────────────────────────────┘

You implement:

ComponentSpecification
Ledger connectivityLedger Adapter API
Custody / signingCustody Adapter API

Next Steps

  1. Understand the core concepts - Core Concepts: Router & Primitives
  2. Choose your integration path - Choose Your Integration Path
  3. Build your first integration - Hello World: Connect Your App
  4. Explore the SuperApp Store - SuperApp Store