ALPHA TESTING

🚀 Invest in FinAegis CGO - Continuous Growth Offering

Learn More
v2.0 Documentation

Built for Developers

Open source banking infrastructure with comprehensive APIs, SDKs, and documentation.

Alpha Version: Limited API endpoints available. Full API coming soon.

Quick Start Guide

Get up and running with FinAegis in three simple steps

1

Clone Repository

Get the source code from GitHub

Terminal
$ git clone https://github.com/FinAegis/core-banking-prototype-laravel.git
$ cd core-banking-prototype-laravel
2

Install & Configure

Set up your development environment

Terminal
$ composer install
$ cp .env.example .env
$ php artisan key:generate
$ php artisan migrate
3

Start Building

Create your first API request

cURL
$ curl -X GET "http://localhost:8000/api/v1/accounts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"

API Overview

RESTful API built on modern standards with comprehensive documentation

Authentication

Secure API authentication using Bearer tokens. Get your API key from the dashboard after registration.

JavaScript
const headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
};
// Example API call
fetch('https://api.finaegis.org/v2/accounts', {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => console.log(data));

Rate Limiting

API requests are limited to ensure fair usage and platform stability.

Per Hour 1,000
Per Day 10,000
Burst Rate 100/min

Rate limit headers are included in all API responses for monitoring.

API Versioning

All endpoints are versioned (v1, v2) to ensure backward compatibility as we evolve the API.

Webhooks

Real-time event notifications for transactions, account updates, and system events.

Official SDKs

Native SDKs for JavaScript, Python, PHP, and more coming soon.

12

API Endpoints

3

SDKs Coming

MIT

Open Source

24/7

Support

Ready to Build?

Join our developer community and start building the future of finance

Code Examples

Real-world examples to get you started quickly

Create a New Account

Initialize a new bank account with initial deposit

JavaScript
const createAccount = async () => {
    const response = await fetch('https://api.finaegis.org/v2/accounts', {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer YOUR_API_KEY',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            customer_id: 'cust_123456',
            currency: 'USD',
            initial_balance: 1000.00,
            account_type: 'checking'
        })
    });
    
    const account = await response.json();
    console.log('Account created:', account);
};

Transfer Funds

Execute a transfer between two accounts

Python
import requests

def transfer_funds(from_account, to_account, amount):
    url = "https://api.finaegis.org/v2/transfers"
    headers = {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    }
    
    payload = {
        "from_account_id": from_account,
        "to_account_id": to_account,
        "amount": amount,
        "currency": "USD",
        "description": "Payment transfer"
    }
    
    response = requests.post(url, json=payload, headers=headers)
    return response.json()

# Execute transfer
result = transfer_funds("acc_123", "acc_456", 250.00)
print(f"Transfer ID: {result['transfer_id']}")

Exchange to GCU

Convert traditional currency to Global Currency Units

PHP
<?php
$api_key = 'YOUR_API_KEY';
$endpoint = 'https://api.finaegis.org/v2/gcu/exchange';

$data = [
    'from_currency' => 'USD',
    'amount' => 1000.00,
    'to_currency' => 'GCU'
];

$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $api_key,
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

echo "You will receive: " . $result['gcu_amount'] . " GCU";
echo "Exchange rate: 1 USD = " . $result['rate'] . " GCU";

Handle Webhooks

Process real-time transaction notifications

Node.js
const express = require('express');
const crypto = require('crypto');

const app = express();
app.use(express.json());

app.post('/webhooks/finaegis', (req, res) => {
    // Verify webhook signature
    const signature = req.headers['x-finaegis-signature'];
    const payload = JSON.stringify(req.body);
    const secret = process.env.WEBHOOK_SECRET;
    
    const expectedSignature = crypto
        .createHmac('sha256', secret)
        .update(payload)
        .digest('hex');
    
    if (signature !== expectedSignature) {
        return res.status(401).send('Invalid signature');
    }
    
    // Process the webhook
    const { event, data } = req.body;
    
    switch (event) {
        case 'transaction.completed':
            console.log(`Transaction ${data.id} completed`);
            // Handle completed transaction
            break;
        case 'account.created':
            console.log(`New account created: ${data.account_id}`);
            // Handle new account
            break;
    }
    
    res.status(200).send('OK');
});