Skip to content

Sadaqah Rail

Charitable donation processing, campaign management, and impact tracking.

The Sadaqah rail manages voluntary charitable giving (Sadaqah) and recurring pledged donations (Sadaqah Jariyah). Unlike Zakat, which is obligatory and has strict calculation rules, Sadaqah is voluntary and can be directed to any lawful charitable purpose without minimum thresholds.

The rail supports one-time donations, recurring pledges, campaign-based fundraising, and corporate matching programs. Each donation is tracked from pledge through disbursement to the recipient organization, with full transparency and audit trails.

Sadaqah Jariyah (ongoing charity) is a distinct concept where the donor establishes a recurring benefit — such as funding a water well, scholarship, or medical facility — whose rewards continue beyond the initial contribution. The platform models these as long-lived projects with milestone tracking and impact reporting.

All donations flow through the Ledger rail for transparent accounting, and the Compliance rail ensures that recipient organizations meet eligibility criteria and that funds are disbursed according to donor intent.

POST /v1/rails/sadaqah/donations
const donation = await iof.sadaqah.create({
amount: 5000,
currency: "USD",
donor_id: "cpty_donor_001",
type: "one_time",
category: "education",
recipient_org_id: "org_charity_xyz",
anonymous: false,
dedication: "In memory of Ahmad Hassan",
});

Response:

{
"id": "sdq_xyz",
"type": "sadaqah",
"subtype": "one_time",
"status": "PENDING",
"amount": 5000,
"currency": "USD",
"category": "education",
"recipient_org_id": "org_charity_xyz",
"anonymous": false,
"tax_receipt_eligible": true,
"created_at": "2024-01-15T10:30:00Z"
}
POST /v1/rails/sadaqah/pledges
const pledge = await iof.sadaqah.createPledge({
amount: 500,
currency: "USD",
donor_id: "cpty_donor_001",
frequency: "monthly",
project_id: "proj_water_well_003",
duration_months: 24,
});
GET /v1/rails/sadaqah/donations/:id
GET /v1/rails/sadaqah/donations
POST /v1/rails/sadaqah/campaigns

Create a fundraising campaign with a target amount and deadline.

GET /v1/rails/sadaqah/campaigns/:id
POST /v1/rails/sadaqah/donations/:id/disburse

Release funds to the recipient organization.

POST /v1/rails/sadaqah/donations/:id/receipt
TypeDescription
one_timeSingle charitable donation
recurringScheduled recurring donations
jariyahOngoing charity tied to a long-lived project
campaignDonation directed to a specific campaign
matchedCorporate-matched donation
StatusDescription
PENDINGDonation received, awaiting processing
CONFIRMEDPayment confirmed
DISBURSEDFunds released to recipient
RECEIPTEDTax receipt generated
REFUNDEDDonation refunded to donor
  • Payments Rail — processes donation payments and recurring charge schedules
  • Ledger Rail — records all donation and disbursement transactions
  • Waqf Rail — Sadaqah Jariyah projects may establish Waqf endowments
  • Reporting Rail — donor statements, campaign reports, and impact summaries
  • Zakat Rail — donors may combine Zakat and Sadaqah in a single flow
EventDescription
sadaqah.donation.createdDonation record created
sadaqah.donation.confirmedPayment confirmed
sadaqah.donation.disbursedFunds released to recipient
sadaqah.pledge.createdRecurring pledge established
sadaqah.pledge.chargedRecurring pledge payment collected
sadaqah.campaign.completedCampaign reached target or ended
sadaqah.receipt.generatedTax receipt issued