The multilateral pool
The classical contract (ʿaqd) is bilateral: a buyer and a seller, a lender and a borrower, two
partners. But much of a real economy is many-sided. A thousand ṣukūk holders. A community of
takāful participants. A muḍāraba’s pool of capital-providers. The pool section is how Deducible
steps past the two-party contract without abandoning the discipline that governs it.
The shape
Section titled “The shape”A pool declares a set of named participants, each with a share in basis points:
pool { holderA: 5000 bps; holderB: 3000 bps; holderC: 2000 bps;}The engine enforces two invariants over it (check_pool, sema.rs):
| Code | Rule |
|---|---|
POOL-1 |
the participants’ shares must total exactly 10000 bps (the whole). |
POOL-2 |
there must be at least two participants. A pool of one is a bilateral contract. |
The citation is plain: a multilateral participant pool, whose shares must total the whole (10000
bps), with at least two of them [scholar-verify].
What it lowers to
Section titled “What it lowers to”Codegen reduces a pool to two parallel on-chain arrays and a constructor guard:
address[] public holders; // the participantsuint16[] public sharesBps; // their shares, parallel to holders
constructor(address[] memory h, uint16[] memory s) { uint256 sum; for (uint256 i = 0; i < s.length; i++) sum += s[i]; require(sum == 10000, "POOL-1: shares must total 10000 bps"); require(h.length >= 2, "POOL-2: a pool needs >= 2 participants"); holders = h; sharesBps = s;}Distribution is a pro-rata loop over those arrays. It is the very same arithmetic the farāʾiḍ
engine uses to apportion an estate by the fixed Qurʾānic shares (faraid.rs). The structure that
divides an inheritance and the structure that pays ṣukūk holders are, mechanically, one.
Where it is used
Section titled “Where it is used”| Class | The pool is… |
|---|---|
sukuk |
the certificate holders (undivided ownership shares). |
takaful |
the participants who donate into the mutual fund. |
mudarabah_pool |
the rabb al-māl pool that provides the capital. |
Why it matters
Section titled “Why it matters”This is the load-bearing primitive behind the move described in
the fourth paper, beyond the bilateral contract. Once “a party” can be
“a pool,” the same compliance-by-construction guarantees that held for two parties hold for a crowd.
The shares still sum to the whole, the loss still follows the capital, and no participant is quietly
guaranteed whole. For the full grammar of the pool section, see
Grammar & AST.