Sukuk Rail
Sukuk Rail
Section titled “Sukuk Rail”Islamic trust certificate (bond) endpoints for capital markets issuance, trading, settlement, and lifecycle management.
Overview
Section titled “Overview”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.
Sukuk Types
Section titled “Sukuk Types”The IOF platform supports all major sukuk structures recognized by AAOIFI Shariah Standard No. 17:
| Type | Code | Description |
|---|---|---|
| Ijarah Sukuk | ijarah | Certificates representing ownership in a leased asset. Returns come from rental income. |
| Murabaha Sukuk | murabaha | Certificates funding a cost-plus sale. Returns come from the profit margin on the sale. |
| Mudarabah Sukuk | mudarabah | Certificates representing a trust-based partnership. Returns come from the profit of the venture. |
| Musharakah Sukuk | musharakah | Certificates representing equity participation. Returns come from the partnership profit share. |
| Istisna Sukuk | istisna | Certificates funding a manufacturing or construction contract. Returns from the completed asset. |
| Salam Sukuk | salam | Certificates funding forward purchase of commodities. Returns from the sale of delivered goods. |
| Wakalah Sukuk | wakalah | Certificates where an agent (wakil) manages a pool of assets on behalf of certificate holders. |
| Hybrid Sukuk | hybrid | Certificates backed by a pool combining multiple contract types (e.g., ijarah + murabaha + equity). |
Sub-Rails
Section titled “Sub-Rails”The Sukuk rail is organized into six sub-rails, each responsible for a distinct phase of the sukuk lifecycle.
Issuance
Section titled “Issuance”Handles the structuring, approval, and primary issuance of new sukuk.
Create Sukuk Issuance
Section titled “Create Sukuk Issuance”POST /v1/rails/sukuk/issuancesconst 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 Sukuk Issuance
Section titled “Get Sukuk Issuance”GET /v1/rails/sukuk/issuances/:idList Sukuk Issuances
Section titled “List Sukuk Issuances”GET /v1/rails/sukuk/issuancesQuery parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status (DRAFT, PENDING_APPROVAL, OPEN, CLOSED, etc.) |
sukuk_type | string | Filter by sukuk type (ijarah, murabaha, musharakah, etc.) |
currency | string | Filter by currency code |
issuer_id | string | Filter by issuer organization |
limit | number | Results per page (default: 25, max: 100) |
cursor | string | Pagination cursor |
Update Sukuk Issuance
Section titled “Update Sukuk Issuance”PUT /v1/rails/sukuk/issuances/:idSubmit for Shariah Review
Section titled “Submit for Shariah Review”POST /v1/rails/sukuk/issuances/:id/submit-reviewApprove Issuance
Section titled “Approve Issuance”POST /v1/rails/sukuk/issuances/:id/approveOpen Subscription
Section titled “Open Subscription”POST /v1/rails/sukuk/issuances/:id/open-subscriptionClose Subscription and Allocate
Section titled “Close Subscription and Allocate”POST /v1/rails/sukuk/issuances/:id/close-subscriptionCancel Issuance
Section titled “Cancel Issuance”DELETE /v1/rails/sukuk/issuances/:idTrading
Section titled “Trading”Handles secondary market order management for sukuk certificates.
Place Trade Order
Section titled “Place Trade Order”POST /v1/rails/sukuk/tradesconst 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 Trade
Section titled “Get Trade”GET /v1/rails/sukuk/trades/:idList Trades
Section titled “List Trades”GET /v1/rails/sukuk/tradesCancel Trade
Section titled “Cancel Trade”DELETE /v1/rails/sukuk/trades/:idSettlement
Section titled “Settlement”Handles delivery-versus-payment (DvP) settlement of sukuk trades and coupon distributions.
Initiate Settlement
Section titled “Initiate Settlement”POST /v1/rails/sukuk/settlementsconst 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 Settlement
Section titled “Get Settlement”GET /v1/rails/sukuk/settlements/:idList Settlements
Section titled “List Settlements”GET /v1/rails/sukuk/settlementsConfirm Settlement
Section titled “Confirm Settlement”POST /v1/rails/sukuk/settlements/:id/confirmFail Settlement
Section titled “Fail Settlement”POST /v1/rails/sukuk/settlements/:id/failCorporate Actions
Section titled “Corporate Actions”Handles coupon (profit distribution) payments, redemptions, calls, puts, and other lifecycle events.
Create Corporate Action
Section titled “Create Corporate Action”POST /v1/rails/sukuk/corporate-actionsconst 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 Corporate Action
Section titled “Get Corporate Action”GET /v1/rails/sukuk/corporate-actions/:idList Corporate Actions
Section titled “List Corporate Actions”GET /v1/rails/sukuk/corporate-actionsExecute Corporate Action
Section titled “Execute Corporate Action”POST /v1/rails/sukuk/corporate-actions/:id/executeCorporate Action Types
Section titled “Corporate Action Types”| Type | Code | Description |
|---|---|---|
| Profit Distribution | profit_distribution | Periodic coupon payment to certificate holders |
| Partial Redemption | partial_redemption | Redemption of a portion of outstanding certificates |
| Final Redemption | final_redemption | Full redemption at maturity |
| Early Redemption | early_redemption | Issuer-initiated early buyback (call) |
| Put Exercise | put_exercise | Holder-initiated early redemption (put) |
| Asset Substitution | asset_substitution | Replacement of underlying asset with equivalent asset |
| Dissolution Event | dissolution_event | Triggered by default or underlying asset impairment |
Valuation
Section titled “Valuation”Handles mark-to-market pricing, yield calculations, and portfolio valuation for sukuk positions.
Get Current Valuation
Section titled “Get Current Valuation”GET /v1/rails/sukuk/valuations/:issuance_idconst 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 Historical Valuations
Section titled “Get Historical Valuations”GET /v1/rails/sukuk/valuations/:issuance_id/historyBulk Portfolio Valuation
Section titled “Bulk Portfolio Valuation”POST /v1/rails/sukuk/valuations/bulkCompliance
Section titled “Compliance”Handles Shariah compliance screening, ongoing monitoring, and regulatory reporting specific to sukuk.
Run Compliance Check
Section titled “Run Compliance Check”POST /v1/rails/sukuk/compliance/checkconst 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 Compliance Status
Section titled “Get Compliance Status”GET /v1/rails/sukuk/compliance/:issuance_idList Compliance Reports
Section titled “List Compliance Reports”GET /v1/rails/sukuk/complianceContract Status Lifecycle
Section titled “Contract Status Lifecycle”Sukuk issuances follow a multi-stage lifecycle:
| Status | Description |
|---|---|
DRAFT | Issuance created, structuring in progress |
PENDING_SHARIAH_REVIEW | Submitted to Shariah advisory board for fatwa |
SHARIAH_APPROVED | Shariah board has issued an approval fatwa |
PENDING_REGULATORY | Submitted to regulatory authority for approval |
REGULATORY_APPROVED | Regulatory approval obtained |
SUBSCRIPTION_OPEN | Primary subscription open for investors |
SUBSCRIPTION_CLOSED | Subscription period ended, allocation in progress |
ISSUED | Certificates issued and allocated to investors |
ACTIVE | Sukuk is live, periodic distributions being paid |
MATURED | Reached maturity, final redemption complete |
DISSOLVED | Early dissolution triggered (default or dissolution event) |
CANCELLED | Issuance 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)Shariah Compliance Rules
Section titled “Shariah Compliance Rules”Sukuk must adhere to the following Shariah principles enforced by the platform:
-
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.
-
True Sale Requirement: The underlying asset must be genuinely transferred to the SPV (Special Purpose Vehicle). A true sale legal opinion is required.
-
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.
-
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.
-
Prohibition of Excessive Uncertainty (Gharar): The underlying asset, rental rates, profit-sharing ratios, and all material terms must be clearly specified at issuance.
-
Permissible Underlying Activities: The underlying asset or business must not involve haram activities (alcohol, gambling, pork, conventional interest-based finance, weapons, tobacco).
-
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.
-
Asset Substitution Restrictions: Replacement of underlying assets requires Shariah board approval and must maintain equivalent or better Shariah compliance standing.
-
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.
-
Periodic Shariah Audit: Active sukuk issuances must undergo periodic (at least annual) Shariah audit confirming ongoing compliance.
Webhooks and Events
Section titled “Webhooks and Events”| Event | Description |
|---|---|
sukuk.issuance.created | New sukuk issuance draft created |
sukuk.issuance.submitted_for_review | Issuance submitted for Shariah review |
sukuk.issuance.shariah_approved | Shariah board approved the issuance |
sukuk.issuance.regulatory_approved | Regulatory authority approved the issuance |
sukuk.issuance.subscription_opened | Primary subscription period opened |
sukuk.issuance.subscription_closed | Subscription closed, allocation starting |
sukuk.issuance.issued | Certificates issued and allocated |
sukuk.issuance.cancelled | Issuance cancelled |
sukuk.trade.placed | Secondary market trade order placed |
sukuk.trade.matched | Trade order matched with counterparty |
sukuk.trade.settled | Trade settlement completed |
sukuk.trade.cancelled | Trade order cancelled |
sukuk.trade.failed | Trade settlement failed |
sukuk.corporate_action.announced | Corporate action announced (coupon, redemption) |
sukuk.corporate_action.executed | Corporate action payments distributed |
sukuk.corporate_action.dissolution | Dissolution event triggered |
sukuk.valuation.updated | Mark-to-market valuation updated |
sukuk.compliance.check_completed | Compliance check finished |
sukuk.compliance.breach_detected | Shariah compliance breach detected |
Integration Points
Section titled “Integration Points”The Sukuk rail connects to other IOF rails and services:
| Integration | Rail/Service | Purpose |
|---|---|---|
| Ledger | ledger | Double-entry accounting for all sukuk transactions and distributions |
| Compliance | compliance | Shariah screening, AML/KYC checks on issuers and investors |
| Clearing | clearing | Trade netting and clearing for secondary market transactions |
| Settlement | settlement | DvP settlement coordination with custodians |
| Reporting | reporting | Regulatory reporting (IFSB, central bank, exchange disclosures) |
| Analytics | analytics | Portfolio analytics, yield curves, risk metrics |
| Treasury | treasury | Investment management and liquidity planning |
| Notifications | notifications | Investor notifications for corporate actions and compliance events |
| Audit | audit | Full audit trail for all sukuk lifecycle events |
| Governance | governance | Shariah board approval workflows and voting |
| KYC | kyc | Investor eligibility verification and accreditation checks |
| Webhooks | webhooks | Real-time event delivery to external systems |
Ledger Integration
Section titled “Ledger Integration”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)Compliance Integration
Section titled “Compliance Integration”// Automatic compliance checks at key lifecycle pointsconst 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"] },];AAOIFI Standards References
Section titled “AAOIFI Standards References”The Sukuk rail is built to comply with:
| Standard | Title | Relevance |
|---|---|---|
| SS-17 | Investment Sukuk | Core standard governing all sukuk structures |
| FAS 28 (superseded) | Ijarah and Ijarah Muntahia Bittamleek | Accounting for ijarah-based sukuk |
| FAS 33 | Investment in Sukuk, Shares, and Similar Instruments | Accounting classification and measurement |
| FAS 34 | Financial Reporting for Sukuk-holders | Reporting from the investor perspective |
| GS-1 | Guiding Principles on Shariah Governance | Governance framework for Shariah boards |
| IFSB-19 | Disclosure Requirements for Islamic Capital Markets | Disclosure standards for sukuk offerings |
| IFSB-22 | Revised Capital Adequacy Standard | Capital 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)
Internal Services and Functions
Section titled “Internal Services and Functions”The Sukuk rail is implemented across the following internal packages and services:
| Package/Service | Purpose |
|---|---|
packages/contracts-core/src/schemas/capital-markets/sukuk.ts | Zod 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.ts | Sukuk-related webhook event definitions |
packages/webhook-core/src/events/contract-events.ts | Contract type enum including SUKUK |
registry/contracts/sukuk-offering.json | Sukuk offering circular contract template registry entry |
packages/db-core/prisma/ | Database schema for sukuk issuances, trades, and positions |
Key Internal Functions
Section titled “Key Internal Functions”// Issuance structuringsukukIssuanceService.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>
// TradingsukukTradingService.placeOrder(params: PlaceTradeOrderInput): Promise<SukukTrade>sukukTradingService.matchOrder(orderId: string): Promise<MatchResult>sukukTradingService.cancelOrder(orderId: string): Promise<SukukTrade>
// SettlementsukukSettlementService.initiate(tradeId: string): Promise<SukukSettlement>sukukSettlementService.confirm(settlementId: string): Promise<SukukSettlement>
// Corporate actionssukukCorporateActionService.announce(params: CorporateActionInput): Promise<CorporateAction>sukukCorporateActionService.execute(actionId: string): Promise<DistributionResult>
// ValuationsukukValuationService.getCurrentPrice(issuanceId: string): Promise<SukukValuation>sukukValuationService.getHistory(issuanceId: string, range: DateRange): Promise<SukukValuation[]>sukukValuationService.bulkValuate(issuanceIds: string[]): Promise<SukukValuation[]>
// CompliancesukukComplianceService.runCheck(issuanceId: string, checkType: string): Promise<ComplianceResult>sukukComplianceService.getStatus(issuanceId: string): Promise<ComplianceStatus>Admin Portal Mapping
Section titled “Admin Portal Mapping”The Sukuk rail surfaces in the Admin Portal under the following sections:
| Admin Portal Section | Path | Description |
|---|---|---|
| Sukuk Issuances | /admin/sukuk/issuances | List, create, and manage sukuk issuances |
| Issuance Detail | /admin/sukuk/issuances/:id | Full issuance detail with lifecycle timeline |
| Shariah Review Queue | /admin/sukuk/shariah-review | Pending Shariah review queue for approvals |
| Trading Blotter | /admin/sukuk/trades | Secondary market trade monitoring |
| Settlement Dashboard | /admin/sukuk/settlements | Settlement status and exception management |
| Corporate Actions | /admin/sukuk/corporate-actions | Schedule and execute distributions and redemptions |
| Compliance Monitor | /admin/sukuk/compliance | Ongoing compliance status and breach alerts |
| Valuation Dashboard | /admin/sukuk/valuations | Mark-to-market pricing and portfolio views |
API Explorer Mapping
Section titled “API Explorer Mapping”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
Next Steps
Section titled “Next Steps”- Murabaha Rail - Cost-plus financing
- Ijarah Rail - Islamic leasing
- Musharakah Rail - Partnership finance
- Treasury Rail - Treasury and investment management
- Compliance Rail - Shariah compliance framework
- Ledger Rail - Double-entry accounting
- Contracts Rail - General contract management