Open source banking infrastructure with comprehensive APIs, SDKs, and documentation.
Get up and running with FinAegis in three simple steps
Get the source code from GitHub
Set up your development environment
Create your first API request
RESTful API built on modern standards with comprehensive documentation
Secure API authentication using Bearer tokens. Get your API key from the dashboard after registration.
API requests are limited to ensure fair usage and platform stability.
Rate limit headers are included in all API responses for monitoring.
All endpoints are versioned (v1, v2) to ensure backward compatibility as we evolve the API.
Real-time event notifications for transactions, account updates, and system events.
Native SDKs for JavaScript, Python, PHP, and more are in development.
Explore the full breadth of the FinAegis platform across 42 DDD domains
Bridge protocols (Wormhole, LayerZero, Axelar), cross-chain swaps, fee comparison, and multi-chain portfolio tracking.
View endpoints →DEX aggregation (Uniswap, Curve), lending (Aave), staking (Lido), yield optimization, flash loans, and portfolio management.
View endpoints →MiFID II reporting, MiCA compliance, Travel Rule enforcement, jurisdiction adapters, and regulatory orchestration.
View endpoints →Payment intents, receipts, activity feeds, receive addresses, P2P transfers, passkey auth, and biometric JWT.
View endpoints →Banking-as-a-Service partner onboarding, SDK generation, white-label configuration, and tenant provisioning.
View endpoints →Natural language transaction queries and AI-powered financial insights via the intelligent query interface.
View endpoints →Schema-first GraphQL via Lighthouse PHP with queries, mutations, subscriptions, and DataLoaders across 34 domain schemas.
View endpoints →Redis Streams-based event publishing, consumer groups, live metrics dashboard with projector lag and throughput monitoring.
View endpoints →HTTP-native micropayments. Monetize APIs with USDC on Base. GraphQL + REST with AI agent payment support.
View endpoints →Everything you need to build amazing financial applications
API Routes
DDD Domains
SDKs Coming
Open Source
Support
BaaS partners and third-party integrators use dedicated Partner API keys with scoped permissions
Partner keys provide scoped access to BaaS endpoints, tenant provisioning, SDK generation, and white-label configuration. Keys are issued during partner onboarding.
fpk_
Include the Partner API key in the X-Partner-Key header alongside your standard Bearer token.
Join our developer community and start building the future of finance
Real-world examples to get you started quickly
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);
};
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']}")
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";
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');
});