Built for Developers
Open source banking infrastructure with comprehensive APIs, SDKs, and documentation.
Quick Start Guide
Get up and running with FinAegis in three simple steps
Clone Repository
Get the source code from GitHub
Install & Configure
Set up your development environment
Start Building
Create your first API request
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.
Rate Limiting
API requests are limited to ensure fair usage and platform stability.
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.
Developer Resources
Everything you need to build amazing financial applications
API Endpoints
SDKs Coming
Open Source
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
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
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
$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
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');
});