Skip to content

Treasury Rail

Position and liquidity management endpoints.

Overview

The Treasury rail provides:

  • Position management
  • Liquidity monitoring
  • Cash flow forecasting
  • FX operations (Shariah-compliant)

Endpoints

Get Positions

http
GET /v1/treasury/positions
typescript
const positions = await iof.treasury.getPositions({
  currency: "USD",
  asOf: "2024-01-15",
});

Response:

json
{
  "positions": [
    {
      "currency": "USD",
      "balance": 1500000,
      "available": 1200000,
      "reserved": 300000,
      "asOf": "2024-01-15T00:00:00Z"
    }
  ]
}

Get Liquidity

http
GET /v1/treasury/liquidity
typescript
const liquidity = await iof.treasury.getLiquidity({
  horizon: "7d",
});

Create Transfer

http
POST /v1/treasury/transfers
typescript
const transfer = await iof.treasury.createTransfer({
  from: { account: "acc_123" },
  to: { account: "acc_456" },
  amount: 100000,
  currency: "USD",
});

Forecast Cash Flow

http
POST /v1/treasury/forecast
typescript
const forecast = await iof.treasury.forecast({
  startDate: "2024-01-15",
  endDate: "2024-01-31",
  granularity: "daily",
});

Response:

json
{
  "forecast": [
    {
      "date": "2024-01-15",
      "inflows": 50000,
      "outflows": 30000,
      "netFlow": 20000,
      "projectedBalance": 1520000
    }
  ]
}

FX Quote

http
POST /v1/treasury/fx/quote
typescript
const quote = await iof.treasury.getFXQuote({
  sellCurrency: "USD",
  buyCurrency: "MYR",
  amount: 100000,
  side: "sell",
});

Position Types

TypeDescription
nostroNostro account balances
vostroVostro account balances
internalInternal positions

Webhooks

EventDescription
treasury.position.updatedPosition changed
treasury.threshold.breachedLimit breached
treasury.transfer.completedTransfer completed

Next Steps

Licensed under the Apache License 2.0