Skip to main content
A redemption starts when you transfer tokens back, and ends when the cash reaches you. Every step is a webhook:

1. Your transfer

investor.transaction.processed with type transfer and processType primary-redemption or redemption-requested is your transfer, as recorded on chain. amount is the tokens you sent, in the token’s base units. The same transaction is in GET /transactions, with tokenIssuanceId null and you as the sender.

2. Matched

Within seconds of your transfer, Securitize matches it to the token’s open redemption, with no action on anyone’s side. investor.redemption.pending says so: it is a request on record, not yet an approval. It gives the redemption its id, the key for every later step, and the same txHash as your transfer: that is how you link the two. amount repeats the tokens redeemed.

3. Approved

Securitize approves the redemption and creates its payment. investor.redemption.confirmed fixes the cash: amount in the minor units of currencyId, to be paid with paymentMethod (wire, usdc, cash-account, check or other).

4. Paid

investor.payout.initiated says the cash left Securitize, and investor.payout.completed that it reached you. Some payment methods complete in one step and send only investor.payout.completed: never wait for investor.payout.initiated before accepting the completion. Both carry the cash amount, paymentMethod, a uetr reference, and sourceTransaction: the transfer that started the redemption, with its txHash, date, token amount and senderWallet. Match the payout to the cash on your account, and sourceTransaction to your transfer. The redemption is reconciled when:

Order and gaps

The steps arrive in the order above in the normal course, but delivery can reorder them: never move a redemption back to an earlier step. A redemption by direct transfer has no rejected or cancelled state. A payout that cannot go out yet, for example because of your payout details, stays approved and is retried, with no event. A redemption that stays pending or confirmed longer than your fund agreement allows is a question for your Securitize contact; send them the redemption id and the transfer’s txHash. The endpoints show the token side of a redemption: the transfer in GET /transactions, and its effect on totalTokens in GET /assets. The cash side is in the webhooks only; GET /webhook-events?eventType=investor.payout.completed reads back every payout sent to you.