Basel SDK Guide
Basel III SDK Guide
Section titled “Basel III SDK Guide”The BaselClient in @iof/sdk provides typed access to all Basel III endpoints.
import { IOFClient } from "@iof/sdk";
const client = new IOFClient({ apiKey: process.env.IOF_API_KEY!, baseUrl: "https://api.islamicopenfinance.com",});Capital Adequacy
Section titled “Capital Adequacy”const ratios = await client.basel.getCapitalRatios();console.log(`CET1: ${ratios.cet1Ratio}%`);console.log(`CAR: ${ratios.totalCapitalRatio}%`);
const rwa = await client.basel.getRiskWeightedAssets();const composition = await client.basel.getCapitalComposition();Liquidity
Section titled “Liquidity”const lcr = await client.basel.getLCR();const nsfr = await client.basel.getNSFR();const hqla = await client.basel.getHQLAComposition();const ladder = await client.basel.getMaturityLadder();Leverage
Section titled “Leverage”const leverage = await client.basel.getLeverageRatio();console.log(`Leverage: ${leverage.ratio}% (min: 3%)`);Stress Testing
Section titled “Stress Testing”const { testId } = await client.basel.executeStressTest([ { name: "Severe Recession", type: "supervisory", parameters: { gdpShock: -5.0, interestRateShock: 3.0, equityShock: -40 }, },]);
const result = await client.basel.getStressTest(testId);const tests = await client.basel.listStressTests({ status: "COMPLETED" });Regulatory Reporting
Section titled “Regulatory Reporting”const report = await client.basel.generateReport("REPORT_220", { periodStart: "2026-01-01", periodEnd: "2026-03-31",});const reports = await client.basel.listRegulatoryReports();Exposure
Section titled “Exposure”const exposures = await client.basel.getCounterpartyExposures({ limit: 20 });const concentration = await client.basel.getConcentrationRisk("sector");const large = await client.basel.getLargeExposures();Compliance
Section titled “Compliance”const validation = await client.basel.runComplianceValidation();console.log(`All passed: ${validation.passed}`);