Dealing cycles says why each step happens; this guide shows the calls, under the same Tx numbers. A cycle is for an asset paid on the ledger: its subscriptions and redemption claims, priced at one NAV, settle together, and the treasury moves only the net. $TOKEN is an operator’s bearer. Record each order first, as in Subscribe and redeem: POST /v1/subscriptions and POST /v1/redemptions.

Tx 1 · The price source prices each order at the strike

The price source acts from its own node, once per order and at the same NAV for every order: it accepts each subscription’s proposal at that NAV (LotProposal_Accept) and signs each claim’s RedemptionPrice.

Tx 2 and 3 · Open the cycle

One call opens the cycle (its record of every leg at the strike, seen by the fund’s issuer and treasury and by no investor), then sends each investor a payment request for its own order. The result names the net the treasury will move.
curl
Every order must be priced at the same NAV (strike-mismatch), belong to no other cycle (in-dealing-cycle), and be its investor’s only order in the cycle (investor-twice). Once in a cycle, an order is refused alone.

Tx 4 and 5 · Each investor answers

Each investor’s custodian answers its own request, which names the cycle, in its wallet: it makes a CIP-112 allocation on each registry, then accepts the request. GET /v1/dealing-cycles/cy-0930 shows the cycle’s orders, and which of their allocations are on the ledger.

Tx 6 · Settle the cycle

Settling submits one transaction with every order’s mint or burn and payment, each rounded as if it settled alone, and the treasury’s net. Until every allocation is in, the call submits nothing: its result reads state: asked and names what is awaiting.
curl
The cycle settles all or nothing. If either registry refuses a leg, the whole cycle is refused, and a treasury short of the net payout is refused treasury-short. To drop an order, release the cycle and open a new one without it:
curl
Releasing abandons the cycle’s record, cancels the investors’ allocations and withdraws the requests, in one transaction; its orders can then settle alone or in another cycle.

Read it back

A cycle that ended stays readable. GET /v1/dealing-cycles/cy-0930 answers it settled or released, with endedAt and endedUpdateId, the ledger time and update that ended it. A settled cycle’s orders are as they settled, and its paidIn, paidOut and net are what the settle moved. The list keeps the open cycles unless asked for others:
curl
A standing settlement reads the same way: each lists the iterations it paid, and ?state=closed adds the closed ones, read off their last version. Back to the workflow: Dealing cycles