Skip to content

Sukuk Rail

Islamic trust certificate (bond) endpoints for capital markets issuance, trading, settlement, and lifecycle management.

The Sukuk rail provides:

  • End-to-end sukuk issuance and structuring
  • Secondary market trading and order management
  • Settlement and clearing integration
  • Corporate actions (coupon distribution, redemption, call/put)
  • Real-time valuation and pricing
  • Shariah compliance checks at every lifecycle stage

Sukuk (plural of sakk) are Shariah-compliant trust certificates that represent proportional undivided ownership in an underlying tangible asset, usufruct, or pool of assets. Unlike conventional bonds, sukuk holders have a beneficial ownership interest in the underlying asset rather than a debt obligation. Returns are derived from the performance of the underlying asset, not from interest.

Sukuk are the primary instrument for Islamic capital markets, used by sovereigns, corporates, and financial institutions to raise funds in a Shariah-compliant manner. The global sukuk market exceeds $800 billion in outstanding issuance.

The IOF platform supports all major sukuk structures recognized by AAOIFI Shariah Standard No. 17:

TypeCodeDescription
Ijarah SukukijarahCertificates representing ownership in a leased asset. Returns come from rental income.
Murabaha SukukmurabahaCertificates funding a cost-plus sale. Returns come from the profit margin on the sale.
Mudarabah SukukmudarabahCertificates representing a trust-based partnership. Returns come from the profit of the venture.
Musharakah SukukmusharakahCertificates representing equity participation. Returns come from the partnership profit share.
Istisna SukukistisnaCertificates funding a manufacturing or construction contract. Returns from the completed asset.
Salam SukuksalamCertificates funding forward purchase of commodities. Returns from the sale of delivered goods.
Wakalah SukukwakalahCertificates where an agent (wakil) manages a pool of assets on behalf of certificate holders.
Hybrid SukukhybridCertificates backed by a pool combining multiple contract types (e.g., ijarah + murabaha + equity).

The Sukuk rail is organized into six sub-rails, each responsible for a distinct phase of the sukuk lifecycle.

Handles the structuring, approval, and primary issuance of new sukuk.

POST /v1/rails/sukuk/issuances
const issuance = await iof.sukuk.issuances.create({
name: "Al Baraka Ijarah Sukuk Series 2025-A",
sukuk_type: "ijarah",
issuer_id: "org_issuer_001",
currency: "USD",
target_amount: 500_000_000,
minimum_denomination: 100_000,
tenor_months: 60,
expected_return_rate: 0.055,
underlying_asset: {
type: "real_estate",
description: "Grade A commercial office tower, DIFC, Dubai",
appraised_value: 650_000_000,
appraised_by: "Knight Frank",
appraisal_date: "2025-01-10",
},
spv: {
name: "Al Baraka Sukuk Ltd",
jurisdiction: "DIFC",
trustee_id: "org_trustee_001",
},
offering_type: "public",
listing_exchange: "NASDAQ_DUBAI",
shariah_advisor_id: "org_shariah_board_001",
distribution_frequency: "semi_annual",
});

Response:

{
"id": "suk_iss_abc123",
"name": "Al Baraka Ijarah Sukuk Series 2025-A",
"sukuk_type": "ijarah",
"status": "DRAFT",
"issuer_id": "org_issuer_001",
"currency": "USD",
"target_amount": 500000000,
"minimum_denomination": 100000,
"tenor_months": 60,
"expected_return_rate": 0.055,
"underlying_asset": {
"type": "real_estate",
"description": "Grade A commercial office tower, DIFC, Dubai",
"appraised_value": 650000000
},
"spv": {
"name": "Al Baraka Sukuk Ltd",
"jurisdiction": "DIFC",
"trustee_id": "org_trustee_001"
},
"offering_type": "public",
"listing_exchange": "NASDAQ_DUBAI",
"distribution_frequency": "semi_annual",
"isin": null,
"created_at": "2025-06-15T10:30:00Z"
}
GET /v1/rails/sukuk/issuances/:id
GET /v1/rails/sukuk/issuances

Query parameters:

ParameterTypeDescription
statusstringFilter by status (DRAFT, PENDING_APPROVAL, OPEN, CLOSED, etc.)
sukuk_typestringFilter by sukuk type (ijarah, murabaha, musharakah, etc.)
currencystringFilter by currency code
issuer_idstringFilter by issuer organization
limitnumberResults per page (default: 25, max: 100)
cursorstringPagination cursor
PUT /v1/rails/sukuk/issuances/:id
POST /v1/rails/sukuk/issuances/:id/submit-review
POST /v1/rails/sukuk/issuances/:id/approve
POST /v1/rails/sukuk/issuances/:id/open-subscription
POST /v1/rails/sukuk/issuances/:id/close-subscription
DELETE /v1/rails/sukuk/issuances/:id

Handles secondary market order management for sukuk certificates.

POST /v1/rails/sukuk/trades
const trade = await iof.sukuk.trades.create({
issuance_id: "suk_iss_abc123",
direction: "buy",
quantity: 50,
price_per_unit: 101.25,
currency: "USD",
counterparty_id: "org_buyer_001",
settlement_date: "2025-07-20",
execution_venue: "NASDAQ_DUBAI",
});

Response:

{
"id": "suk_trd_def456",
"issuance_id": "suk_iss_abc123",
"direction": "buy",
"status": "PENDING",
"quantity": 50,
"price_per_unit": 101.25,
"total_value": 5062500,
"accrued_profit": 12500,
"clean_price": 101.25,
"dirty_price": 101.5,
"currency": "USD",
"counterparty_id": "org_buyer_001",
"settlement_date": "2025-07-20",
"execution_venue": "NASDAQ_DUBAI",
"created_at": "2025-07-17T14:22:00Z"
}
GET /v1/rails/sukuk/trades/:id
GET /v1/rails/sukuk/trades
DELETE /v1/rails/sukuk/trades/:id

Handles delivery-versus-payment (DvP) settlement of sukuk trades and coupon distributions.

POST /v1/rails/sukuk/settlements
const settlement = await iof.sukuk.settlements.create({
trade_id: "suk_trd_def456",
settlement_type: "dvp",
settlement_date: "2025-07-20",
custodian_id: "org_custodian_001",
});
GET /v1/rails/sukuk/settlements/:id
GET /v1/rails/sukuk/settlements
POST /v1/rails/sukuk/settlements/:id/confirm
POST /v1/rails/sukuk/settlements/:id/fail

Handles coupon (profit distribution) payments, redemptions, calls, puts, and other lifecycle events.

POST /v1/rails/sukuk/corporate-actions
const action = await iof.sukuk.corporateActions.create({
issuance_id: "suk_iss_abc123",
action_type: "profit_distribution",
record_date: "2025-06-30",
payment_date: "2025-07-15",
amount_per_unit: 2750,
currency: "USD",
});

Response:

{
"id": "suk_ca_ghi789",
"issuance_id": "suk_iss_abc123",
"action_type": "profit_distribution",
"status": "ANNOUNCED",
"record_date": "2025-06-30",
"payment_date": "2025-07-15",
"amount_per_unit": 2750,
"total_distribution": 13750000,
"eligible_holders": 245,
"currency": "USD",
"created_at": "2025-06-20T09:00:00Z"
}
GET /v1/rails/sukuk/corporate-actions/:id
GET /v1/rails/sukuk/corporate-actions
POST /v1/rails/sukuk/corporate-actions/:id/execute
TypeCodeDescription
Profit Distributionprofit_distributionPeriodic coupon payment to certificate holders
Partial Redemptionpartial_redemptionRedemption of a portion of outstanding certificates
Final Redemptionfinal_redemptionFull redemption at maturity
Early Redemptionearly_redemptionIssuer-initiated early buyback (call)
Put Exerciseput_exerciseHolder-initiated early redemption (put)
Asset Substitutionasset_substitutionReplacement of underlying asset with equivalent asset
Dissolution Eventdissolution_eventTriggered by default or underlying asset impairment

Handles mark-to-market pricing, yield calculations, and portfolio valuation for sukuk positions.

GET /v1/rails/sukuk/valuations/:issuance_id
const valuation = await iof.sukuk.valuations.get("suk_iss_abc123");

Response:

{
"issuance_id": "suk_iss_abc123",
"valuation_date": "2025-07-17",
"clean_price": 101.25,
"dirty_price": 101.5,
"accrued_profit": 0.25,
"yield_to_maturity": 0.0523,
"modified_duration": 3.42,
"spread_over_benchmark": 0.0125,
"benchmark": "SOFR_5Y",
"currency": "USD",
"source": "market",
"updated_at": "2025-07-17T16:00:00Z"
}
GET /v1/rails/sukuk/valuations/:issuance_id/history
POST /v1/rails/sukuk/valuations/bulk

Handles Shariah compliance screening, ongoing monitoring, and regulatory reporting specific to sukuk.

POST /v1/rails/sukuk/compliance/check
const check = await iof.sukuk.compliance.check({
issuance_id: "suk_iss_abc123",
check_type: "full_review",
});

Response:

{
"id": "suk_cmp_jkl012",
"issuance_id": "suk_iss_abc123",
"check_type": "full_review",
"status": "COMPLIANT",
"checks": [
{
"rule": "underlying_asset_tangibility",
"result": "PASS",
"detail": "Underlying real estate asset verified as tangible"
},
{
"rule": "asset_ownership_transfer",
"result": "PASS",
"detail": "True sale opinion confirmed for SPV transfer"
},
{
"rule": "profit_loss_sharing",
"result": "PASS",
"detail": "Distribution linked to asset performance"
},
{
"rule": "prohibited_activities_screening",
"result": "PASS",
"detail": "No haram activities in asset pool"
},
{
"rule": "tradability_ratio",
"result": "PASS",
"detail": "Tangible asset ratio 78% exceeds 33% threshold"
}
],
"shariah_standard": "AAOIFI_SS_17",
"reviewed_at": "2025-07-17T12:00:00Z"
}
GET /v1/rails/sukuk/compliance/:issuance_id
GET /v1/rails/sukuk/compliance

Sukuk issuances follow a multi-stage lifecycle:

StatusDescription
DRAFTIssuance created, structuring in progress
PENDING_SHARIAH_REVIEWSubmitted to Shariah advisory board for fatwa
SHARIAH_APPROVEDShariah board has issued an approval fatwa
PENDING_REGULATORYSubmitted to regulatory authority for approval
REGULATORY_APPROVEDRegulatory approval obtained
SUBSCRIPTION_OPENPrimary subscription open for investors
SUBSCRIPTION_CLOSEDSubscription period ended, allocation in progress
ISSUEDCertificates issued and allocated to investors
ACTIVESukuk is live, periodic distributions being paid
MATUREDReached maturity, final redemption complete
DISSOLVEDEarly dissolution triggered (default or dissolution event)
CANCELLEDIssuance cancelled before completion
DRAFT
--> PENDING_SHARIAH_REVIEW
--> SHARIAH_APPROVED
--> PENDING_REGULATORY
--> REGULATORY_APPROVED
--> SUBSCRIPTION_OPEN
--> SUBSCRIPTION_CLOSED
--> ISSUED
--> ACTIVE
--> MATURED
--> DISSOLVED
--> CANCELLED (from any pre-ACTIVE status)

Sukuk must adhere to the following Shariah principles enforced by the platform:

  1. Tangible Asset Backing: Sukuk must represent ownership in tangible assets, usufructs, or services. Pure monetary receivables cannot be the sole underlying asset for tradable sukuk.

  2. True Sale Requirement: The underlying asset must be genuinely transferred to the SPV (Special Purpose Vehicle). A true sale legal opinion is required.

  3. No Guaranteed Returns: The issuer cannot guarantee a fixed return. Profit distributions must be linked to the performance of the underlying asset. Expected return rates are indicative, not guaranteed.

  4. Prohibition of Interest (Riba): No component of the sukuk structure may involve interest-based lending or borrowing. Purchase undertakings must be at face value or market value, not at a predetermined premium.

  5. Prohibition of Excessive Uncertainty (Gharar): The underlying asset, rental rates, profit-sharing ratios, and all material terms must be clearly specified at issuance.

  6. Permissible Underlying Activities: The underlying asset or business must not involve haram activities (alcohol, gambling, pork, conventional interest-based finance, weapons, tobacco).

  7. Tradability Ratio: For sukuk to be freely tradable on secondary markets, the tangible asset component must represent at least 33% of the total asset pool (per majority scholarly opinion). If the pool is predominantly receivables, sukuk must be traded at par value.

  8. Asset Substitution Restrictions: Replacement of underlying assets requires Shariah board approval and must maintain equivalent or better Shariah compliance standing.

  9. Dissolution Event Handling: In case of default, certificate holders share losses proportional to their ownership. The trustee must act in the best interest of holders, and any recovery must follow Shariah-compliant procedures.

  10. Periodic Shariah Audit: Active sukuk issuances must undergo periodic (at least annual) Shariah audit confirming ongoing compliance.

EventDescription
sukuk.issuance.createdNew sukuk issuance draft created
sukuk.issuance.submitted_for_reviewIssuance submitted for Shariah review
sukuk.issuance.shariah_approvedShariah board approved the issuance
sukuk.issuance.regulatory_approvedRegulatory authority approved the issuance
sukuk.issuance.subscription_openedPrimary subscription period opened
sukuk.issuance.subscription_closedSubscription closed, allocation starting
sukuk.issuance.issuedCertificates issued and allocated
sukuk.issuance.cancelledIssuance cancelled
sukuk.trade.placedSecondary market trade order placed
sukuk.trade.matchedTrade order matched with counterparty
sukuk.trade.settledTrade settlement completed
sukuk.trade.cancelledTrade order cancelled
sukuk.trade.failedTrade settlement failed
sukuk.corporate_action.announcedCorporate action announced (coupon, redemption)
sukuk.corporate_action.executedCorporate action payments distributed
sukuk.corporate_action.dissolutionDissolution event triggered
sukuk.valuation.updatedMark-to-market valuation updated
sukuk.compliance.check_completedCompliance check finished
sukuk.compliance.breach_detectedShariah compliance breach detected

The Sukuk rail connects to other IOF rails and services:

IntegrationRail/ServicePurpose
LedgerledgerDouble-entry accounting for all sukuk transactions and distributions
CompliancecomplianceShariah screening, AML/KYC checks on issuers and investors
ClearingclearingTrade netting and clearing for secondary market transactions
SettlementsettlementDvP settlement coordination with custodians
ReportingreportingRegulatory reporting (IFSB, central bank, exchange disclosures)
AnalyticsanalyticsPortfolio analytics, yield curves, risk metrics
TreasurytreasuryInvestment management and liquidity planning
NotificationsnotificationsInvestor notifications for corporate actions and compliance events
AuditauditFull audit trail for all sukuk lifecycle events
GovernancegovernanceShariah board approval workflows and voting
KYCkycInvestor eligibility verification and accreditation checks
WebhookswebhooksReal-time event delivery to external systems

Every sukuk transaction creates double-entry ledger entries via TigerBeetle:

// Issuance: investor subscription
// DR: Cash/Bank Account (SPV receives funds)
// CR: Sukuk Certificate Liability (investor holds certificates)
// Profit Distribution:
// DR: Rental Income / Profit Account
// CR: Distribution Payable to Certificate Holders
// Redemption at Maturity:
// DR: Sukuk Certificate Liability
// CR: Cash/Bank Account (principal returned to holders)
// Automatic compliance checks at key lifecycle points
const hooks = [
{
trigger: "pre_issuance",
checks: ["shariah_structure_review", "asset_tangibility"],
},
{
trigger: "pre_trading",
checks: ["tradability_ratio", "holder_eligibility"],
},
{
trigger: "periodic",
checks: ["ongoing_shariah_audit", "asset_impairment"],
},
{ trigger: "pre_dissolution", checks: ["dissolution_shariah_review"] },
];

The Sukuk rail is built to comply with:

StandardTitleRelevance
SS-17Investment SukukCore standard governing all sukuk structures
FAS 28 (superseded)Ijarah and Ijarah Muntahia BittamleekAccounting for ijarah-based sukuk
FAS 33Investment in Sukuk, Shares, and Similar InstrumentsAccounting classification and measurement
FAS 34Financial Reporting for Sukuk-holdersReporting from the investor perspective
GS-1Guiding Principles on Shariah GovernanceGovernance framework for Shariah boards
IFSB-19Disclosure Requirements for Islamic Capital MarketsDisclosure standards for sukuk offerings
IFSB-22Revised Capital Adequacy StandardCapital treatment of sukuk holdings

Key requirements from AAOIFI SS-17:

  • Sukuk must not represent debt; they represent ownership in assets, usufructs, or services
  • The underlying assets must be Shariah-compliant
  • Sukuk holders must bear the risk of ownership
  • Purchase undertakings at maturity must be at face value (not a guaranteed premium)
  • The manager/issuer may receive a performance incentive only if actual profit exceeds expected return
  • Trading of sukuk representing predominantly receivables must follow rules of bay al-dayn (sale of debt)

The Sukuk rail is implemented across the following internal packages and services:

Package/ServicePurpose
packages/contracts-core/src/schemas/capital-markets/sukuk.tsZod schemas for sukuk data validation
services/rail-api/src/rails/sukuk/Sukuk rail route handlers and business logic
packages/webhook-core/src/events/treasury-events.tsSukuk-related webhook event definitions
packages/webhook-core/src/events/contract-events.tsContract type enum including SUKUK
registry/contracts/sukuk-offering.jsonSukuk offering circular contract template registry entry
packages/db-core/prisma/Database schema for sukuk issuances, trades, and positions
// Issuance structuring
sukukIssuanceService.create(params: CreateSukukIssuanceInput): Promise<SukukIssuance>
sukukIssuanceService.submitForReview(id: string): Promise<SukukIssuance>
sukukIssuanceService.approve(id: string, fatwaRef: string): Promise<SukukIssuance>
sukukIssuanceService.openSubscription(id: string): Promise<SukukIssuance>
sukukIssuanceService.closeAndAllocate(id: string): Promise<AllocationResult>
// Trading
sukukTradingService.placeOrder(params: PlaceTradeOrderInput): Promise<SukukTrade>
sukukTradingService.matchOrder(orderId: string): Promise<MatchResult>
sukukTradingService.cancelOrder(orderId: string): Promise<SukukTrade>
// Settlement
sukukSettlementService.initiate(tradeId: string): Promise<SukukSettlement>
sukukSettlementService.confirm(settlementId: string): Promise<SukukSettlement>
// Corporate actions
sukukCorporateActionService.announce(params: CorporateActionInput): Promise<CorporateAction>
sukukCorporateActionService.execute(actionId: string): Promise<DistributionResult>
// Valuation
sukukValuationService.getCurrentPrice(issuanceId: string): Promise<SukukValuation>
sukukValuationService.getHistory(issuanceId: string, range: DateRange): Promise<SukukValuation[]>
sukukValuationService.bulkValuate(issuanceIds: string[]): Promise<SukukValuation[]>
// Compliance
sukukComplianceService.runCheck(issuanceId: string, checkType: string): Promise<ComplianceResult>
sukukComplianceService.getStatus(issuanceId: string): Promise<ComplianceStatus>

The Sukuk rail surfaces in the Admin Portal under the following sections:

Admin Portal SectionPathDescription
Sukuk Issuances/admin/sukuk/issuancesList, create, and manage sukuk issuances
Issuance Detail/admin/sukuk/issuances/:idFull issuance detail with lifecycle timeline
Shariah Review Queue/admin/sukuk/shariah-reviewPending Shariah review queue for approvals
Trading Blotter/admin/sukuk/tradesSecondary market trade monitoring
Settlement Dashboard/admin/sukuk/settlementsSettlement status and exception management
Corporate Actions/admin/sukuk/corporate-actionsSchedule and execute distributions and redemptions
Compliance Monitor/admin/sukuk/complianceOngoing compliance status and breach alerts
Valuation Dashboard/admin/sukuk/valuationsMark-to-market pricing and portfolio views

All Sukuk endpoints are available in the API Explorer at /api-explorer/sukuk with:

  • Interactive request builder for each endpoint
  • Live response previews with actual API responses
  • Authentication token management
  • Request/response history
  • Schema documentation auto-generated from OpenAPI spec