Ecosystem/Projects/Universal Financial Adapters

Universal Financial Adapters

Roadmap

Protocols & Rail Standards · Apache 2.0 Open Source

Planned converters for ISO 20022, JSON, gRPC, and GraphQL rails.

Universal Financial Adapters bridge modern and legacy payment networks directly into Osprey's evaluation pipeline without custom translation services.

ISO 20022pacs.008pacs.002pain.013gRPCProtobuf
Target Rails
SEPA, FedNow, SWIFT
Full ISO 20022 catalog
Target Parse Overhead
< 250µs
Zero-allocation Go parsers
Target Protocols
REST, gRPC, MQ
Kafka, RabbitMQ, HTTP/2
Planned Validation
Strict XSD
Pre-validation before engine

Overview & Engineering Philosophy

Financial institutions deal with fragmented messaging formats: legacy MT103 messages, modern ISO 20022 XML, internal JSON microservices, and high-frequency gRPC streams.

Universal Financial Adapters provide standardized, high-performance connectors that normalize any financial message into Osprey's canonical evaluation schema in microseconds.

Engineered in Go with zero-allocation buffers, the adapters run inline as proxy filters or asynchronously attached to message brokers like Apache Kafka or RabbitMQ.

Architecture Specifications

ISO 20022 pacs.008 / pacs.002

Native XML streaming parser extracting debtor, creditor, intermediary agents, and remittance info without DOM overhead.

gRPC & Protobuf Streaming

Sub-millisecond binary serialization for internal microservice architectures and high-frequency payment switches.

Field Normalization & Sanitization

Standardizes disparate currency symbols, BIC codes, and ISO 3166 country identifiers into unified CEL evaluation variables.

Message Queue Consumers

Pre-built ingestion workers for Kafka, AWS SQS, NATS, and RabbitMQ with automatic partition rebalancing.

ISO 20022 pacs.008 Mapping Example
// Raw ISO 20022 XML payload is normalized into standard Osprey CEL context:
// <FIToFICstmrCdtTrf><CdtTrfTxInf><IntrBkSttlmAmt Ccy="USD">9500.00</IntrBkSttlmAmt>...

// Accessible inside CEL rules as:
txn.amount == 9500.00
txn.currency == "USD"
txn.debtor.bic == "CHASUS33XXX"
txn.creditor.country == "SG"
txn.rail == "FEDNOW"