$TOKEN is an operator’s bearer.
Subscribe, paid on the ledger
Tx 1 · Record the order
A subscription is priced later, at the NAV (forward pricing). A frozen investor, a held fund or a policy limit refuses it here, with the rule.paymentInstrumentId names the payment asset, here TD. It may be left out while the fund takes one. A fund that takes two, such as a tokenized deposit and a stablecoin, refuses an order that names none (payment-instrument-required).
curl
Tx 2 · The price source prices the subscription
The price source signs the subscription’s price from its own node: it accepts the subscription’s proposal with the NAV it settles at (LotProposal_Accept), and the subscription reads priced.
Tx 3 · Ask for the payment
The first settle call sends the investor the payment request: the units at the subscription’s NAV, rounded up to the payment asset’s decimals. The operation’s result readsorderState: awaiting-payment and the amount.
curl
Tx 4 to 6 · The investor pays
In its wallet, the investor’s custodian makes a CIP-112 allocation of the payment asset on that asset’s registry and another for the receipt of the units on the fund’s registry (AllocationFactory_Allocate), then accepts the request (AllocationRequest_Accept). GET /v1/holders/inv-001/allocation-requests lists the requests waiting on it. The subscription’s paymentLeg names the leg the payment allocation carries (lot-td-1-payment), who pays whom and how much, and the allocation once it is made: allocated is true when it is exactly what the venue asks.
Tx 7 · Settle
The same call again, under a new key, mints the units and makes the payment in one transaction (order: minted); the subscription reads delivered. Before the investor has answered, it submits nothing and names the allocations it awaits. A settle that is refused leaves its problem on the subscription’s reads, as lastFailure.
curl
Subscribe, paid off the ledger
Tx 1 and 2 · Record the order, priced
Record the subscription withPOST /v1/subscriptions, as above (here lot-1), and the price source prices it. The cash is then wired to the fund’s account, off the ledger. Send the bank’s reference for the wire as paymentReference: the order carries it and its reads echo it.
Tx 3 · The investor’s custodian requests the mint
The request is made in the custodian’s wallet and names the subscription in its reference, heremint:lot-1 (AllocationFactory_RequestMint).
Tx 4 · The issuer mints, once the cash is in
The issuer accepts the mint request on its DA Registry once its bank confirms the cash (MintRequest_Accept), or rejects it with a reason the investor reads.
Tx 5 · Deliver the subscription against that mint
The venue books the subscription against a mint of exactly its units, to its investor, made after the order, and only once. Before the mint is on the ledger, the delivery is refusedno-mint.
curl
Redeem, paid out on the ledger
Tx 1 · Record the claim
The investor must be admitted and hold the units free; a held fund and the fund’s policy (a lock-up, a daily limit) refuse here. An investor can claim its own redemption with its own bearer. The claim names its payment asset as a subscription does.curl
Tx 2 · The price source prices the claim
From its own node, the price source signs this claim’s price as aRedemptionPrice that only it signs. Pricing the claim again corrects it.
Tx 3 · Ask for the payout
POST /v1/redemptions/red-td-1:settle sends the payout request, priced at the price source’s price of this claim and rounded down to the payment asset’s decimals. Until the claim is priced, it is refused not-priced.
Tx 4 to 6 · The investor answers
As for a subscription, the investor’s custodian answers in its wallet: it sets the units aside on the fund’s registry and readies the payout’s receipt on the payment asset’s registry (CIP-112 allocations), then accepts the request.Tx 7 · Settle
The same call again, under a new key, burns the units and pays the investor from the fund’s treasury account in one transaction (order: redeemed); the claim reads settled. A treasury short of the payment asset is refused treasury-short, and nothing moves.
curl
Redeem, paid out off the ledger
Tx 1 · Record the claim
Record the claim withPOST /v1/redemptions, as above (here red-1).
Tx 2 and 3 · The investor asks for the burn; the issuer burns
The investor’s custodian requests the burn in its wallet and names the claim; the request locks the units to the issuer (AllocationFactory_RequestBurn). The issuer accepts it on its DA Registry, which burns them (BurnRequest_Accept).
Tx 4 · Settle the claim against that burn
The claim readssettled, and the fund pays the proceeds through its bank, off the ledger. Before the burn, the call is refused not-funded or not-burned.
curl
Withdraw or release
Several orders of one strike can settle together, netted: see Dealing cycles.
Back to the workflows: Subscriptions · Redemptions

