Pricing & Allocation
The acquisition price is the average value of the position you might receive, plus a small surcharge (10% by default).
Expected value
EV = weightedBackingTotal / totalWeight
acquisitionFee = EV · (BPS + surchargeBps) / BPS (surcharge = 1000 bps)
Because weight is inverse to backing, this works out to the harmonic mean of the pool's backings — cheap positions dominate the price exactly as much as they dominate the odds. A pool of cheap positions stays cheap to acquire from even when a few richly-backed positions sit in it: those are drawn so rarely they barely move the price.
The draw
Randomness comes from a commit-reveal draw keyed to your own transaction:
- When you request an acquisition, the draw service generates a secret 32-byte seed and publishes its SHA-256 commit to you — before you pay.
- You pay the acquisition price in a transaction you sign. Its signature is unpredictable to the draw service.
- Selection index =
sha256(seed ‖ paymentSignature) mod totalWeight, walked across position weights. The seed is revealed so you can recompute the draw yourself.
Neither side can steer the outcome alone: the service fixed the seed before seeing your signature, and you can't know the seed when signing.
Settlement order
Requests settle strictly in creation order — a later draw can never jump ahead of an earlier one, so callback timing can't be gamed.
Refund paths
Three situations turn your escrowed fee into a pull-based refund credit instead of a draw:
- Empty pool — every position exited before your request reached the head of the queue.
- Price drift — other acquisitions moved the price beyond your slippage tolerance (10% by default, or your explicit
maxAcquisitionFeebound). - Expiration — the request was never paid within its deadline.
Credits are claimable from the pool page at any time; network transaction fees are not refundable.