finaegis / core-banking-prototype-laravel
Core Banking Prototype - Educational Demonstration
Fund package maintenance!
YOzaz
Patreon
finaegis.org/cgo
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 139
Watchers: 4
Forks: 23
Open Issues: 0
Type:project
pkg:composer/finaegis/core-banking-prototype-laravel
Requires
- php: ^8.3
- ext-gmp: *
- ext-intl: *
- ext-mbstring: *
- ext-pdo: *
- aws/aws-sdk-php: ^3.349
- barryvdh/laravel-dompdf: ^3.1
- darkaonline/l5-swagger: ^9.0
- endroid/qr-code: ^6.0
- filament/filament: ^3.0
- http-interop/http-factory-guzzle: ^1.2
- juststeveking/laravel-data-object-tools: dev-main
- kornrunner/keccak: ^1.1
- laravel-workflow/laravel-workflow: ^1.0
- laravel-workflow/waterline: ^1.0
- laravel/cashier: ^15.4
- laravel/framework: ^12.0
- laravel/horizon: ^5.27
- laravel/jetstream: ^5.1
- laravel/passport: ^12.0
- laravel/pennant: ^1.10
- laravel/pulse: ^1.2
- laravel/sanctum: ^4.0
- laravel/scout: ^10.11
- laravel/socialite: ^5.21
- laravel/telescope: ^5.2
- laravel/tinker: ^2.9
- livewire/livewire: ^3.6.4
- meilisearch/meilisearch-php: ^1.9
- open-telemetry/api: ^1.4
- open-telemetry/exporter-otlp: ^1.3
- open-telemetry/sdk: ^1.7
- predis/predis: ^2.2
- promphp/prometheus_client_php: ^2.14
- resend/resend-php: ^0.18.1
- scrivo/highlight.php: ^9.18
- simplito/elliptic-php: ^1.0
- spatie/laravel-data: ^4.0
- spatie/laravel-event-sourcing: ^7.7
- spatie/laravel-permission: ^6.9
- symfony/http-client: ^7.3
Requires (Dev)
- behat/behat: ^3.22
- behat/mink: ^1.12
- behat/mink-browserkit-driver: ^2.2
- dmore/behat-chrome-extension: ^1.4
- fakerphp/faker: ^1.23
- friendsofphp/php-cs-fixer: ^3.80
- larastan/larastan: ^3.0
- laravel/dusk: ^8.3
- laravel/envoy: ^2.10
- laravel/pint: ^1.13
- laravel/sail: ^1.26
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-livewire: ^3.0
- phpstan/phpstan: ^2.1
- squizlabs/php_codesniffer: ^3.13
- dev-main
- v1.0.0
- dev-fix/phpstan-level8-user-null-safety
- dev-fix/phpstan-level8-reflection-null-safety
- dev-fix/phpstan-level7-baseline-errors
- dev-quality/phpstan-level-8-target
- dev-quality/phpstan-level-7
- dev-quality/phpstan-level-6-baseline
- dev-release/v1.0.0
- dev-docs/production-hardening-phase4
- dev-feat/domain-contracts-binding-phase2
- dev-feat/shared-domain-contracts-phase2
- dev-docs/domain-dependencies-phase2
- dev-docs/gcu-reference-implementation-phase3
- dev-docs/readme-changelog-enhancements
- dev-docs/open-source-foundation-phase1
- dev-refactor/website-content-investment-components
- dev-fix/agent-protocol-test-fixes
- dev-feature/agent-protocol-complete-implementation
- dev-feature/agent-payments-protocol-compliance
- dev-pr-242
- dev-feature/critical-security-fixes
- dev-feature/next-priority-tasks
- dev-feature/monitoring-improvements
- dev-feature/ai-framework-phase-2
- dev-feature/ai-agent-framework
- dev-feature/improve-wallet-account-test-coverage
- dev-fix/admin-auth-tests
- dev-fix/filament-admin-tests
- dev-fix/test-suite-failures
- dev-fix/features-page-accessibility
- dev-fix/google-analytics-regional-domains
- dev-fix/csp-cache-issue
- dev-feature/secure-blockchain-key-storage
- dev-fix/crypto-qr-code-display
- dev-feature/complete-exchange-implementation
- dev-docs/phase-8-documentation
- dev-feature/documentation-review-phase2
- dev-feature/documentation-comprehensive-review
- dev-frontend-interfaces-implementation
- dev-stablecoin-operations-interface
- dev-pr-127
- dev-fix/dashboard-transaction-relationship
- dev-fix/dashboard-transaction-column
- dev-frontend-interfaces
- dev-feature/business-user-management
- dev-feature/payment-gateway-integration
- dev-feature/payment-event-sourcing-refactor
- dev-feature/fix-testing-issues
- dev-feature/api-key-management
- dev-platform-restructure-docs
- dev-fix/filament-livewire-tests
- dev-feature/quick-wins-gcu-rebrand
- dev-feature/user-bank-selection-phase4.1
- dev-feature/increase-test-coverage-to-50
- dev-feature/stablecoin-support
- dev-fix/remaining-test-failures
- dev-feature/phase4-basket-assets
- dev-feature/governance-admin-interface
- dev-feature/immediate-priority-fixes-squashed
- dev-feature/admin-dashboard
This package is auto-updated.
Last update: 2025-12-23 08:48:16 UTC
README
An open-source core banking platform built with event sourcing, domain-driven design, and modern financial patterns.
FinAegis provides the foundation for building digital banking applications. The Global Currency Unit (GCU) serves as a complete reference implementation demonstrating how to build basket currencies, governance systems, and democratic financial instruments on this platform.
Live Demo | Documentation | Quick Start | Contributing
Why FinAegis?
| Challenge | FinAegis Solution |
|---|---|
| Building financial systems from scratch | 29 production-ready domain modules |
| Audit trail requirements | Event sourcing captures every state change |
| Complex multi-step transactions | Saga pattern with automatic compensation |
| Regulatory compliance | Built-in KYC/AML workflows |
| Learning modern architecture | Complete DDD + CQRS + Event Sourcing example |
GCU: The Reference Implementation
|
The Global Currency Unit (GCU) demonstrates FinAegis capabilities through a democratic basket currency:
GCU shows how to build complex financial products using FinAegis primitives. |
|
See ADR-004: GCU Basket Design for architecture details.
Quick Start
Demo Mode (Recommended)
No external dependencies - everything runs locally:
git clone https://github.com/finaegis/core-banking-prototype-laravel.git cd core-banking-prototype-laravel composer install cp .env.demo .env php artisan key:generate php artisan migrate --seed npm install && npm run build php artisan serve
Visit http://localhost:8000 with demo credentials:
demo.user@gcu.global/demo123demo.business@gcu.global/demo123demo.investor@gcu.global/demo123
Full Installation
git clone https://github.com/finaegis/core-banking-prototype-laravel.git cd core-banking-prototype-laravel composer install && npm install cp .env.example .env php artisan key:generate # Configure MySQL/PostgreSQL and Redis in .env php artisan migrate --seed npm run build php artisan serve php artisan queue:work --queue=events,ledger,transactions,transfers,webhooks
Requirements: PHP 8.4+, MySQL 8.0+/PostgreSQL 13+, Redis 6.0+, Node.js 18+
Platform Capabilities
Core Banking
| Domain | Capabilities |
|---|---|
| Account | Multi-asset accounts, deposits, withdrawals, statements |
| Banking | SEPA/SWIFT transfers, multi-bank routing, reconciliation |
| Compliance | 3-tier KYC, AML screening, SAR/CTR reporting |
| Treasury | Portfolio management, cash allocation, yield optimization |
Digital Assets
| Domain | Capabilities |
|---|---|
| Exchange | Order matching, liquidity pools, AMM, external connectors |
| Stablecoin | Multi-collateral minting, burning, liquidation |
| Wallet | Multi-chain support (BTC, ETH, Polygon, BSC) |
| Basket (GCU) | Weighted currency basket, NAV calculation, rebalancing |
Platform Services
| Domain | Capabilities |
|---|---|
| Governance | Democratic voting, proposals, asset-weighted strategies |
| Lending | P2P loans, credit scoring, risk assessment |
| AI Framework | MCP server, 20+ banking tools, event-sourced interactions |
| Agent Protocol | A2A messaging, escrow, reputation system |
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ API / Admin Panel │
├─────────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Account │ │ Exchange │ │ Basket │ │Compliance│ │ Treasury │ │
│ │ Domain │ │ Domain │ │ (GCU) │ │ Domain │ │ Domain │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │ │
│ ┌────▼────────────▼────────────▼────────────▼────────────▼─────┐ │
│ │ CQRS + Event Sourcing │ │
│ │ Commands → Aggregates → Events → Projectors → Read Models │ │
│ └──────────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────────▼────────────────────────────────┐ │
│ │ Saga / Workflow Engine │ │
│ │ Multi-step transactions with compensation │ │
│ └───────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Key Patterns:
- Event Sourcing - Complete audit trail, temporal queries, replay capability
- CQRS - Separated read/write models for optimal performance
- Saga Pattern - Distributed transactions with automatic rollback
- DDD - 29 bounded contexts with clear boundaries
See Architecture Decision Records for detailed design rationale.
Documentation
| Category | Links |
|---|---|
| Getting Started | Quick Start · User Guides |
| Architecture | Overview · ADRs · Roadmap |
| API | REST Reference · OpenAPI |
| Development | Contributing · Dev Guides |
| Reference | GCU Design · Event Sourcing |
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
# Fork, clone, then: git checkout -b feature/your-feature # Make changes with tests ./bin/pre-commit-check.sh --fix # Submit PR
Standards: PSR-12 · PHPStan Level 5 · 50%+ Coverage · Conventional Commits
This project supports AI coding assistants. Look for AGENTS.md files for context-aware guidance.
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Laravel 12, PHP 8.4+ |
| Event Sourcing | Spatie Event Sourcing |
| Workflows | Laravel Workflow (Waterline) |
| Database | MySQL 8.0+ / PostgreSQL 13+ |
| Cache/Queue | Redis, Laravel Horizon |
| Testing | Pest PHP (parallel) |
| Admin | Filament v3 |
| Frontend | Livewire, Tailwind CSS |
Project Status
This is a demonstration platform showcasing modern banking architecture. Use it for:
- Learning event sourcing and DDD patterns
- Understanding core banking concepts
- Building proof-of-concepts
- Contributing to open-source fintech
- Studying GCU as a basket currency reference
Not recommended for production use without security audit and compliance review.
Community
- GitHub Discussions - Questions & Ideas
- GitHub Issues - Bug Reports
- Security Policy - Vulnerability Reporting
- Code of Conduct - Community Guidelines
- Changelog - Version History
License
Built for the open-source financial community